I wanted to build a system for learning arbitrary new things. Think Duolingo but applicable to a variety of different custom domains. The domains are built to be vibe-codeable.

A card is a lesson rather than a fact pair. A bird gets plumage, its call, field marks and a range map; a court case gets none of that and leads with the facts instead. Reviews are spaced out on a ladder, and the app always tells you why a card moved.