Inspiration
Almost everyone who reads the Bible has tried to memorize part of it, and almost everyone has quit. Not for lack of wanting to — the verse just fades, and by the time you notice, it's gone. Existing apps treat memorization as a feature bolted onto a reader: a highlight, a favorites list, maybe a widget. Nothing brings the verse back at the moment you're about to lose it, which is the only thing that actually works.
Spaced repetition solved this for language learners twenty years ago. Nobody had built it properly for Scripture, where the requirement is stricter: not the gist, the exact words.
What it does
Versed turns any verse into a card and schedules it to come back right before you'd forget it. Five review modes escalate as a verse gets stronger — read and recognize, fill in the blanks, first-letter hints, recall from the reference alone, and reverse (see the verse, name where it lives). The app picks the mode for each verse's stage, or you choose one and drill.
There's also a distraction-free reader for the whole Bible in six translations (KJV, NIV, NASB 2020, Amplified, WEB, BSB), curated verse packs, and a daily quiz: six verse fragments to finish, drawn from a bank of 690+ lines, with a famous misquote planted in every set. Most people miss one. That quiz is the first thing a new user sees, and it's the reason they stay for the second minute.
Everything lives on the device. No account, no sign-up, nothing to sync.
How I built it
SwiftUI and SwiftData on iOS 26, offline-first, with no backend of my own. Scripture comes from two places: public-domain translations bundled locally, and licensed ones (NIV, NASB, Amplified) streamed through the YouVersion Platform SDK behind a license check, so a build without a key degrades cleanly instead of crashing.
Monetization is RevenueCat end to end (project projb417cede) — four subscription durations configured as offerings, a paywall the onboarding funnels into, and entitlement checks gating the memorization tooling while Scripture reading stays free for everyone. The project is XcodeGen-managed and ships through Xcode Cloud so release archives are built on a release macOS, with PostHog for analytics and crash reporting.
Challenges I ran into
The hardest problems were not the algorithm.
Translation licensing is the real wall in this category. People memorize the wording they already recognize, so a missing translation costs you the install. But every publisher's API terms cap locally stored text — Crossway allows 500 verses or half a book, API.Bible enforces a 14-day cache purge — and a memorization app is the exact inverse shape: a few dozen individual verses, kept on device indefinitely, reviewed offline for months. I shipped with what I could serve honestly and have licensing conversations open for the rest.
App Review taught me two lessons the hard way. Archiving on a beta macOS stamps a seed build into the binary and prescreen rejects it as ITMS-90111 even when Xcode and the SDK are current — that cost two builds before I moved releases to Xcode Cloud pinned to a release Xcode. Then 1.0 was rejected under Guideline 2.3.2 because the same promotional image was attached to all four subscriptions, and subscription metadata is frozen while a review submission is open, so the fix meant cancelling the whole submission to unlock it.
A SwiftData relationship-keyed @Query in a view body froze the verse detail screen. Replacing it with a one-shot FetchDescriptor fixed a hang that only reproduced on real libraries, never on seed data.
Accomplishments that I'm proud of
The first minute. A new user takes the quiz, misses a verse, and is then walked through a fade drill that leaves them with Psalm 119:11 genuinely memorized before they've made any decision about the app. Shipping something whose pitch is "try it, it works on you right now" is the part I'd defend.
Also: no accounts, no servers, no telemetry on what anyone reads or saves. A Bible app shouldn't be a data business.
What I learned
Retention here isn't an engagement problem, it's a translation problem — the wording someone recognizes decides whether the app feels right in the first ten seconds. And paywall placement is a product decision before it's a growth one: gating Scripture would have been more profitable in week one and wrong, so reading is free and only the memorization tooling is paid.
What's next for Versed
Licensed ESV and NLT (both requests are with the publishers now), audio review for hands-free drilling on a commute, shared verse packs so a church or small group can memorize the same passages together, and a home-screen widget for the verse due next.
Log in or sign up for Devpost to join the conversation.