Nihondex

An app for learning Japanese and Korean, with an offline dictionary, daily lessons, and spaced repetition. Built with Flutter for phones and the web.

Flutter, SQLite, Supabase, Python data pipeline.

A learning app is no use if it stops working when the signal drops. Search had to stay fast with no connection, and progress still had to follow you between devices.

/ 1

Once you are signed in, it works with no signal at all.

A Python pipeline builds the dictionary from JMdict and KanjiVG into SQLite, which ships with the app. Search runs on the device, including romaji typed straight into kana.

Lessons run from the first kana up to JLPT N1, with SM-2 scheduling the reviews, stroke order practice, and small games along the way. Supabase handles accounts and sync.

/ 2

7,748Words sorted by JLPT level
N5–N1Levels covered
4Kana practice games
2Languages to learn

Design and code by danielaugustian.