TanukiType
A speed typing trainer for Japanese kana.
TanukiType is a typing practice app for learning hiragana and katakana. You see a kana character, type the romaji, and it tracks your speed and accuracy. Basically MonkeyType but for Japanese.

The typing engine
The core is a custom typing engine with two-phase input validation. First it checks if what you've typed so far is a valid prefix of any accepted spelling. Then it checks for a complete match. This means you get instant feedback on mistakes without false negatives for multi-character inputs like 'shi' or 'chi'.
Romaji mapping
Each kana character accepts every valid romaji spelling: Hepburn, Kunrei-shiki, small-y combinations, sokuon (double consonants), and choonpu (long vowels). I didn't want the app to reject a correct answer just because it used a different romanization system.
UX decisions
No sign-up, no loading screens. You pick a mode (hiragana, katakana, or mixed), choose a session length, and start typing. The app uses async look-ahead to load the next batch of characters while you're still typing the current ones, so long sessions don't stall.
Why I built it
I was learning Japanese and the typing trainers I found were either ugly, slow, or rejected valid spellings. This started as a weekend project and turned into something I actually use regularly.