# Words on Repeat > A spaced repetition vocabulary learning app powered by the FSRS algorithm. Words on Repeat is a web-based flashcard application for language learners. It uses the FSRS (Free Spaced Repetition Scheduler) algorithm — the most accurate open-source spaced repetition scheduler available — to schedule vocabulary reviews at the optimal moment for long-term retention. ## Key Features - FSRS spaced repetition algorithm (peer-reviewed, 20-30% more efficient than SM-2/Anki) - Multi-deck vocabulary management with source/target language configuration - 4-grade review system: Again, Hard, Good, Easy - Learning analytics: retention rate, daily reviews, due forecast, study time tracking - Import from AI assistants (Claude, ChatGPT) via paste JSON or REST API - Deck sharing between users (read-only) - JSON import/export with FSRS state preservation - REST API with 30+ endpoints and API key authentication - Works on any device (responsive web app, no install needed) ## Who It's For Language learners who want an efficient, science-backed vocabulary tool. Particularly useful for learners who want to: - Build vocabulary using spaced repetition without the complexity of Anki - Generate vocabulary words with AI assistants and import them directly - Track their learning progress with detailed analytics - Self-host their vocabulary data ## How It Works 1. Create a deck for your target language (e.g., Spanish to English) 2. Add vocabulary words manually, import JSON, or use AI to generate words 3. Review due cards daily — FSRS schedules each word at the optimal moment 4. Track retention rate, study time, and progress over time ## Technical Details - Stack: Node.js, Express, SQLite, vanilla JavaScript frontend - Algorithm: FSRS v7 (ts-fsrs library), 3-variable DSR memory model - Auth: JWT cookies + API key (Bearer token) authentication - Open source: https://github.com/piotrpalach86/vocab-app ## Links - Website: https://wordsonrepeat.com - Guide/Documentation: https://wordsonrepeat.com/guide - API Spec (machine-readable): https://wordsonrepeat.com/api/spec - GitHub: https://github.com/piotrpalach86/vocab-app ## API Access The REST API supports programmatic vocabulary management. Generate an API key in Settings, then use `Authorization: Bearer sk_...` header. Key endpoints: - GET /api/decks — list decks - GET /api/vocabulary?deck_id=N — list words - POST /api/vocabulary/batch — batch import words - GET /api/spec — full API specification (no auth required)