DEV Community

Cover image for Building Tikrar: A Modern Spaced-Repetition PWA to Beat Ebbinghaus' Forgetting Curve
Amani amona
Amani amona

Posted on

Building Tikrar: A Modern Spaced-Repetition PWA to Beat Ebbinghaus' Forgetting Curve

react, webdev, pwa, showdev

Every learner faces the same wall: forgetting information shortly after study sessions. According to Hermann Ebbinghaus' Forgetting Curve, humans lose over 50% of newly learned information within days unless it is systematically reviewed.

To solve this, I built Tikrar — a lightweight, intuitive Spaced-Repetition Progressive Web App (PWA) designed to lock knowledge into long-term memory with minimal effort.

💡 Core Concept & Spaced Repetition Logic

Tikrar uses an optimized spacing algorithm ($24\text{h} \rightarrow 3\text{d} \rightarrow 7\text{d} \rightarrow 14\text{d} \rightarrow 30\text{d} \rightarrow \text{Monthly}$) to trigger reviews right before you forget.

Users rate their recall difficulty after each review session:
Forgot (Hardest): Resets interval to Day 1.
Good (Optimal): Advances to the next interval step.
Easy: Skips ahead by 2 interval steps.

🚀 Key Features

  1. Gamified Motivation: Streak counter and mastery progress bars.
  2. Flashcards & Attachments: Question/Answer card design with notes and image attachments.
  3. Structured Categories: Custom tags and difficulty levels per subject (e.g., Languages, Math, Medical).
  4. Focused Review Session: One-click review mode for due cards (Anki-style study flow).
  5. Flexibility: Custom spacing intervals, single-day postponement without breaking streaks.
  6. Modern UX: Fast search, card sharing, dark/light mode toggle, and multi-language support (Arabic, English, French).

🛠️ Tech Stack & Architecture

Frontend: React + Tailwind CSS
Build Tool: Vite
Backend & DB: Supabase (PostgreSQL)
Deployment: Vercel
Platform: PWA (Progressive Web App - installable on Desktop & Mobile)

🔗 Try It Out

Live App: Tikrar Web App
GitHub Repository: Feel free to explore the codebase, star, or submit feedback!

I would love to hear feedback from the developer community! What algorithms or study methods do you rely on for long-term retention?.

Top comments (0)