Case StudyJuly 20246 min read

Building JapanApp: From Vision to SRS Architecture

How I engineered JapanApp to help Japanese learners master Kanji stroke orders and vocabulary retention.

NX
Muhammad Yusuf Arrofi@NXRts // Software Engineer
Building JapanApp: From Vision to SRS Architecture

Learning Japanese Kanji can be overwhelming. With thousands of characters, stroke orders, Onyomi, and Kunyomi readings, rote memorization without systematic intervals leads to high drop-out rates. I decided to build JapanApp (japan-mee.vercel.app) to tackle this challenge directly.

The Technical Challenge The core requirement was twofold: 1. **Interactive Stroke Order Canvas**: Rendering SVG vectors dynamically and evaluating whether user finger or cursor strokes follow proper stroke trajectory without high latency. 2. **Spaced Repetition System (SRS)**: Implementing an algorithm inspired by SuperMemo SM-2 to predict optimal review intervals based on difficulty feedback.

Architecture with Next.js & TypeScript Using Next.js alongside React and TypeScript allowed for server-rendered kanji dictionaries while keeping the interactive flashcard practice strictly client-side for zero-lag responsiveness. By persisting progress with local state synchronization, learners can study seamlessly with rapid feedback loops.

ReactNext.jsTypeScriptSRS AlgorithmJapanese
Explore More Knowledge

Continue reading our technology essays and architecture case studies.

View All Articles