- Platforms
- iOS, Android, Web (PWA)
- Stack
- Expo, React Native, TypeScript, Supabase, Postgres
- Role
- Design, development, publishing
- Type
- Rebuild / migration
The problem
ChapApp helps Marines, Sailors and their families reach the chaplains who serve their district: contact details, resources, and notifications from their own chaplain. It had grown up on a no-code platform, which made it quick to start but hard to grow: notifications were limited, the store builds depended on the vendor’s signing keys, and adding districts and chaplains meant manual work.
What I built
A ground-up rebuild on a stack the client fully owns, designed around one rule: adding another district or chaplain should be an admin task, not a development task.
- One codebase, three targets. iOS, Android and a web app from a single Expo project, published as an update to the existing store listings.
- Native push per district. Each district chaplain can notify their own community, with delivery to iOS, Android and web-push subscribers.
- Role-based admin. Global admins manage districts; district chaplains manage their own resources and messages.
- Data migration. Districts, resources and images carried over from the previous platform, with personal data kept out of source control.
Under the hood
Supabase provides Postgres, authentication with email sign-in codes, file storage and Edge Functions. Row-level security policies enforce who can see and change what, and Edge Functions handle notification delivery. Database migrations, seed data and CI checks live in the repository, so a fresh environment can be rebuilt from scratch and every change is reviewed against a passing test run before it ships.
Screens



Status
The rebuild is submitted for release: the iOS build is in TestFlight and the Android build is in Google Play’s internal testing track, ahead of public store availability.
Let’s talk it through
Every project is different. Send a few details and I’ll reply with a personalized quote or proposal.