Build a Mobile app with Expo + React Native
iOS + Android from a single codebase, using Expo's hosted build pipeline so you don't need a Mac.
One codebase, two app stores, no Mac required
The default reason solo devs avoid mobile is the toolchain. Expo + EAS Build collapses it: your iOS build runs on Expo's macOS workers, your Android build runs in their Linux containers, your codebase is JavaScript. I shipped VITAL end-to-end on a Chromebook.
What you get
- Universal app — iOS + Android from one codebase
- Native features — camera, GPS, push notifications, biometrics, offline-first storage
- EAS Build pipeline — signed binaries on tag push
- TestFlight + Play Store internal testing tracks set up
- Crash reporting + analytics wired (Sentry + Plausible mobile)
What it costs to run
Apple Developer account: $99/year. Google Play Console: $25 once. Expo EAS: free tier covers ~30 builds/month, $19/mo for active development. Total to ship a real mobile app: ~$300 first year on top of build cost.
VITALfitness super app
Full mobile fitness app with workout logging, AI food scanner, GPS tracking, water tracker, Ramadan/halal mode. Built for the Replit Buildathon.
Read the case study →FAQ
What about React Native vs native (Swift / Kotlin)?+
If you need bleeding-edge platform features (Vision Pro, Wear OS deep integration), go native. For 90% of apps — fitness, social, content, productivity — Expo is faster to build, easier to maintain, and indistinguishable from native to the user.
Can you publish to the App Store without a Mac?+
Yes. EAS Build does the macOS compile, EAS Submit uploads to App Store Connect. The web-based App Store Connect dashboard handles screenshots, metadata, review submission. I haven't touched Xcode in 18 months.
What about app review delays?+
Apple review averages 12-48 hours these days. Submit your shell app to TestFlight early — once you've cleared review once, subsequent updates are usually fast-tracked.
Ready to build a Mobile app?
Tell me what you're shipping. Reply within 2 hours during EU business hours.