SoruVerse
Campus Q&A and community app
Authentication, live messaging on Firestore and Cloud Functions; files sit on Cloudflare R2 and open through short-lived signed links.
See the productAll of them are live; store pages and details are on the Products page.
Campus Q&A and community app
Authentication, live messaging on Firestore and Cloud Functions; files sit on Cloudflare R2 and open through short-lived signed links.
See the productAI video app
React Native Firebase for Google and Apple sign-in, notifications, Analytics, Crashlytics and Remote Config; the back end verifies the Firebase ID token.
See the productAI budgeting coach
Notifications, Analytics and Crashlytics; Remote Config switches the onboarding paywall and sign-in screens on and off without shipping an update.
See the productPlatform for education institutions
Google and Apple sign-in on the web app runs through Firebase Authentication; user records and all other data stay in our own PostgreSQL database.
See the productFirebase is Google’s set of ready-made back-end services for mobile and web apps: authentication, the Firestore database, file storage, serverless functions, push notifications (Cloud Messaging), usage analytics, crash reporting and remote configuration (Remote Config). All of it works without setting up or running servers, so it gets a new app to its first release quickly.
Firebase is not one thing; in each product we install only the modules it needs. SoruVerse uses Firebase’s web SDK with Expo, while Rigel and LydiaVault use the React Native Firebase library.
| Module | What it does | Where we use it |
|---|---|---|
| Authentication | Email and password, phone verification, Google and Apple sign-in | SoruVerse, Rigel, Hippotenus (web) |
| Cloud Firestore | A document database; screens see changes instantly | SoruVerse |
| Cloud Functions | Server code: triggers that run when data changes, and functions the app calls | SoruVerse |
| Cloud Messaging | Push notifications | Rigel, LydiaVault |
| Analytics and Crashlytics | Usage events and crash reports | Rigel, LydiaVault |
| Remote Config | Changing settings and flows without shipping an update | Rigel, LydiaVault |
In SoruVerse the chat list and the unread-message counter listen to Firestore, so the screen updates by itself when a new message arrives. A Cloud Function that runs when shared content is approved credits reward points to its author, and only on the change from unapproved to approved. Course files sit on Cloudflare R2: when the app wants to open one, it asks a callable function for a short-lived signed link, and the function turns away anyone who is not signed in.
Rigel and LydiaVault read a settings bundle from Remote Config at launch. LydiaVault uses it to set the minimum supported version per platform and whether the onboarding paywall and sign-in screen are shown; Rigel uses it to choose which version of the onboarding flow opens and whether the paywall shows a close button. These decisions change without waiting for store review. In both products the back end sends notifications with the Firebase Admin SDK.
Access to Firebase’s native iOS and Android SDKs from React Native. We use it in Rigel and LydiaVault.
Verifying ID tokens and sending notifications on the server. We use it in the server code of Rigel, LydiaVault, Hippotenus and SoruVerse.
Object storage for large files, served through signed links. We use it with Cloud Functions in SoruVerse.
For subscriptions, with Remote Config deciding how the paywall appears in onboarding. We use it in Rigel and LydiaVault.
You don’t have to use Firebase for everything. In Hippotenus, Firebase only provides Google and Apple sign-in: the API verifies the ID token Firebase issues and opens its own session, and user records and all other data stay in our own PostgreSQL database. In Rigel, too, authentication, notifications and analytics are on Firebase while the business logic lives in a separate serverless back end. Signs that a Firebase app is ready for this kind of split:
The move usually happens in pieces rather than all at once: authentication, notifications and crash reporting stay on Firebase while data and business rules move to your own API.
We talk about who the app is for, what data it will keep, and whether Firebase or your own server suits it better.
We write down the Firebase modules to use, the data structure, who can access which data, and the acceptance criteria.
Every week you try the new build on your own device; your feedback sets the next week’s priorities.
A senior QA tests the build before release, and the access rules are part of that testing.
We fix the bugs that surface in this period free of charge; after that you can continue with monthly maintenance.
Timelines and budget ranges are published on our mobile app development, MVP and pricing pages; everything on this page follows the same figures.
There is a free tier to start with; as usage grows you are billed for reads, writes, storage and function runs, and some services such as Cloud Functions need the pay-as-you-go plan. We go through the expected cost for your usage during discovery.
Who can reach which data is set with Firestore security rules or by verifying the ID token on the server. In Rigel and Hippotenus, when a user signs in through Firebase, the back end opens no session without verifying the ID token Firebase issued; in SoruVerse file links are given only to signed-in users.
Yes, and usually in pieces rather than all at once. As in Hippotenus, authentication can stay on Firebase while the data lives in your own database; we plan which part moves when, together.
A perpetual licence to use the software and user documentation. If you want the source code transferred to you, that is possible for an extra fee, stated separately in the quote.
In a free 30-minute scoping call we work out what your app needs and the choice between Firebase and your own server together.