Skip to main content

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

  1. 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.

  2. 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.

  3. 03

    Subscriptions and paywalls

    RevenueCat over StoreKit and Google Play Billing, with entitlements synced to your backend and to web billing.

  4. 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

    GymFast

    GymFast'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

    GymFast

    Each 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

    NoteTube

    NoteTube'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

    NoteTube

    Stripe 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.

  1. 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

  2. 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

  3. 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.

Scope my React Native app

No pitch deck. You own the code from day one.

contact@acasalabs.com