Japanese vocabulary
You care about

Kann is an app built on one premise:
You learn faster when you care about the content.

Product Lead · iOS · SwiftUI

Opportunity
Interest drives Japanese retention more than exposure. Intermediate and advanced learners stall because generic word lists do not connect with what they care about. No existing app combined curated, interest-based decks with SRS. Kann removes the work of building your own deck and replaces it with editorial curation that gives learners a reason to return.
Decision left out
Handwriting practice was deliberately excluded. Stroke correction in apps creates false muscle memory: users feel confident because the system silently fixes each stroke, then struggle on paper. When I moved to Japan, I had to fill out some forms three times because my writing was unreadable. Adding the feature might have increased session time while harming learning outcomes.
Signal so far
4,000 downloads and about 2.2 sessions/day on average, enough to form a daily habit. Users have sent unsolicited thanks and praised the UI. Revenue is about $500, including one lifetime purchase. The engagement loop works. Converting that use into revenue remains the open problem.
0
Git commits
Aug 2024 to May 2026
0
Curated vocabulary domains
6 core + 16 interest-based
0+
Vocabulary entries
Each with furigana + 6-language examples
0
Months of development
Studio-built, native, shipped

01 · The Problem

Generic lists, poor retention.

Most Japanese vocabulary apps give you the JLPT N5 word list and call it a curriculum. You study 日 (sun), 月 (moon), and 山 (mountain) for weeks before finding a word you would use with another person. The content is correct but lifeless. Learners stall not because Japanese is too hard, but because they have no reason to care about the next card.

Research on motivation and memory consistently shows that you remember information better when it connects to something that already matters to you. A cook who wants to read a Japanese recipe will remember 炒める (to stir-fry) faster and longer than someone who found it on a frequency list. A gamer who watches subtitled anime may already know what 武器 means. They need to confirm the reading, learn the kanji, and let spaced repetition maintain it.

"Coverage follows interest, not the other way around."

Kann is for intermediate and advanced learners who have passed the beginner stage and now ask: what do I actually want to say? The app does not assume every learner needs the same 6,000 words in the same order. It offers a free foundation, then lets each learner choose a direction. The right deck is the one that makes you want to open the app tomorrow.

We tested the idea before launch with more than 1,000 beta testers over several months. Their feedback confirmed the main bet. Nobody asked for a different algorithm or more JLPT levels; they wanted more specific subjects. Medical, Nightlife, and Onomatopoeia exist because testers requested them. Users who sent detailed emails received detailed replies, and 90% of requested features (except handwriting) shipped before or soon after public release. Testers had been waiting for interest-based curation.

Onboarding · interest selection

02 · The Decks

Curated by interest, not by syllabus

A vocabulary deck is not a word list. A word list is alphabetical. A deck has a point of view. The culinary deck does not just contain food nouns, it contains the verbs a cook uses (炒める, 煮る, 蒸す), the adjectives that describe texture and taste, the register appropriate for a kitchen or a restaurant menu. Curation means making decisions about what is essential, what is idiomatic, and what a learner at this level is ready to acquire. Some of those calls took longer than they had any right to: whether 出汁 belonged in the first 25 culinary entries or the first 75 was argued over for the better part of a week, and it ended up in the first 50. Three seasonal fish names did not make the cut at all. That work takes time. Which is why it is behind a paywall.

The free foundation is complete: hiragana and katakana, all 214 classical radicals with positional guides, kanji from JLPT N5 through N1, and the first 1,000 most common words. A learner can go from zero to competent with that foundation alone, at no cost. Premium interest-based decks extend it for learners who know where they want to go next and want the editorial work already done.

Vocabulary library · 22 domains 7,620+ entries
Free with the app · 2 core decks · 1,100 words total
Hiragana Katakana Radicals JLPT Kanji 1,000 most common Design Dictionary
Premium · 20 curated interest decks
2,000 3,000 4,000 5,000 6,000 Culinary Business Travel Technology Medical Anime Music Nightlife Slangs Sports Fashion Culture Automotive Videogame Onomatopoeia
01
Domain scoping Before writing a single entry, each deck starts with a question: what does fluency in this domain actually look like? For culinary, that means being able to read a menu, follow a recipe, and talk to someone in a kitchen. The word list follows from that definition.
02
Register and usage The same concept often has multiple words at different registers. Business Japanese distinguishes sharply between formal and polite speech. Slang entries need usage notes or the learner will deploy them at the wrong moment. Curation means making those calls, not just listing words.
03
Example sentences across 6 languages Every entry carries example sentences with translations in English, French, Spanish, Portuguese, Italian, and German. This is not an afterthought, it is the instruction layer. The sentence shows how the word behaves, not just what it means.
04
Verb depth Verbs receive a full conjugation view, te-form, negative, past, polite, and potential. Learning a verb as an isolated dictionary entry is half-usable. Learning it with its conjugation set is immediately deployable.
// Every entry in the culinary deck, depth beyond a word list
{
  "Word": "居酒屋",
  "Rom": "いざかや",
  "Meaning": "izakaya, Japanese pub",
  "Kind": "Noun",
  "Examples": [{
    "phrase": "友達と居酒屋に行った。",
    "fur": "ともだち と いざかや に いった。",
    "meaning": "I went to an izakaya with friends.",
    "meaning_fr": "Je suis allé dans un izakaya avec des amis.",
    // + ES, PT, IT, DE
  }]
}
Deck browser · interest view
Entry detail · verb conjugation view

03 · The Engine

The part that knows what you haven't practised

Interest gets learners to open the app. The spaced repetition engine turns that use into retention. Kann uses a modified SM-2+ algorithm, a popular spaced repetition method, to track four question types separately for every item: meaning recognition (word to meaning), reading recognition (word to reading), meaning recall (meaning to word), and verb conjugation. A learner may recognise 居酒屋 but still need help with its reading. The system knows which part is secure and which needs more practice.

Response time feeds into the algorithm alongside correctness. A correct answer in eight seconds is softer evidence than a correct answer in one. The interval before the next review is shortened accordingly. Over time, the system builds a per-item difficulty model calibrated to how that specific learner actually performs, not a theoretical average learner. A cook who already half-knows 炒める earns longer intervals on it from the first session. Motivation, showing up in the mathematics.

App accent theme · change in Settings
Navigation · curved tab bar Tap tabs · trim indicator follows SwiftUI spring logic
Streak coins · layered metal designs Move cursor or tilt phone · roll drives parallax layers
Bronze streak coin
Silver streak coin
Gold streak coin
Holo streak coin
Bare metal streak coin
Black streak coin

Quiz preview · culinary deck · meaning recognition

4 / 15
Culinary
What does this mean?
居酒屋
いざかや
A izakaya, Japanese pub
B sushi restaurant
C convenience store
D food market
SRS queue · culinary deck sample
居酒屋
in 8 days
炒める
in 4 days
tomorrow
出汁
today
旨味
overdue
Infrastructure behind the quiz
SM-2+ algorithm
Response quality (again / hard / good / easy) and response time both feed the interval calculation. Slow-correct schedules a shorter follow-up than fast-correct.
4 question types per item
Meaning recognition, reading recognition, meaning recall, and verb conjugation are tracked independently. The system quizzes the weakest type first.
Lives, coins, and streaks
3 lives per session with a coin economy for restoring them (1 life = 2 coins, full refill = 5). Coins also buy Jokers, up to 3 per quiz, which halve the answer choices, eliminating half the wrong options before you answer. A perfect quiz earns a life back if you're below the cap, or coins if you're already full. A skilled kana learner can keep going indefinitely without spending a single coin. Premium removes the cap entirely.
Analytics dashboard
Calendar heatmap, per-deck performance charts, SRS queue size, and streak history. The data that shows whether the app is working.

The foundation content, kana, radicals, and kanji works through the same engine. The kana grid makes each character independently quizzable. The kanji section is organised by JLPT level with radical composition shown for every entry. For learners who already know their kana, all of this can be reviewed in an afternoon and then handed back to the SRS to maintain with minimal effort over time.

The accent themes exist because a beta tester, the same crowd that got Medical and Onomatopoeia made, wrote in to say the default Gray made studying feel like being at the office. Fair. The visual layer runs on the same principle as the content: a single accent token propagates through every surface. Changing Gray to Indigo changes the tab bar indicator, the quiz progress fill, the SRS track bars, and the app icon on the lock screen, all at once. Nothing is hardcoded to a colour. Adding a fifth theme is one token change, not a design pass across every screen. That discipline is what keeps the visual language consistent across an app with six distinct feature areas without a dedicated visual QA pass.

Character grid · SRS progress fill Click steps progress · long-press animates to mastered
Hiragana
Kanji
Radical
Progress ramp · 0 → mastered

Free foundation · hiragana · part of the free tier

Hiragana gojūon · 五十音 Free · 46 characters · all quizzable
a
i
u
e
o
ka
ki
ku
ke
ko
sa
shi
su
se
so
ta
chi
tsu
te
to
na
ni
nu
ne
no
ha
hi
fu
he
ho
ma
mi
mu
me
mo
ya
yu
yo
ra
ri
ru
re
ro
wa
wo
n

04 · Pricing

Generous free tier
Honest premium

The free tier is not crippled or time-limited. Kana, radicals, all JLPT kanji, and the first 1,000 most common words, enough to become a competent reader of basic Japanese, costs nothing. The lives system is the only meaningful constraint, and it has a built-in release valve: a perfect quiz on any content set earns a life back. A practiced kana learner can keep going indefinitely without touching the coin economy. The limit is theoretical for anyone who actually knows their content.

Premium ($80/year) removes the lives cap for learners who want uninterrupted daily sessions. The interest-based and extended vocabulary decks are separate DLC, priced individually, available to any user regardless of subscription status. Building the culinary deck means selecting the right 100 words, sourcing sentences that reflect real kitchen and restaurant usage, translating them into six languages, and verifying every conjugation table. That editorial work has a cost, the week lost to 出汁 included. The lifetime plan ($220, one-time) bundles all of it.

"The tiers exist because curation is work and sessions should be unlimited. Not because access should be scarce."

Free always
Hiragana + Katakana All 92 characters with quiz and SRS tracking
All 214 radicals & JLPT kanji N5 through N1 with readings and examples
1,000 most common words + the Design dictionary
Dictionaries as DLC Interest-based and extended vocabulary decks available for separate purchase
Premium $80 / year
No lives cap Unlimited daily sessions, the lives system is fully removed
Dictionaries as DLC Interest-based and extended vocabulary decks available for separate purchase
CloudKit sync Progress across iPhone and iPad, fetch-first architecture
Lifetime $220 one-time
Everything, forever All current and future content included, no lives cap, no DLC
16 curated interest decks Culinary, Business, Anime, Nightlife, Slang, and 11 more
Core decks 2,000–6,000 The next 5,000 most common words in 5 packs
Store view · deck unlock flow

Outcomes

The bet is simple

The engagement is real. With 4,000 downloads and 2.2 sessions per day, people have built a daily habit around Kann; most apps never reach that level. They return because the content matters to them. A culinary learner comes back for the culinary deck, not because of a nagging streak notification. Reviews often say some version of "words I would actually use", repeating the product's main idea in users' own words.

Revenue is about $500, with one lifetime purchase. The gap between daily use and revenue is the next design problem. The idea is that the app must earn trust before it earns money, and it is earning that trust.

In hindsight, the best decision was not to ship handwriting practice. Research on false muscle memory is consistent: app-assisted strokes make learners feel capable while they still write incorrectly on paper. That was a matter of product integrity. The app should help people learn Japanese, not only feel as if they are learning it.

Kann used LLMs as coding partners from the start. In the first months, we used Claude and ChatGPT, pasted their output into Xcode, and refined it through feedback. Cursor later made the work much faster. The stack now includes Claude Code and local models, used in turn to balance quality and cost. AI never owned the product idea, content curation, SRS algorithm, UX patterns, or visual decisions. But without LLMs supporting implementation, a designer-led team this lean could not have shipped a native SwiftUI app with this depth.

730 commits. 22 curated domains. 7,620 entries. Built and shipped as a native app by the studio over 21 months, because a product that asks for people's time must earn their trust.

View on App Store