Answer like you would in person.
The tutor asks real questions at your level, using words from your Anki deck and grammar you've been working on. Words underlined in green are ones you're studying.
Free and open source · Mac, with Windows and Linux coming
Practise a language in real sentences with the AI you already use. Sayfern marks your mistakes like a teacher, works from your Anki deck, and keeps a record of every grammar point you've tried, so the next session starts where this one ended.
How a session goes
上个周末你做了什么?
What did you do last weekend?
除了去公园,我还买了一个书。
书 counts with 本, not 个.
Try the sentence again before you see the fix.
Example session. Counts are illustrative.
The tutor asks real questions at your level, using words from your Anki deck and grammar you've been working on. Words underlined in green are ones you're studying.
Mistakes are marked in place with a short reason. You get to fix the sentence yourself before the answer appears. Style suggestions are labelled apart from real errors.
The reading, the dictionary meaning, whether it's in your Anki, and a button to hear it. Dictionaries run on your computer, so lookups are instant.
Try it: hover or tap an underlined word in the window.
Every attempt at a grammar point is saved with the sentence you wrote. Sayfern separates what you used with help from what you used on your own, and brings weak points back in later conversations.
Benchmark
We ran identical scripted lessons through Sayfern and through Claude Code with a Mandarin tutoring skill: the same model, the same learner messages, the same Anki deck and reader. A proxy recorded every request each one sent.
A twelve-message conversation. Claude Code + skill resends about 65,000 tokens of instructions, tools and history every turn. Sayfern sends what the turn needs.
Totals across five scenarios, two runs each, averaged per run.
A separate judge model graded both tutors against the same answer key. Both caught every real error with a correct fix and raised no false alarms. Sayfern is behind on exact-wording matches and made two Mandarin slips of its own.
| Check | Sayfern | Claude Code + skill | |
|---|---|---|---|
| Grammar errors flagged (judge) | 14 / 14 | 14 / 14 | even |
| Flagged with a correct fix (judge) | 14 / 14 | 14 / 14 | even |
| False alarms on correct sentences | 0 / 12 | 0 / 12 | even |
| Anki facts stated correctly (judge) | 2 / 4 (2 ungraded) | 3 / 4 | re-grading |
| Fix matched the expected wording exactly | 11 / 14 | 14 / 14 | behind |
| Tutor's own Mandarin mistakes | 2 | 0 | behind |
Run on 2026-10-01: Sayfern 0.6.0 vs Claude Code 2.1.220 with the mandarin-thinking-practice skill, both on Claude Sonnet 5.5. Five scenarios (corrections, Anki questions, graded reading, two-session continuity, a long chat), two repetitions each, on the public synthetic fixtures. Plan-limit usage is an estimate: tokens weighted by API price. The 5-hour figure is the change in Anthropic's rate-limit headers and can include other traffic on the account. Run it yourself with npm run bench -- run; method in docs/benchmark.md.
Features
Sessions resume with your reading position, the grammar you're shaky on and the words you keep missing. Add notes about yourself and the tutor uses them.
Original, suggestion and a one-line reason. Every correction is collected in Review, where you can filter, retry old sentences and turn them into cards.
Reads your collection through AnkiConnect and keeps conversations inside the words you know. No deck yet? Sayfern builds one in batches of 25, with checked readings and audio.
Cloze, ordering, multiple choice or written answers, at your level or an HSK or JLPT level. Fixed answers are graded on your computer. Quiz scores never count as free use.
Hold to speak and your words land in the chat. Hear any reply or word, slowed to 0.7× if you need it. Use your ElevenLabs accounts or the free voices built in.
Describe a new tab or practice activity and your model builds it. New features run sandboxed. Anything that needs full access waits for your approval.
Languages
The app follows your system language, and explanations come in the language you read best. Each language keeps its own record, dictionary and Anki deck.
Bring your own model
Sign in with a plan you have or paste an API key. Switch models whenever you like; your learning record stays the same.
Credentials are encrypted with a key held in your system keychain (the macOS Keychain on a Mac).
What we left out
Nothing to sign up for. Open the app, pick a language, start talking.
No streak counter and no nagging notifications. Come back when you want to.
Sayfern is free. You use a model plan or key you already have, and free voices are built in.
Remembering a card and using a word in a sentence are tracked separately. Only the second counts as use.
Learning records and materials stay on your computer. Only the conversation goes to the model you picked.
Get it
Sayfern is GPL-3.0 licensed and built in the open. The first launch walks you through connecting a model, choosing languages and linking Anki.
$ git clone https://github.com/yufengliu15/Sayfern.git $ cd Sayfern && npm install $ npm run dev # onboarding opens: connect a model, pick a language
2055492159A free tutor that remembers what you're learning. Bring your model, bring your Anki, start talking.