Free and open source · Mac, with Windows and Linux coming

Sayfern. A tutor that remembers what you're learning.

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.

v0.9.1 · macOS today · Windows and Linux coming · GPL-3.0 licence · no account

Plate IFig. 1
Polypodium loquaxthe talking fern
8× less of your plan limit than a coding harness11 languages to learnClaude, ChatGPT or OpenRouter sign-inAnki via AnkiConnectVoice with ElevenLabs or free voicesRecords stay on your computer

How a session goes

Talk in full sentences. Sayfern keeps the notes.

Weekend plansclaude · 1.2k tokens
Tutor

上个周末你做了什么?

What did you do last weekend?

除了去公园,我还买了一个书。

Measure wordGrammar

书 counts with 本, not 个.

Try the sentence again before you see the fix.

Try againShow answer

Example session. Counts are illustrative.

01 · You write

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.

02 · Red pen

A mark, then a second try.

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.

03 · Look it up

Hover any word.

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.

04 · It remembers

Progress you can point to.

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

Same model, same lesson. About an eighth of your plan limit.

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.

8.2×less plan-limit usage114,981 vs 943,988 limit units
9.9×smaller peak context7,128 vs 70,616 tokens
4.2×less waiting88 s vs 365 s wall time
2%of the 5-hour window, vs 27%read from rate-limit headers

Tokens sent with each message

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.

SayfernClaude Code + skill
Show as table

Where the savings come from

Totals across five scenarios, two runs each, averaged per run.

SayfernClaude Code + skill

Accuracy: level on what matters, with work left to do.

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.

CheckSayfernClaude Code + skill
Grammar errors flagged (judge)14 / 1414 / 14even
Flagged with a correct fix (judge)14 / 1414 / 14even
False alarms on correct sentences0 / 120 / 12even
Anki facts stated correctly (judge)2 / 4 (2 ungraded)3 / 4re-grading
Fix matched the expected wording exactly11 / 1414 / 14behind
Tutor's own Mandarin mistakes20behind

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

Everything a good tutor does, written down.

#1REMEMBER

Picks up where you left off

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.

#2CORRECT

Marked like homework

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.

#3RECALL

Works from your Anki

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.

#4QUIZ

Quizzes from your mistakes

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.

#5LISTEN

Talk instead of typing

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.

#6BUILD

Ask for the feature you want

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

Eleven languages to learn. Twelve to learn them in.

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.

你好Chinese
こんにちはJapanese
안녕하세요Korean
HelloEnglish
HolaSpanish
BonjourFrench
HalloGerman
CiaoItalian
OláPortuguese
ПриветRussian
Xin chàoVietnamese
Deepest support: Chinese and Japanese Dictionaries: CC-CEDICT, JMdict and more, offline Interface: 12 languages, including Simplified and Traditional Chinese

Bring your own model

Use the AI you already pay for.

Sign in with a plan you have or paste an API key. Switch models whenever you like; your learning record stays the same.

AnthropicClaude Pro or Max sign-in, or an API keysign in
OpenAISign in with ChatGPT, or an API keysign in
OpenRouterOpenRouter sign-in, or an API keysign in
DeepSeekAPI keykey
FireworksAPI keykey
GoogleAPI keykey

Credentials are encrypted with a key held in your system keychain (the macOS Keychain on a Mac).

What we left out

Some things a language app shouldn't have.

  • An account

    Nothing to sign up for. Open the app, pick a language, start talking.

  • Streaks and guilt

    No streak counter and no nagging notifications. Come back when you want to.

  • A subscription

    Sayfern is free. You use a model plan or key you already have, and free voices are built in.

  • Calling recall fluency

    Remembering a card and using a word in a sentence are tracked separately. Only the second counts as use.

  • Your notebook in our cloud

    Learning records and materials stay on your computer. Only the conversation goes to the model you picked.

Get it

Three commands and you're talking.

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

Say it.
Grow it.

A free tutor that remembers what you're learning. Bring your model, bring your Anki, start talking.