← All projects
shipped 2026

Language Tutor

A free, local tutor for the three languages I'm learning, with flashcards that write themselves.

Language Tutor hero
A Mandarin session: the tutor breaks 我饿 (wǒ è) into characters, pinyin, and meaning, one line at a time.

Why this exists

I wanted to know if we had finally reached the point where a free AI language tutor is actually viable, both technically and economically. The idea had been sitting in my imagination since ChatGPT went mainstream in late 2022. Much of 2026 has been me rediscovering those old ideas and pushing myself to use how capable and accessible AI has become. I have spent the last few years building my Spanish fluency, and I want a third and maybe a fourth language, so this was the perfect thing to test the question on.

What it does

Two things, and they feed each other.

It all runs on my laptop. The API key and the deck stay on my disk.

How it works

  1. Pick a language and chat. A small web page on localhost sends the conversation to the model with a per-language tutor prompt that fixes the level and the script rules.
  2. Mine the session. When I end a session, a second prompt reads the transcript and returns a clean list of flashcard candidates as structured data.
  3. Save the keepers. The cards I approve go into a local SQLite file along with their scheduling state.
  4. Review on schedule. The FSRS library sets each card’s next due date from how I graded it, and the review tab serves whatever is due.

A few choices kept it small. The model sits behind a thin interface, so the free Gemini key it uses today could be swapped for a local, offline model later without touching the rest. The spaced-repetition half needs no AI at all, so my deck works offline and free forever. And the whole thing is local-first: one command, a browser tab, no accounts and no hosting.

What’s next

What I learned

You can build almost anything you can picture now. This exact tool was near the ceiling of what I could imagine a few years ago, and it took about an hour to put together. It really does feel like we are living in the future.

Status

Shipped. Running on my laptop. The next iteration is voice, not new screens.

← All projects