Source code for saleEducation & coursesContent generationMobile apps

Shikomu

A Japanese tutor that knows what you know: stories at your level, conversations, reviews, and an AI teacher.

by Zach Daniel1 buyer0 subscribers
Your bookshelf: stories that continue as chapters
The teacher picks up where you left off
Reading a chapter, set vertically, with new and learning words marked
A konbini conversation, with furigana and audio
A kanji's radicals, and the mnemonic written from them
What you know: reviews coming due, and what keeps tripping you up
A study log written from what you did

Shikomu is a Japanese tutor that keeps a model of every word, kanji and grammar point the learner has met, and builds everything around it: stories written at their level, conversations that steer toward what they're learning, reviews scheduled by a memory model, and a teacher they can talk to.

Features

  • Reading. Generated stories (which can continue as chapters on a bookshelf), passages the learner brings in, and camera captures, all annotated the same way: words split with Sudachi, furigana where it's needed, grammar points found by pattern, and comprehension checks.
  • Talking. Real-world scenarios (konbini, izakaya, clinic, a Discord chat) where the model plays the other side. Turns are graded as they go, and each conversation ends with a debrief.
  • A teacher. A running lesson with a teacher that calls tools: looking things up, testing the learner, starting reviews and stories, and updating what it knows about them.
  • Reviews. Cards for words, kanji and grammar, scheduled from the evidence of everything the learner does, with example sentences written for them.
  • Kanji. Each kanji's radicals, named, and mnemonics written from them (or the learner's own).
  • Voice. Sentences, words and the teacher's messages read aloud by ElevenLabs.
  • iOS app. The site in a Capacitor web view, with push notifications and a badge.
  • Safari extension. Annotates Japanese on any page, and brings pages in to read.
  • An MCP server for the learner's own agents, and per-learner tracking of what model and voice calls cost.

Built with

Elixir and Ash (AshPostgres, AshAuthentication, AshOban, AshAi, AshTypescript, AshStorage), Phoenix, PostgreSQL and Oban; a React front end (TanStack Router and Query) over AshTypescript's RPC; and a Rust NIF for Sudachi. Anthropic's Claude writes and teaches; TypeSafe's Jev grades and judges.

What you need

Elixir 1.20 (OTP 29), PostgreSQL, Node and a Rust toolchain, plus API keys for Anthropic and TypeSafe (and ElevenLabs for audio). mix setup downloads and imports the dictionaries. It's set up to deploy to Fly.io, and the README covers configuration and deployment. The iOS app and the Safari extension need an Apple developer account.

Included, and not

Included: the full source of the server, web app, iOS app and Safari extension, with tests.

Not included: the dictionaries (JMdict, KANJIDIC2, KRADFILE, KanjiVG, Sudachi's dictionary and the frequency lists are downloaded during setup, under their own licences), WaniKani's radicals (if you have a WaniKani account, it can fetch them for your own use), or a hosted instance. It's built as a personal app: sign-up is limited to an allowlist of emails, and sign-in emails go to the log until you configure a mailer.

Services you'll need

To run it, you'll need an account with each of these, or to host them yourself.

  • The database: the catalog, learners' knowledge, texts, lessons and background jobs (Oban).

  • Claude writes stories, plays conversations, teaches, and writes example sentences and mnemonics.

  • Jev, an evaluation model, for judgments: grading answers and turns, and checking generated text.

  • Reads sentences, words and the teacher's messages aloud.

  • Fly.io ↗Optional

    Hosting: it's configured to deploy there (fly.toml, Dockerfile), but runs anywhere a Phoenix release does.

  • Stores audio clips. Without it they're stored on disk.

  • Building and signing the iOS app and Safari extension, and an APNs key for push notifications.

License

It doesn't come with a license file of its own, so the standard license in Moatless's Terms applies: you can use and change the code, and build products with it, including commercial ones, but not resell or redistribute the code itself.

Sold by

Zach Daniel

@zachdaniel

Rating
None yet
Buyers
2
Codebases
2
for sale
Wishlisted
3
times
See all 2 codebases from @zachdaniel

Reviews

No reviews yet.

Releases

  1. v1.0.0Oct 26, 2026

    The first release: the server and web app, the iOS app and the Safari extension. See the README to set it up.