Skip to content
← projects

Learner

A language-learning web app (Spanish first) driven by JSON lesson files — chapter- and page-based lessons, fill-in-the-blank and transformation exercises, and an auto-aggregated flashcard deck.

React RouterDrizzle ORMPostgreSQLbetter-authTailwindshadcn/ui

Learner renders structured JSON lesson files through a dual content architecture: chapter-based typed sections for long-form material and flat page-based content blocks for quick lessons. Exercises include fill-in-the-blank and sentence transformation, and every lesson's vocabulary feeds an auto-aggregated flashcard deck (complete with a 3D flip animation).

The content library has grown to roughly 95 lessons across 4 languages, with progress tracked per user. On the roadmap: proper SM-2/FSRS spaced repetition, multiple acceptable answers, and progressive reading.

It's part of a small family of language apps I'm building — alongside CYBERLANG (learning through gameplay) and an iPad-native comprehension-first reader.