The opportunity
Every mainstream tool for Japanese — Anki, Duolingo, WaniKani — tests recognition: multiple choice, typed readings, “did you remember this?” But for kanji, the skill that decays first and matters most for real literacy is production: reproducing the character from memory, by hand. Learners who can read 2,000 kanji often can't write 200.
The tools that doaddress writing either lock you into their own content (Skritter), grade you with a stroke-recognition engine that fights natural handwriting, or are single-purpose kanji apps you can't point at your own study material. Nobody pairs bring-your-own Anki decks with a stylus-first handwriting loop and a modern scheduler.
What Fudemoji is
One Android app, a few clearly separable parts. The engine is generic CJK; only the presentation is Japanese at launch.
| Part | Status | What it does |
|---|---|---|
| Handwriting canvas | shipping (demo) | Low-latency stylus/finger writing surface on Jetpack Ink, with a faded trace overlay. The core of the product. |
| Review loop | shipping (demo) | Write → reveal → self-grade (Again / Hard / Good / Easy). |
| Scheduler | Phase 2 | FSRS (a modern open spaced-repetition algorithm). No custom math. |
| Deck import | Phase 2 | Direct .apkg parsing — bring your own Anki decks. We ship no content. |
| Local store | Phase 2 | On-device persistence (Room). No accounts, no sync, no backend. |
What it does today
The current build is a Phase 0 validation demo (v0.02) — shippable to test the feel, with the engine still mocked.
Handwriting & trace
- Stylus + finger input on a single-canvas, CPU-rasterized Ink surface (clean strokes verified on real Samsung hardware).
- Trace mode: a faded target glyph to write over when stuck.
- Clear, flip card direction (write the kanji, or write the reading).
The loop & shell
- Full flow: splash → home dashboard → write → reveal & self-grade → session complete.
- Five hardcoded N5 cards; the “Sumi & Washi” brand throughout.
Honestly mocked (Phase 2 brings the real thing)
- FSRS intervals, deck counts/stats, and
.apkgimport are look-and-feel placeholders.
Why it's defensible
- The handwriting feel is the moat. Stroke latency, palm rejection, and a calligraphic ink that feels right on real hardware are disproportionately hard to get correct — and disproportionately valued by the learners who want this.
- Bring-your-own-deck.Riding the existing Anki ecosystem means zero content-licensing burden and instant relevance to a learner's actual material.
- Self-grade, not auto-grade. No recognition engine to fight; the product trusts the learner. Cheaper to build, and a better fit for how recall actually works.
- Language-agnostic engine. The schema is generic CJK — Chinese and Korean are a presentation change, not a rewrite.
Traction & status
- Maturity: Phase 0 validation demo (v0.02), shipping as a debug APK to testers.
- Demo installs / testers to date: [N].
- Qualitative signal: [pending — collecting tester feedback].
- Decision gate: Phase 1 demand validation → funding go/no-go on the Phase 2 MVP.
Market
Japanese-language learners studying kanji production: serious self-studiers, JLPT candidates, university and classroom learners, and the large existing Anki-for-Japanese community. Adjacent, later: Chinese (HSK) and Korean.
- Estimated reachable audience: [N].
- Comparable-app spend / benchmark: [$Z].
Business model
Direction, not yet decided (tracked in the project, not committed here):
- Likely free core + one-time unlock or low subscription for power features: [$Z].
- Local-first, no backend → near-zero per-user cost; no account friction.
- Grant funding (e.g. Japan Foundation) under consideration; open-source status undecided.
Roadmap
| Horizon | Milestone |
|---|---|
| Phase 0 — done | Throwaway handwriting demo (v0.02): the feel, the loop, the brand. |
| Phase 1 — now | Demand validation with testers; funding go/no-go. |
| Phase 2 — MVP | Real .apkg import, FSRS scheduling, Room persistence, tag filtering, daily queue. The 8-feature MVP. |
| v1.1+ | Stats, Chinese/Korean presentation, iOS (KMP-shaped data layer already). |
Competitive landscape
| Tool | Tests writing? | Your own decks? | Note |
|---|---|---|---|
| Anki | No (recognition / typing) | Yes | The ecosystem we ride, not replace. |
| Skritter | Yes (recognition-graded) | Limited | Locked content; subscription; fights natural handwriting. |
| Ringotan / kanji-writing apps | Yes | No | Fixed kanji curricula, not your study material. |
| Duolingo / WaniKani | No | No | Gamified recognition; no production. |
| Fudemoji | Yes — self-graded | Yes (.apkg) | Stylus-first feel + FSRS + bring-your-own-deck. |
The stack — for technical diligence
- Android · Kotlin · Jetpack Compose · Material 3.
- Handwriting: Jetpack Ink (single Compose canvas, CPU rasterization to defeat a GPU mesh artifact on Adreno hardware).
- Scheduler: FSRS (Kotlin port preferred; JNI-to-Rust reference as fallback) — no custom SRS math.
- Import: direct
.apkgparsing (zip + embedded SQLite). - Persistence: Room, local-first; data layer kept KMP-shaped for a later iOS move.
- This site: Next.js (static export) on Azure Static Web Apps, same repo.
The ask
- Funding sought: [$Z] to take the validated demo to the Phase 2 MVP.
- Use of funds: [pending].
- Timeline to MVP: [N] months.