Skip to content
STACK IT FIRST
Install the skills
02 · Mobile · Growth · Consumer

Expo + EAS + your own typed API

The same Expo app, now behind a versioned API you own, with device tests and crash reporting before every build.
Agent fit4/5 Growth · Charge for it Reviewed

The stack

Framework
Expo + Expo Router, EAS Build and Update
Data
Your API (Hono or NestJS) over Postgres, with a CDN for media
Auth
Your provider, with refresh tokens handled in one place
Hosting
EAS for builds and updates, store releases on a cadence
Also
  • Sentry for crashes, PostHog for analytics
  • Maestro flows on real devices in CI
  • Push through your API, not straight from a hosted backend
AGENTS.md + real projects on STACK IT FAST (opens in a new tab)

Why agents do well here

4/5
  • A versioned API with generated types lets the agent change the backend without breaking the users still on last month's build.
  • Maestro flows are YAML the agent can read and extend, turning "does the feed still scroll" into a check it runs itself.
  • Everything is still TypeScript; native changes go through config plugins and remain rare.

Avoid at this tier

  • Breaking API changes; add fields, never remove them, until the old version's usage is zero.
  • A custom native module for performance you have not measured with the profiler.
  • Shipping a store build without the Maestro flows passing.

How it fits together

Growth moves the backend into your hands and the release process into CI. The app is still Expo, but every API call goes through a versioned, typed client, and every build runs device flows before it is submitted.

Folder layout

apps/mobile/      app/, src/features/, maestro/ (flows)
apps/api/         your backend with /v1 routes and OpenAPI
packages/api-client/  generated per API version

First five decisions

Lock these in before the agent writes the second feature. Each one removes a choice it would otherwise make differently every time.

  1. 01 Versioned API paths
  2. 02 Generated client
  3. 03 Sentry and analytics before launch
  4. 04 Maestro on the three flows that matter
  5. 05 A release cadence that is a calendar, not a reaction

When to move on

Stay here until the product forces the next tier. You are ready for Scale when:

  • You need background sensors, heavy graphics, or platform health and payment APIs
  • iOS and Android have separate owners
  • Startup time and binary size are tracked as product metrics
  • Compliance requires platform-native security features
Scale · Consumer React Native with native modules, or native apps behind one API Cross-platform where it works, native where it must, and a generated API client so both share one contract. Next tier

Same tier, other profiles