Full-Stack Learning Platform
Learn-Kana
A Japanese-learning platform for Hiragana, Katakana, and 2,140 Joyo Kanji with flashcards, quizzes, progress tracking, and rule-based adaptive practice.
Next.js 14 · TypeScript · MongoDB · Google Login · localStorage
Overview
Learn-Kana is a Japanese-learning platform covering Hiragana, Katakana, and 2,140 Joyo Kanji. It includes flashcards, quizzes, learner analytics, progress tracking, and adaptive practice recommendations based on rules rather than machine learning.
Recommendation Flow
Problem
Learners need targeted practice that responds to weak characters, due reviews, recent mistakes, and confusion pairs without relying on a one-size-fits-all lesson order.
Requirements
Content Coverage
Hiragana, Katakana, 2,140 Joyo Kanji, flashcards, quizzes, and progress tracking.
Persistence
Anonymous progress uses localStorage. Authenticated progress uses MongoDB.
Authentication
Google federated login supports persistent authenticated user accounts.
Technical Decisions
Rule-based recommendations
The adaptive practice system is intentionally rule-based. It prioritizes due reviews first, weak characters second, and new material third.
Spaced repetition · Accuracy · Response time · Recency · Incorrect-answer history · Confusion pairs · Recent mistakes
Learner analytics
Weak kana · Character-level statistics · Accuracy · Attempts · Incorrect answers · Average response time · Last practiced · Confusion pairs · Recommended practice
Implementation
The application is built with Next.js 14, TypeScript, MongoDB, localStorage, and Google federated login. The practice engine evaluates learner history using deterministic rules such as spaced repetition, accuracy, response time, recency, recent mistakes, and confusion pairs. It does not use AI, machine learning, or generative recommendations.
Tradeoffs, Results, and What I Learned
A rule-based system is easier to inspect and explain than a model driven recommendation layer, which fits the learning context well. The tradeoff is that recommendations depend on explicitly modeled signals rather than learned patterns. The project demonstrates full-stack product thinking, persistence design, responsive UI, analytics, and adaptive learning logic.