The brief
This product has two chapters. Version one, Grace Portal, was a Flutter app for running the church: ministry tasks, meetings, prayer requests. It shipped, leaders reported saving 5+ hours of coordination a week, and it proved something bigger: a four-nation congregation (Glasgow, Berlin, Emmen, Ogbomosho) did not just need admin tooling, it needed belonging made visible. That insight became the brief for version two, and I made the call to rebuild from the ground up rather than extend.
What I did
I led product and engineering across both versions. AGBC Global is a React Native + Expo app on a Supabase backend: Postgres with row-level security as the enforcement layer, 78 migrations, 17 edge functions, and a Next.js leader dashboard deployed on its own subdomain for moderation, people, and sermon audio. The product is guest-first: anyone can watch messages, find a branch, or read the daily verse without an account, and sign-in gates only contribution. Members share testimonies and prayer requests through a leader-moderated loop where nothing publishes without approval, see the family on a world map, listen to sermons through a background audio player, and give securely, in four languages (EN/DE/NL/FR).
The quality bar was the point: 3,000+ automated tests across the app, dashboard, and database (pgTAP), Maestro end-to-end journeys driven on a physical device against production, opt-in analytics on PostHog EU, and Sentry across every layer. It shipped to Google Play replacing Grace Portal on the same listing, at full rollout, with in-app account deletion and privacy by default.
What I learned
Sunsetting your own v1 is a product decision, not an engineering failure: Grace Portal earned its replacement by teaching us what the church actually needed. The rebuild taught me that a green suite means the parts work, never that they have met, so every release is proven on a real device against production before it counts. And an app store is a second product on top of the first: store listings, data-safety declarations, and staged rollouts all demand the same ownership as the code.