Lumina
Spaced repetition vocabulary system.
Origin
Almost every language app assumes you speak English and are learning something else. That assumption quietly excludes most of the people who want to learn — someone going from Hebrew to Spanish, or Arabic to German, is expected to route through a language they may not have. Lumina treats all 14 languages as equals: any of them can be the one you know, and any can be the one you're learning.
Scale
- 14
- Languages
- 182
- Directional pairs
- A1–C2
- Level range
How it works
Placement
An automatic test finds your level rather than asking you to guess
New word
Introduced in context, in your chosen direction
First test
Immediate recall to confirm it landed
Smart review
Scheduled to arrive just before you would have forgotten
Mastered
Retired from rotation, tracked in your streak and XP
The hard part
Making every direction work. 14 languages learnable in any direction is not 14 problems, it is 182 — every ordered pair needs vocabulary that makes sense in that direction and a translation that is actually right, not merely plausible. Generic translation services get you plausible. I built the app's own vocabulary database instead, because a per-pair quality bar is not something you can outsource and then trust.
Decisions
A purpose-built vocabulary database over a general translation service
182 pairs each needed checking, not just generating. A service that is right most of the time teaches you wrong words the rest of the time, and you cannot tell which is which.
Any-to-any rather than English-to-everything
Routing every learner through English is an assumption about who is allowed to learn. Removing it was the point of the app.
Free, ad-free, and outside the app stores
Ads and store economics both push a learning app toward retention tricks rather than learning. Staying outside that meant staying honest about what the app is for.
Constraints
- Solo, and free with no ads — so no budget to buy translation data
- Distributed as a direct Android download rather than through the app stores
- No third-party advertising or tracking SDKs, which rules out most off-the-shelf analytics
- Every language pair has to be correct, not merely present
Stack
Application
- Flutter
- Dart
Data
- Firebase Firestore
- Firebase Authentication
- Google Sign-In
Operations
- Firebase Analytics
- Firebase Crashlytics
Platform
- Android
- Direct download
- On-device speech