Personal project · Desktop app

Teach Me. A course that writes itself as you learn.

You name a topic. An AI teacher writes the lessons, quizzes and reference notes into plain markdown files in a folder you own, and the app renders them as a course you read, answer and talk back to.

DownloadFree for macOS, Windows and Linux. No account, no telemetry, no server.

macOS on Apple Silicon (.dmg) · Windows 64-bit (setup .exe) · Linux 64-bit (.AppImage) · first launch on macOS needs "Open Anyway" in Privacy & Security

Teach Me course screen: lesson list, reading column and the Teacher panel

A course in progress: lessons on the left, the reading column, and the Teacher panel answering a question.

How it works

01

Name a topic

New course asks for a topic. The app creates a folder and opens the teacher with it.

02

The teacher plans and writes

The agent writes a mission, then the first lesson with a goal, a win, a quiz and a task.

03

Read, answer, do

Lessons render with highlighted code, quizzes and task checklists. Progress is tracked; the app reopens where you left off.

04

Talk to the teacher

A side panel chats with the same agent session. The conversation is saved next to the course.

05

Ask for the next lesson

When the last lesson is read, the Next button asks the teacher to write the next one.

"Ask for the next lesson" is the whole loop. The course grows at your pace.

Works with

Claude Code

agent CLI

GitHub Copilot CLI

agent CLI

opencode

agent CLI

Anthropic / OpenAI / Google

API key

The app drives the agent you already have, headlessly, inside each course folder. Bring your own agent or API key; there is nothing to subscribe to.

Your files, your folder

A course is a folder of markdown: a mission, numbered lessons, references and the teacher's learning record. You can read every file in any editor, put the folder in git, or hand it to someone else.

That is the difference from chat apps: when you are done, you have a course, not a scrollback. API keys stay in the OS keychain; nothing leaves your machine except the calls to your own agent.

---
id: 3
title: "Ownership and borrowing"
goal: "Understand why Rust moves values"
win: "Fix a borrow error without cloning"
---

## Why moves exist

Rust has three rules...

```quiz
question: "What happens to `s` after `let t = s;`?"
options:
  - "It is moved and can no longer be used"
  - "It is copied byte for byte"
answer: 0
```

In the app

Quizzes with shuffled options and saved answers, task checklists, charts, callouts and tables.

Monokai-highlighted code blocks with Copy and Expand, in both themes.

A per-lesson progress rail that doubles as the scrollbar; exact scroll position remembered.

Cmd+K palette: full-text search across the course with jump-to-paragraph.

Teacher panel with question forms and a transcript tagged by lesson.

Light and dark themes, native-feeling chrome, in-app self-update.

Plugin SDK: a folder with plugin.json, renderer.js and format.md adds a lesson block type, without forking the app.

Each plugin renderer runs sandboxed, with no file, network or app access, and stays off until you enable those exact bytes.

Teach Me courses screen with one card per course folder
Courses. One card per folder.
Teach Me lesson rendering an interactive chart block
Blocks. Charts and interactive answers inside a lesson.
Teach Me command palette searching across the course
Search. Cmd+K across the whole course.
Teach Me settings screen listing installed block renderer plugins
Plugins. Custom block renderers, each sandboxed.
Teach Me settings screen with agent, courses folder and update options
Settings. Agent, courses folder, updates.