Prava
An iOS prayer and scripture app, designed, built, and shipped alone, from first commit to the App Store.
- Role
- Sole engineer and designer
- Stack
- TypeScript
- Next.js
- Capacitor
- Postgres
- Prisma
- Anthropic API
- Verify
- App Store · joinprava.com
The problem
Faith apps borrow the wrong mechanics.
Most of them are habit trackers in vestments: streaks, scores, completion rings, and the quiet guilt of a missed day. Those mechanics reward showing up and punish honesty. The moment a practice becomes a scoreboard, people perform for the app instead of telling it the truth.
What I wanted already existed, and had for two thousand years: the Church's week, its lectionary, its prayers, its creeds. Prava puts that at the center across twelve traditions, in each tradition's own words.
The founding rule is record, not score. That sounds like a slogan. It turned out to be an engineering constraint that shaped the schema, the prompts, and what the app refuses to measure.
What was built
A full consumer product, run by one person.
A native-feeling iOS app with a daily journal, prayer and scripture surfaces, a weekly lectionary, and a People tab for praying for others by name. The AI teaches and reflects. It never touches the Church's fixed texts: creeds and historic prayers render exactly as written, enforced by CI scanners rather than good intentions. Outside the code, a team of UGC creators I recruit and manage, each with tracked links into the app.
- Platform
- Next.js and TypeScript inside Capacitor / WKWebView as a native iOS app
- AI
- Eleven grounded surfaces, each reading versioned system prompts with snapshot-tested fallbacks (thirteen at launch)
- Data
- Postgres with Prisma, additive-only migrations
- Revenue
- Freemium subscriptions, monthly and annual
- Growth
- A creator program of UGC creators, recruited and managed directly, with per-creator links tracked in the analytics dashboard
- Infra
- Object storage, error monitoring, product analytics with feature flags
Three decisions
Decisions I would defend in any interview.
AI cost in three waves
Waste first: redundant calls and oversized context. Then routing the surfaces where quality held to a smaller model. Then prompt caching, with every call's token counts (input, output, cache written, cache read) written to a usage table in Postgres so the savings could be checked against the provider's bill rather than taken on faith.
Philosophy as a schema constraint
The database stores what happened, never a grade. Unlimited grace is automatic, so a missed day is recorded honestly and never becomes a punishment mechanic. Deciding what the database refuses to know was the most interesting design problem in the product.
The process is the second engineer
Additive-only migrations so nothing is ever un-shippable. Snapshot-tested prompt fallbacks so an AI regression fails a test instead of a user. Features dark-shipped behind flags with written flip runbooks, so turning something on is a decision, not an event. And since late 2025, AI coding agents working under direction: a read-only discovery before any change, rulings written down and numbered, builds scoped small and checked on a device, and a chain of structural checks that pins what the agents produce rather than trusting it.
The back office
Twelve internal tools nobody sees.
Twelve tools on one hub, over 140 admin routes. The Prompt Lab versions the system prompts, voice fragments, and theology groundings behind the eleven governed surfaces, and shows history, diffs, and a flag when the live version has diverged from the shipped fallback. The lectionary authoring tool turns a citation typed the way a missal prints it into readings the app can serve, with a horizon that shows what is ready for the weeks ahead. The Profile Simulator inside the commitment library builds a user from life contexts and runs the selection algorithm, scores included, so tuning the matcher takes an afternoon instead of a release cycle.
Four of the twelve have pages of their own: the Prompt Lab, the analytics dashboard, the lectionary authoring tool, and the commitment library.
Outcome
Live, used across a dozen denominations, paying for itself.
On the App Store since Easter 2026, with paying subscribers on monthly and annual plans.