12levels — English words that stick.
A native iOS app for building English vocabulary the way memory actually works: you read books matched to your exact level, tap the words you don't know, and the app brings each one back right before you'd forget it.
What made it interesting
Vocabulary apps tend to fail in one of two ways: they drill words you'll never meet again, or they nag you on a marketing schedule. 12levels is built around the forgetting curve instead — most of the engineering lives in when things happen, not in what's on screen.
- Scheduling. Reviews run on FSRS — the open spaced-repetition scheduler trained on hundreds of millions of real flashcard reviews — implemented on device and synced to the backend, so your dictionary survives a reinstall. Each word resurfaces right before it would fade.
- Notifications on the same clock. A single policy engine decides every push: due-word recalls, streak-at-risk, comeback nudges. It enforces frequency caps and quiet hours, backs off automatically when you ignore it, and cancels itself once you've already studied. The notification is the forgetting curve — not a growth hack.
- Twelve levels, not three. A precise CEFR ladder from A1.1 to C1.3, a placement test that deliberately never over-places you, and books and articles matched to each sublevel — around 95% of any page is vocabulary you already know, so reading stays comfortable while new words arrive in living context, with meaning, an example, and American-English pronunciation one tap away.
- The Home Screen is a review surface. A large widget keeps the word you're learning in view all day; tapping it lands in a real recall that feeds the same scheduler, and a Live Activity tracks the study session from the Lock Screen.
The app is Swift 6 and SwiftUI on iOS 26, in the native Liquid Glass design language. Learning state lives in SwiftData behind an App Group, so the widget reads the same store as the app; word translation falls back to on-device Apple Translation. Purchases are StoreKit 2, with App Store Server Notifications verified by a FastAPI backend on PostgreSQL. Shipped in four languages — English, Russian, Spanish, Japanese — store listing included.
Designed, built, and shipped solo, end to end: the app, the backend, the store assets, and the site it links to.
Stack
- Swift 6 · SwiftUI · SwiftData
- WidgetKit · ActivityKit · UserNotifications
- FSRS spaced repetition · StoreKit 2
- FastAPI + PostgreSQL backend · iOS 26