We took the engagement end to end: Android and iOS apps, a public landing site, and an admin panel for Abraham and his team to manage carnivals, mas bands, listings, and users. The team peaked at 4 to 5 across mobile, backend, design, and QA. From day one we treated the App Store launch as a hard milestone and the first 1,000 users as the second one; everything was scoped against those two dates.
The build was a single codebase using React Native with Expo, paired with a NestJS backend and Supabase for Postgres, auth, and storage. WebSocket via the NestJS gateway powered chat. Payments split between Stripe for the marketplace (costumes, tickets, reseller flows, order history) and RevenueCat for in-app purchases. We invested early in Detox plus Cypress end-to-end testing because marketplace flows have to be reliable on launch day; chasing payment bugs in production is not a place we wanted to be.
We also stayed past the App Store launch. The brief explicitly included "support through the first 1,000 users", which meant performance tuning, App Store iteration cycles, and helping Abraham think through early marketing. That last part is outside what most agencies sign up for. We did it because the goal was a usable product on launch day plus 90, not a deliverable.