Your personal Japanese learning dashboard — from zero to JLPT N2
NihonGo Roadmap is a fully client-side Japanese language learning app designed for a structured 3-year study plan from absolute beginner to JLPT N2. No backend, no accounts — all your progress stays in your browser.
Built for learners who want to study kana, kanji, vocabulary, and grammar with spaced repetition, quizzes, and progress tracking — all in one place.
| Feature | Description |
|---|---|
| Kana Trainer | Interactive hiragana & katakana grid with speech synthesis and quiz mode |
| Kanji Browser | 400+ kanji organized by JLPT level (N5 → N2) with readings and examples |
| Vocabulary | 120+ N5 words across 8 topics with one-click SRS deck creation |
| Grammar Lessons | 15 structured N5 lessons with embedded quizzes |
| SRS Review | Spaced repetition flashcards using the SM-2 algorithm |
| Quiz Mode | 5 quiz types — kana recognition, typing, vocab, kanji meaning |
| Study Roadmap | 4-phase checklist from foundations through N2 |
| Statistics | XP charts, study time tracking, card status breakdown |
| Streak & XP | Daily streak counter, XP leveling system |
| Dark / Light | Theme toggle with glassmorphism design |
| Multilingual UI | English, Русский, O'zbek |
| Offline First | Zero API calls — works without internet |
| Data Export | Full backup / restore as JSON |
Frontend React 19 · TypeScript 6 · Vite 8
Styling Tailwind CSS 4 · Framer Motion 12
State Zustand (localStorage) · Dexie (IndexedDB)
Routing React Router DOM 7
Charts Recharts 3
i18n i18next · react-i18next
Icons Lucide React
# Clone
git clone https://github.com/Luck1y1337/NihonGo.git
cd nihongo-roadmap
# Install
npm install
# Dev
npm run devOpen http://localhost:5173 and start learning!
npm run build # Production build → dist/
npm run preview # Preview production build locallyPush to GitHub → connect the repo in Netlify.
Config is included via netlify.toml — build command, output dir, and SPA redirects are pre-configured.
Import the repo in Vercel.
Config is included via vercel.json — SPA rewrites are pre-configured.
src/
├── components/ Card, Modal, ProgressBar, SakuraPetal
├── pages/ 11 pages (Dashboard, Roadmap, Kana, Kanji, Vocab,
│ Grammar, Review, Quiz, Stats, Settings, About)
├── layouts/ AppLayout, Sidebar (desktop), MobileNav (mobile)
├── store/ Zustand stores (user data, SRS)
├── db/ Dexie IndexedDB schema
├── lib/ SRS algorithm, XP calculation
├── data/ Static content (kana, kanji, vocab, grammar, phrases)
├── i18n/ Translations (EN, RU, UZ)
├── App.tsx Router
├── main.tsx Entry point
└── index.css Design system
| Route | Page |
|---|---|
/ |
Dashboard — streak, XP, daily tasks, phrase of the day |
/roadmap |
3-year roadmap with milestone checkboxes |
/learn/kana |
Hiragana & Katakana trainer with quiz |
/learn/kanji |
Kanji browser by JLPT level |
/learn/vocab |
Vocabulary decks by topic |
/learn/grammar |
Grammar lessons with mini quizzes |
/review |
SRS review session |
/quiz |
Quiz mode (5 types, configurable length) |
/stats |
Charts and statistics |
/settings |
Theme, language, daily goal, data management |
/about |
About the app and study plan |
| Phase | Timeline | Goal |
|---|---|---|
| Foundations | Months 1–3 | Hiragana, Katakana, 100 words, basic greetings |
| JLPT N5 | Months 4–9 | 100 kanji, 800 words, basic grammar |
| JLPT N4 | Months 10–18 | 300 kanji, 1,500 words, intermediate grammar |
| N3 → N2 | Months 19–36 | 1,000 kanji, 6,000 words, EJU prep, CS vocabulary |
- Glassmorphism — cards with
backdrop-blurand translucent backgrounds - Floating sakura petals animated in dark mode
- Gradient orbs — ambient background lighting
- Staggered animations — elements appear sequentially
- Micro-interactions — hover lift, press scale, spring physics
- Mobile-first — glass bottom nav, safe area support, touch-optimized
- No backend, no accounts, no telemetry — the app makes zero network calls at runtime.
- Your data stays on your device — progress lives in
localStorage, and SRS cards live in the browser's IndexedDB (via Dexie). Nothing is ever uploaded. - No secrets in the repo — there are no API keys or credentials; the project needs no environment variables to build or run.
- Own your data — export a full JSON backup and restore it any time from the Settings page.
Found a security issue? Please open a private security advisory rather than a public issue.
Released under the MIT License © 2026 Luck1y.
Made with ❤️ by Luck1y
