LHK
0%
Systems
02SystemActive

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

  1. Placement

    An automatic test finds your level rather than asking you to guess

  2. New word

    Introduced in context, in your chosen direction

  3. First test

    Immediate recall to confirm it landed

  4. Smart review

    Scheduled to arrive just before you would have forgotten

  5. 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
Launch