WordBrain

Words you already know should get out of the way.

WordBrain marks every word in what you read as known, learning, or unknown, then schedules the ones you still want with FSRS. The SQLite file stays on your machine. No account, no telemetry.

macOS Homebrew

brew tap dickwu/tap
brew install --cask wordbrain

Version 0.3.0 · released July 7, 2026 · MIT · Windows and Linux

.

  • Known
  • Learning
  • Unknown

A sample of the reading view, not a document shipped with the app. Choose a word. Arrow keys move across the sentence. Your own texts take their colors from your vocabulary.

Reading

Every token takes a color from your vocabulary.

Paste, drop, or import a text. The Tiptap reader paints each token against the lemmas you know: known, learning, or unknown. A 10 KB article highlights in well under 500 ms.

Click an unknown word for a Chinese gloss from the dictionary server you configure. From that word you can mark it learned or send it to the FSRS queue.

Import an EPUB and WordBrain splits it into one material per chapter. Subtitle .srt files, Markdown, and plain text import too.

The library scores each saved document by its share of unknown lemmas and recommends a next read around 2 to 5 percent unknown.

On first launch you can seed a known set from the bundled SUBTLEX-US frequency list and set the cutoff yourself.

The Words view lists lemmas with source, frequency rank, exposure count, and your notes. You can set a word's state, add a note, or unmark words in bulk.

Review

What you meant to learn shows up again.

Mark a word for review and it enters an FSRS schedule, through ts-fsrs, with a due date, a lapse count, and a stability value. The sidebar badge counts cards that are due.

The home view is the learning hub: due reviews, words in learning, words new this week, and reviews today. It shows a funnel from unknown to learning to known, a 14-day strip of review activity, the next-read recommendation, and a practice pool sorted by level.

After you reveal a card, the review shows sentences from your own material where you met the word. The session summary recaps words you rated Again or Hard.

Click a word in the reader, the review, the words table, the network, the story view, or the dictionary to open its profile: state and level, the FSRS schedule and recent reviews, dictionary lookups, story and writing use, and each document, AI story, and writing submission that contains it, with your original sentences. A story, cloze and multiple choice, reopens from that profile.

Network

Words that share a text stay linked.

The word network is a cytoscape graph. Words cluster by the documents they share. Click a word to drill into its neighbors, or jump back to the source material. Filter the graph by known, learning, or unknown.

A sample for one saved text, using the sentence above. In the app the same kind of edge is a word that co-occurs in a document you imported.

On this machine

The database does not leave unless you take it.

No cloud account. No telemetry. Vocabulary, documents, exposure, and the FSRS schedule live in one SQLite file, wordbrain.db, for the bundle id com.lifefarmer.wordbrain.

The dictionary server URL is a setting. The API key is encrypted with tauri-plugin-stronghold and read by Rust. It is not passed to the renderer.

The status bar shows the version. It checks GitHub for an update 3 seconds after launch and every 30 minutes, and you can check by hand from the status bar. Turn automatic checks off under Settings → General. macOS releases include a signed updater archive and latest.json. Windows and Linux releases are installers you download.

Tauri v2, Next.js 16, React 19, Tiptap 3, Turso SQLite. MIT license, Peilin Wu.

Install

Put it on the machine you read on.

This page describes WordBrain 0.3.0, the version the Homebrew cask installs.

  1. Install with Homebrew on macOS

    Tap the repository, then install the cask. The cask puts WordBrain.app in /Applications. brew upgrade wordbrain installs a later cask version.

    brew tap dickwu/tap
    brew install --cask wordbrain
  2. If Gatekeeper quarantines the app

    The build is not notarized yet. After install or upgrade, clear the quarantine attribute once, then open WordBrain.

    sudo xattr -d com.apple.quarantine /Applications/WordBrain.app/
  3. Or download the 0.3.0 build

    All releases · v0.3.0 notes

Build from source

You need Bun, a stable Rust toolchain, and macOS 12 or later, Windows 10 or later, or Ubuntu 22.04 or later. Install JavaScript dependencies with Bun. bun run tauri build produces the disk image, msi, or AppImage.

git clone https://github.com/dickwu/wordbrain
cd wordbrain
bun install
bun run tauri dev

Questions

Before you install

What is WordBrain?

WordBrain is a local-first English vocabulary builder with FSRS review and word-network graphs. You import reading material, every word is marked known, learning, or unknown, and the words you choose to practice go onto a spaced-repetition schedule. It is a Tauri v2 app with a Next.js 16 and React 19 interface, a Tiptap 3 reader, and a Turso SQLite database.

How do I install WordBrain on macOS?

Run brew tap dickwu/tap, then brew install --cask wordbrain. The cask installs the universal disk image as /Applications/WordBrain.app. Later versions install with brew upgrade wordbrain. The current cask version is 0.3.0.

What if macOS says WordBrain is damaged or quarantined?

The build is not notarized yet, so Gatekeeper quarantines the bundle. After you install or upgrade, run sudo xattr -d com.apple.quarantine /Applications/WordBrain.app/ once, then open WordBrain normally.

Which operating systems are supported?

WordBrain publishes a universal macOS disk image for Apple Silicon and Intel, a Windows x86_64 .msi installer, and Linux x86_64 .deb and AppImage builds. Building from source requires Bun, a stable Rust toolchain, and macOS 12 or later, Windows 10 or later, or Ubuntu 22.04 or later.

Does WordBrain require an account or send telemetry?

No. There is no cloud account and no telemetry. The SQLite database stays on your machine unless you copy it yourself. Dictionary lookups use the server you configure, and the status bar can check GitHub for updates.

Where are vocabulary data and the dictionary API key stored?

The database is wordbrain.db in the application support directory for com.lifefarmer.wordbrain: ~/Library/Application Support/com.lifefarmer.wordbrain/ on macOS, %APPDATA%\com.lifefarmer.wordbrain\ on Windows, and ~/.local/share/com.lifefarmer.wordbrain/ on Linux. The dictionary server URL is a setting. The API key is encrypted with tauri-plugin-stronghold and used by Rust, not by the renderer.

What can I import, and how does the next read get picked?

You can paste text or import EPUB, .srt subtitles, Markdown, and plain text. An EPUB becomes one material per chapter. Each saved document is scored by its share of unknown lemmas, and the library recommends a next read around 2 to 5 percent unknown.

How does FSRS review work?

Mark a word for review and it enters a ts-fsrs schedule with a due date, a lapse count, and a stability value. The sidebar shows how many cards are due. After you reveal a card, WordBrain shows sentences from your own material where you met that word. The home view counts due reviews, words in learning, words new this week, and reviews done today.

Is the source available?

Yes. WordBrain is MIT licensed. The cask homepage and source repository are https://github.com/dickwu/wordbrain. Releases are at https://github.com/dickwu/wordbrain/releases/latest.