My App
LoopKit

LoopKit

A production-ready flashcard engine with SM-2 spaced repetition for NestJS and React

LoopKit is an open-source flashcard engine implementing the SM-2 spaced repetition algorithm. It ships as two packages that work together to provide a complete study system.

Packages

PackageDescription
@loopkit/nestjsBackend module for NestJS with pluggable storage, SRS algorithms, and content pipeline
@loopkit/reactFrontend library with headless hooks and pre-styled components

Key Features

  • SM-2 Spaced Repetition — Battle-tested algorithm with configurable parameters
  • Pluggable Storage — Bring your own database via the storage adapter pattern (Prisma adapter included)
  • Headless-First Frontend — Use hooks for full control, or drop in pre-styled components
  • Content Pipeline — Template interpolation with optional Markdown, KaTeX, and code highlighting transforms
  • Import/Export — CSV and JSON import/export for deck portability
  • Statistics — Pure functions for retention rate, study streak, review forecast, and more
  • Undo Support — Undo the last review during a study session
  • Deck Hierarchy — Nested decks with inherited configuration

On this page