Skip to content

Spaced Repetition Flashcard System - Vibe coded using Claude Code!

License

Notifications You must be signed in to change notification settings

charstorm/repeatrom

Repository files navigation

repeatrom

A spaced repetition flashcard system for mastering general knowledge through adaptive multiple-choice question testing.

Demo

Note: Both use LLM generated course materials. You can find them under data/courses.

Overview

Repeatrom uses a two-tier adaptive selection algorithm to present questions at appropriate difficulty levels based on demonstrated competence. Questions move through four mastery pools — Latent, Test, Learned, and Master — with automatic promotion and demotion based on consecutive correct or incorrect answers.

Key features:

  • Adaptive learning — question difficulty adjusts based on performance
  • Spaced repetition — strategic timing prevents cramming and premature forgetting
  • General purpose — works for any subject expressible as multiple-choice questions
  • Offline-capable — data stored locally in IndexedDB

Tech Stack

  • Frontend: React 19, TypeScript, Tailwind CSS 4
  • Build tooling: Vite 7
  • Runtime: Bun
  • Storage: IndexedDB (browser-local)

Prerequisites

  • Bun installed

Getting Started

Install dependencies:

bun install

Start the development server:

bun run dev

Build for production:

bun run build

Preview the production build:

bun run preview

Lint the codebase:

bun run lint

Project Structure

src/
  components/   # Reusable UI components
  screens/      # Page-level screen components
  context/      # React context providers
  data/         # Data layer and IndexedDB implementation
  assets/       # Static assets

About

Spaced Repetition Flashcard System - Vibe coded using Claude Code!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages