finds.dev← search

// the find

lingdojo/kana-dojo

★ 3,506 · TypeScript · AGPL-3.0 · updated Sep 2026

Aesthetic, minimalist platform for learning Japanese inspired by Duolingo and Monkeytype, built with Next.js and sponsored by Vercel. Beginner-friendly with plenty of good first issues - all contributions are welcome!

KanaDojo is a Next.js web app for drilling Japanese Hiragana, Katakana, Kanji, and vocabulary through Duolingo/Monkeytype-style typing games. It's aimed at self-study learners who want a fast, no-signup drilling tool, but the repo is equally set up as an onboarding ramp for first-time open-source contributors.

The four game modes (pick, reverse-pick, input, reverse-input) map onto real recognition vs. recall practice rather than just flashcard flipping. It leans on actual linguistic data and libraries instead of homegrown guesses — JMdict and KANJIDIC for dictionary/kanji data, Kuroshiro/Kuromoji/WanaKana for tokenization and romanization. Stack is current (Next 15, React 19, TypeScript, Zustand, Vitest) and there's a real pre-commit/check pipeline (husky, `npm run check`) rather than just vibes.

Forks (3446) are almost 1:1 with stars (3506), which is a strong tell that the count is inflated by hacktoberfest/good-first-issue contribution farming rather than organic adoption — worth discounting the star count as a popularity signal. There's no spaced-repetition scheduling mentioned anywhere; 'streaks' and '80+ achievements' are gamification dressing, not an actual learning algorithm like Anki's SM-2. AGPL-3.0 is a real constraint if anyone wants to fork this for a commercial variant. The repo's tooling investment (a dozen+ GitHub Actions workflows, bots for stale issues, auto-reset backlogs, PR-welcome messages) suggests a chunk of maintainer effort goes into contributor-funnel infrastructure rather than the learning product itself.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →