Gradient
Gradient is a language learning Claude-powered app that transforms English text progressively into a target language through 7 levels of "gradient immersion".
Core trick
Rewrites source text across seven levels, shifting grammar before vocabulary, and annotates each term only on its first occurrence.
Tags
Description
Gradient is a language learning Claude-powered app that transforms English text progressively into a target language through 7 levels of "gradient immersion". Users read a story that gradually shifts from English to target language — grammar first, then vocabulary — so the target language's structure should become intuitive before new words appear. The reader interface features inline annotations with translations, pronunciation (IPA), and grammar notes in a synchronized side panel. Terms are explained only on first occurrence across the entire project. Additional tools include side-by-side comparison mode, contextual grammar chat (double-click any word), comprehension quizzes, text-to-speech, and spaced-repetition flashcards — all generated automatically from the reading content. Claude can answer any questions on grammar and vocabulary, and prepare personalized study sessions and quizzes.
README excerpt
# Gradient Reading Gradient Reading is an app that transforms source text into a progressive 0-7 language-learning gradient. Readers can move level-by-level from source-heavy text to target-language text while keeping story continuity and inline vocabulary support. ## Highlights - FastAPI backend + React/Vite frontend - Async transformation jobs with progress polling - Source and target language selection per project - 0-7 graded output with inline annotations and footnotes - Reader with notes, side-by-side compare mode, chat, quiz, and TTS - Dictionary view across projects with direct context deep links - Anki-style flashcard review with multiple card schemas - Export to PDF, Markdown, and EPUB - Assessment flow that updates a user's starting level per language ## Supported Languages Language configs currently include: - `en`, `es`, `fr`, `it`, `pt`, `de`, `pl`, `ru`, `ja`, `zh`, `ko`, `he`, `ar` - Non-Latin targets are rendered in romanized text by default, with native script available in term metadata/hover details and a native-script toggle in advanced levels. ## Prerequisites - Python 3.10+ - [uv](https://docs.astral.sh/uv/) (Python package manager) - Node.js 18+ - npm - Docker + Docker Compose (optional, for containerized run) - An [Anthropic API key](https://console.anthropic.com/) - WeasyPrint system dependencies (for PDF export) Linux/WSL: ```bash sudo apt-get update sudo apt-get install -y libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev