Expo EAS + TestFlight
RiseSync had a half-finished, AI-built 90-day coaching iPhone app (Expo SDK 54 / React Native 0.81, originally scaffolded with the Vibecode AI builder by a prior developer) that needed hardening, backend fixes, and repeatable TestFlight builds ahead of its January 2027 launch.
Signed on 2026-10-17, removed the leftover Vibecode SDK (`2c9d863`), configured production environment variables in `eas.json` (`9f1e3f7`), added `App Riser Settings` and `App Reports` tables after the Airtable `Users` table hit its 500-field ceiling, deployed the Fastify API on Railway, and ran EAS builds 7 through 9 into Apple TestFlight.
Added 172 commits in five days, merged Milestone 1 to the client’s main branch on 2026-10-21/22, and submitted TestFlight build 9 on 2026-10-22 at 20:28 ET (not in the public App Store yet).
$0/month on Expo EAS Free (up to 30 mobile builds/month; EAS Starter is $19/month) plus $99/year for the client’s Apple Developer Program account (as of 2026-10-22).
Configured via `eas.json` build profiles connected to the client’s Apple Developer account and App Store Connect API key; `eas build --platform ios` compiles and signs the binary in the cloud and `eas submit` uploads it directly to TestFlight.
The inherited codebase still carried the prior developer’s Vibecode SDK, stale `AGENTS.md` instructions, two historical `.env` commits, and an ngrok token in a branch README, while the Airtable `Users` table hit Airtable’s hard 500-field cap—requiring us to strip Vibecode, split new features into separate Airtable tables, and lock down `eas.json` production env vars before shipping builds 7–9.
Compared against Capacitor iOS/Android shells (which we use on our own web-first `moHelp` app) and local Xcode archive builds, plus a later proposed Supabase data-layer migration. Because RiseSync already had 102 commits on Expo SDK 54, we chose "ship now, rebuild later" with Expo EAS to get Milestone 1 into TestFlight in five days.
