Jouzu

An iOS Japanese study app that turns photos of real text into vocabulary you can inspect, save, and review.

Created
Mar 2026
Updated
Apr 2026
SwiftSwiftUIOCRJapanese Learning
View on GitHub →
On this page

Overview

Jouzu is an iPhone app for learning Japanese from text you actually encounter: signs, menus, book pages, and your own study lists. Instead of starting with pre-made flashcards, it starts with real input and turns that input into something you can understand, save, and review.

What makes the project interesting is that it is not just an OCR demo. The app combines camera capture, Japanese tokenization, dictionary lookup, grammar cues, JLPT metadata, and a built-in review loop so the output is usable as study material instead of just a translation result.

Why I Built It

When I was studying for the JLPT (and continuing studying Japanese now), I spent a good portion of my time reading Japanese tweets, books, and online articles. Whenever I ran into a word I did not know, I had to look it up, check the meaning, and then copy the useful parts into a spreadsheet so I could come back to it later.

I built Jouzu to make that process less manual. Instead of bouncing between reading, dictionary lookup, and note-taking, I wanted one flow that could turn something I was curious about in the moment into something I could actually study.

How It Works

  • Uses Apple Vision to capture Japanese text from photos or imported images
  • Tokenizes the recognized text with MeCab, then filters for unique Japanese vocabulary worth studying
  • Resolves readings, definitions, JLPT levels, and grammar context from a bundled dictionary layer, with translation enrichment as a fallback
  • Shows the analysis inline so the learner can inspect the source text and the extracted words together
  • Saves useful vocabulary into a built-in spaced-repetition review flow based on the SM-2 algorithm

Features

  • Camera OCR capture: uses the iPhone camera and Vision framework to turn real-world Japanese text into something the app can analyze
  • Japanese-first text analysis: MeCab tokenization plus filtering keeps the focus on useful vocabulary instead of noisy OCR output or grammar-only fragments
  • Inline study context: readings, definitions, JLPT badges, grammar cues, and cleaned translation output stay attached to the original text
  • Built-in review loop: saved words flow directly into an in-app spaced-repetition system instead of getting lost after a single lookup
  • Local-first dictionary layer: a bundled JMdict subset provides broad offline coverage before falling back to translation-based enrichment