Overview

Raven is an end-to-end no code solution to creating and deploying apps to multiple platforms. Raven currently automates apps for Android, iOS and Web Apps (PWAs) and deployments for Google Play, App Store and Firebase.
Features
Raven provides features that make the process as simple, efficient and automated as possible by focusing on minimal decision making, seamless DevOps integration and redundancy safety.
App Designer. With a design system under the hood, App Designer allows you to create themes, styles and assets unique to each app.
Icon Creator. Raven comes with an Icon creator which allows you to create icons on platform without the need to use a design program. With over 1000s icons and 3 variations, this is great tool if assets are not readily available.
Screenshot Automation. One of the laborious tasks of launching an app on Google Play or App Store is the requirement to provide screenshots per device. With Raven you can automate your screenshots and apply dynamic device frames, text and themes.
Metadata Editor. With Raven you can manage and syndicate your app's metadata (store listing, screenshots, availability) from one place and syndicate to all.
Deployments. Raven build machines automate the devops process to sign and deploy apps to various destinations. The build process has built-in redundancy checks to ensure apps are built and deployed correctly. Deployments can run in parallel meaning that you can deploy multiple apps simultaneously, perfect when upgrading many existing apps.
Tests & Previews. Raven also provides the ability to deploy test and preview apps to allow you to invite testers to preview a new or updated app. With test builds you can download app files to install on a local device or upload to remote testing service. Great for device specific testing or capturing your own screenshots.
Single Sign-On. Out the box raven provides single sign on integration to Google, Apple, Microsoft and Github.
Limitations
Raven automates almost everything that can be automated, but there will be a few minimal processes you will need to manual perform per app. Some of these processes may become automated in the future as various integrations release new features and abilities.
Google Play Limitations
Everyday uses the official Google Play Developer API to deploy android apps to the Google Play Store. Before fully automating android deployments you will need to manually publish an Alpha track. To read more about this process please see Deployments section.
DeploymentsFirebase Limitations
Everyday uses Firebase's CLI to deploy web apps. The CLI currently does not support full automation on domains. To see how to setup custom domains view the Custom Domains page.
We have requested this feature with the Firebase team and they have indicated that this is in their pipeline. Once this released we will make custom domains fully automated.
Custom DomainsApple Push Notifications
While Raven uses Firebase to automate and handle push notifications, for Apple apps you will be required to setup APNs (Apple Push Notification Service) Authentication Key. You create this key once for a Apple Developer account and will assign to the Apple App registered on Firebase.
Huawei & US Sanctions
In 2020, the US Government imposed sanctions on Huawei Technologies and its affiliates, resulting in Huawei not having access to Google's core Android operating system. Due to this sanction, Hauwei devices are no longer able to use important Google Service dependencies that we rely on for our Android development.
Due to the lack of developer community buy-in for HarmonyOS and the global market share (Android 70%, 29% iOS, 1% Others), non-Android and non-iOS devices are recommended to use the Progressive Web Application (PWA) indefinitely. While PWAs do not provide all native functionality they are perfectly capable of:
Receiving push notifications.
Installable onto devices.
Designed to deliver near-native experience.
For now, PWA cannot store content items completely offline but we have designed them to be network usage efficient where possible. We have redirected resources to PWA enhancements instead of the costly development of separate code bases.
Security
Raven will require keys and details to setup destination APIs, single sign-on and signing keys (key stores). With each credential type, security has been considered by what is needed, what is stored and where it is stored. All details are stored on platforms encrypted and transmitted to build machines securely.
Destination APIs. Raven stores keys & details for destinations encrypted and for a minimal time only. Once a build machine has verified the destination, these details are then removed / obfuscated from the platform. The build machines are isolated from remote access and connect to the platform via a secure API with IP whitelisting.
When destination keys and details are transmitted they are additionally encrypted with a shared secret using HMAC SHA 256.
Android Key Stores. Android Key Stores are created and stored on the build machines. These keys are never transmitted between the build machine and platform.
Single Sign-On. Raven stores keys and details encrypted with a platform secret key. This means that the information given is not stored on the database as plain text but encrypted by a platform key. When SSO details are needed the platform decrypts this information in code / at runtime using the platform key.
Last updated