React Native development
One codebase, both app stores, one team.
Acasa Labs is a React Native development company that builds with Expo. One codebase ships your app to the App Store and Google Play, next to a web app on the same backend. Three of our products run this way: GymFast with three apps on one API, NoteTube, and Kraftr. You own the code and both store accounts.
The problem
Two native teams is twice the cost and half the speed.
Building iOS in Swift and Android in Kotlin means two codebases, two teams, and features that land on one platform weeks before the other. For most products that is not worth it. React Native with Expo gives you native screens, native performance for normal app work, and one team. The trade-off is knowing where it needs native code, and planning for that early.
What we build with React Native
- 01
iOS and Android apps from one codebase
Expo and React Native with TypeScript, sharing types and API clients with your Next.js web app where it helps.
- 02
Several apps on one backend
Separate apps for staff, customers, or partners, each with its own role, built from one monorepo and one API.
- 03
Subscriptions and paywalls
RevenueCat over StoreKit and Google Play Billing, with entitlements synced to your backend and to web billing.
- 04
Releases without waiting on review
Store builds for new features, over-the-air updates for fixes, crash reporting, and analytics from the first release.
From production
How we build React Native apps, from the ones we run.
Three apps, one API
GymFastGymFast's staff, member, and trainer apps share a token-authenticated mobile API with the web dashboard, in a Turborepo monorepo. A six-level role hierarchy is enforced in the database with row-level security, not in app code.
Theming from data
GymFastEach gym's brand colors theme the web dashboard and the mobile apps from one setting, so a member opens an app that looks like their gym, not like GymFast.
The AI stays on the server
NoteTubeNoteTube's Expo app never holds a model key. Chat streams in from a separate FastAPI service, the same one the web app and the Chrome extension use.
Web and app billing in agreement
NoteTubeStripe on the web, RevenueCat in the apps, and a scheduled job that reconciles subscriptions between them.
Honest trade-offs
When React Native is the wrong call
If the app is the platform feature itself, like a widget-first iPhone app, heavy on-device processing, or deep background work, native code is the better choice. We built Pullsy's iOS app in SwiftUI for that reason. If you have only a web audience and no reason to be in a store, a fast web app may be all you need. We will tell you which before you pay for an app.
What we reach for
- Expo, React Native, TypeScript
- Turborepo monorepos
- RevenueCat
- Supabase, FastAPI, or your API
- Push notifications, deep links
- Sentry, PostHog
Proof
Shipped, not pitched.
01Our product
GymFast
Members, billing, classes, and workout plans for a gym, in one platform and three apps.
Gym management software for gym owners and personal trainers. A web dashboard and a staff app run members, plans, invoices, enquiries, and classes; members get their own branded app; GymFast Pro gives independent trainers the same tools for their clients.
Web dashboard · iOS · Android · Staff, member, and trainer apps
02Our product
NoteTube
A lecture becomes a study system: chat, flashcards, quizzes, all grounded in the source.
An AI learning platform that turns PDFs, YouTube lectures, recordings, and notes into a structured notebook with grounded chat, spaced-repetition flashcards, and graded quizzes.
Web · iOS · Android · Chrome extension · MCP server
03Our product
Kraftr
One flat-lay photo becomes catalog-ready 4K on-model imagery.
An AI catalog studio for fashion and jewelry brands. Upload one flat-lay or hanger shot per SKU and get on-model imagery at up to 4K, in ten aspect ratios, sized for Amazon, Myntra, Flipkart, and Shopify.
Web · iOS · Android
Questions
React Native questions we get asked.
Is React Native good enough for a production app?
For most products, yes. GymFast, NoteTube, and Kraftr are all React Native apps in both stores. Where an app needs something React Native does not cover well, we write that part as a native module instead of the whole app.
React Native or Flutter?
Both can build a good app. We use React Native because it shares a language, types, and often code with a React or Next.js web app, which most of our clients also have. That means one team for web and mobile.
Why Expo instead of bare React Native?
Expo handles builds, signing, over-the-air updates, and most native APIs, so time goes into the product instead of the toolchain. You can still add custom native code when you need it.
Can you take over our existing React Native app?
Yes. We start with an audit of the dependencies, the build setup, and the crash reports, upgrade what is stuck, and then ship features.
Can the app work offline?
Yes, for the parts that need it. We save work on the device and sync when the connection returns. GymFast keeps an in-progress workout on the phone for exactly this reason.
React Native development
One app for both stores. Let's scope it.
Tell us who uses it and what they do in it. We will come back with what we would build first, and whether React Native is the right choice for it.


