Nichi

A Japanese dictionary for iPhone and Android that shows the pitch accent of every word and works fully offline.

Year
2026
Runs on
iPhone, Android (not on Google Play yet)
Built with
Rust, Swift, SwiftUI, UniFFI, SQLite, Text-to-speech, App Store
Links
Searching “hashi” in Nichi: chopsticks, end and bridge, each with its pitch accent drawn over the reading
Nichi settings for pitch accent display and example sentences with furigana

The problem

Most Japanese dictionaries tell you what a word means and how to read it, but not how to say it. Pitch accent is the difference between 箸 (chopsticks) and 橋 (bridge), and most learners find out it matters years in.

What I built

Nichi shows the pitch pattern for all 240,000+ entries in JMdict, and the whole dictionary lives on the phone, so it works on a plane or in a subway. You can search in kanji, kana, romaji or English. Entries have readings, meanings, stroke order and example sentences with optional furigana.

Hearing a word matters as much as seeing its pitch, so I used text-to-speech to generate native-sounding audio for the most common words, packaged into downloadable voice packs. Example sentences and anything else outside those packs are voiced on demand by my own speech server, in the same natural Japanese voices.

The search engine is written once in Rust over a bundled SQLite database. On iPhone it’s called directly from a SwiftUI app; the Android version is finished but not yet on Google Play. There are no ads and no account.

Result

Nichi launched on the App Store with in-app purchases for the voice packs and pro features. Later I made all of it free. It’s now in maintenance mode: it keeps working for everyone who has it installed, but I’m not adding new features.