← Projects

Sumi

iOS app for learning to read and write Japanese kana and JLPT N5 kanji. Adaptive quiz, handwriting feedback, full offline mode. No account, no ads, free.

Year
2026
Role
Solo creator
Duration
~2 months of work
Team
Solo
Links

Context

I wanted to learn hiragana, katakana and the first kanji to pass my JLPT N5, but no free app on the market was both pleasant to use and ad-free. So I built my own: polished, offline, no account, no ads.

What I did

  • App architecture (Expo Router, Zustand, MMKV) with Zod-validated rehydrate and store migrations
  • Handwriting recognition pipeline (DTW on KanjiVG paths) with per-stroke scoring and replay
  • Custom SM-2 SRS with soft lapse and adaptive question-type biasing
  • Automated tests on business logic (SRS, selectors, question picker, stroke matching)
  • Visual language: ink palette, dark-only theme, Outfit + Noto Sans JP typography

Results

  • Shipped to the App Store as a solo developer, fully offline, no tracking, no IAP
  • Covers all kana plus 80 JLPT N5 kanji, usable as a single N5 prep tool
  • Shipped a complete iOS app from design to App Store as a solo developer in ~2 months
  • Handwriting recognition runs fully on-device, no third-party SDK, no cloud call
  • Onboarding gets a user reading their own name in katakana within 60 seconds

Key features

  • 107 hiragana + 107 katakana + 80 JLPT N5 kanji, with stroke-order animations and Japanese TTS audio
  • Adaptive daily quiz across 4 question types: recognize, compose, trace, listen
  • Real handwriting feedback: each trace is scored per stroke, with a single-stroke replay on misses
  • "Reading reveal" after each session: the words and sentences your mastered kana now unlock
  • 60-second magic onboarding: type your name, see it in katakana, trace the first character
  • Sumi Paper free canvas, Story Mode, mnemonics, confusion drill, weekly streak shield. 100% local, no account, no ads, no IAP

Stack

  • iOS
  • Expo SDK 54
  • React Native
  • React 19
  • TypeScript
  • NativeWind
  • Zustand
  • MMKV
  • Zod
  • Skia
  • SM-2 SRS
  • DTW Handwriting
  • Offline-First