Chats answer questions; this teaches
Everyone "learns with ChatGPT" now, and a week later all that is left is a transcript no one reopens. Real learning needs structure, practice, feedback and repetition. Learn (Almost) Anything closes that gap: you type a topic and it builds a full course around it instead of a single answer.
You pick a topic, language, format and agent. The result can be a full academic course, a compact mini-module, a podcast-style series, a single lesson, or a roadmap that maps a whole journey first and spawns courses from each skill.
The full learning loop
Most AI tools stop at "here is some text". This one keeps going: lessons with real sourced images, Mermaid diagrams and sandboxed interactive widgets (each draft fact-checked before you see it); comprehension tests that interleave earlier concepts; real homework including autograded coding tasks that actually run your code and make you retry until it passes; spaced-repetition flashcards pulled from every lesson; and lecture audio with free OS voices or optional premium TTS.
Your subscription is the engine
The app runs no paid backend. Every model call goes through an agent CLI already installed and authenticated on your machine — Claude Code for Claude Pro/Max, or Codex for a ChatGPT/Codex plan. You install one or both and pick per course. A quality tier (quick / balanced / premium) controls research depth and how much gets generated, so a mini-course stays cheap and a deep-dive goes all in.
The agent CLIs that power it
Install the CLI for the subscription you already have, log in once, and the app uses it for every generation step.
# Claude Pro / Max
npm i -g @anthropic-ai/claude-code && claude login
# ChatGPT / Codex plan
npm i -g @openai/codex && codex login
Your materials, public and private catalogs
Drop documents, links and folders into a Space and courses ground themselves in your material — strictly or with the web as backup. Publish your best courses to the public catalog, install others, and translate any course into another language in full. Teams can run a private catalog inside their own infrastructure with one Docker command, hidden from the public internet.
A self-hosted team catalog
One container gives a team a shared internal course library — onboarding tracks, domain knowledge, tooling guides — alongside the public catalog.
docker run -d -p 8080:8080 \
-e PUBLIC_ORIGIN=http://catalog.internal.example.com:8080 \
-e CATALOG_UPLOAD_TOKEN=your-secret \
-v laa-catalog-data:/data \
legostin/laa-catalog:latest
Local-first and open source
Courses, progress and media live in the local app data directory — no Learn server hosts your content. Agent providers receive only the prompts needed for generation; optional Gemini/Brave integrations only fire for features you turn on. The stack is Tauri 2, React 19 + TypeScript, a Node sidecar calling the Claude Agent SDK and Codex SDK, and SQLite, with signed in-app updates from GitHub Releases.