An open API service indexing awesome lists of open source software.

https://github.com/developerridoy/flashforge

Spaced repetition flashcard web app with review scheduling, session tracking, and performance stats. Built for the 2025 Code Circuit Hackathon.
https://github.com/developerridoy/flashforge

chartjs education flashcards hackathon memory-learning productivity react spaced-repetition tailwindcss typescript vercel

Last synced: about 2 months ago
JSON representation

Spaced repetition flashcard web app with review scheduling, session tracking, and performance stats. Built for the 2025 Code Circuit Hackathon.

Awesome Lists containing this project

README

          

# πŸ“˜ FlashForge

**FlashForge** is a modern, minimalist spaced repetition flashcard app designed to make long-term retention effortless. Built with React, Zustand, and Radix UI, it delivers a highly responsive, theme-aware, and data-driven study experience with integrated performance insights.

> πŸ† Built for the 2025 [Code Circuit Hackathon](https://codecircuit.ai)
> 🌐 Live site: [https://flashforge-1.vercel.app](https://flashforge-1.vercel.app)

---

## πŸš€ Features

### 🧠 Smart Study Engine
- SM-2 spaced repetition algorithm for adaptive review intervals
- Real-time progress tracking across decks

### πŸ“Š Insightful Review Stats
- Recharts-powered dashboard for session summaries, difficulty distribution, and streak tracking

### πŸ—‚οΈ Deck & Flashcard Management
- Create, edit, tag, and delete decks with rich dialogs
- Markdown-like support for flashcard content
- Dialogs powered by Radix UI components

### 🎯 Session-Oriented Review Mode
- Flip animation for flashcards (Framer Motion)
- β€œEasy / Good / Hard / Again” rating system for feedback
- Daily study target with visual progress bar

### 🧭 Seamless Navigation
- Sidebar layout with responsive shell
- Smooth transitions between views: Review, Stats, Settings

### 🎨 Theming & UI
- Dark/light mode with `next-themes`
- TailwindCSS for rapid UI development
- Radix-based component system for clean accessibility and interaction

---

## πŸ› οΈ Tech Stack

| Layer | Stack |
|--------------|--------------------------------------|
| Framework | [Next.js 15](https://nextjs.org) |
| Language | TypeScript |
| Styling | TailwindCSS + `tailwindcss-animate` |
| UI System | Radix UI + Framer Motion |
| State Mgmt | Zustand |
| Charts | Recharts |
| Forms | React Hook Form + Zod |
| Icons | Lucide |
| Date Logic | date-fns |
| Misc | cmdk, uuid, clsx, etc. |

---

## πŸ“ Project Structure

```
app/
β”œβ”€β”€ layout.tsx # Root layout shell
β”œβ”€β”€ page.tsx # Landing page logic
β”œβ”€β”€ globals.css # Global Tailwind styles
└── components/
└── ui/
β”œβ”€β”€ app-header.tsx
β”œβ”€β”€ app-shell.tsx
β”œβ”€β”€ app-sidebar.tsx
β”œβ”€β”€ create-card-dialog.tsx
β”œβ”€β”€ create-deck-dialog.tsx
β”œβ”€β”€ dashboard-view.tsx
β”œβ”€β”€ deck-view.tsx
β”œβ”€β”€ edit-deck-dialog.tsx
β”œβ”€β”€ flashcard.tsx
β”œβ”€β”€ mode-toggle.tsx
β”œβ”€β”€ review-view.tsx
β”œβ”€β”€ settings-view.tsx
β”œβ”€β”€ stats-chart.tsx
└── theme-provider.tsx

hooks/
└── useSpacedRepetition.ts # Encapsulates SM-2 logic
```

---

## πŸ“¦ Getting Started

### πŸ”§ Prerequisites
- Node.js v18+
- pnpm or npm

### πŸ› οΈ Installation

```bash
git clone https://github.com/yourusername/flashforge.git
cd flashforge
pnpm install # or npm install
pnpm dev # or npm run dev
```

### πŸ§ͺ Run Linter

```bash
pnpm lint
```

---

## πŸ”„ Build & Deployment

```bash
pnpm build
pnpm start
```

Hosted on **Vercel**:
πŸ‘‰ [https://flashforge-1.vercel.app](https://flashforge-1.vercel.app)

---

## 🧠 Future Enhancements

- πŸ”’ Optional auth layer for syncing decks
- πŸ“± PWA support for offline studying
- πŸ” Deck sharing and public library features
- πŸŽ“ Difficulty prediction and smart suggestions (AI-ready architecture)

---

## 🏁 Hackathon Submission

- 🧩 Prompt: *Spaced repetition flashcard engine with review stats*
- πŸ”— Live App: [https://flashforge-1.vercel.app](https://flashforge-1.vercel.app)
- πŸ—ƒ GitHub Repo: [https://github.com/yourusername/flashforge](https://github.com/yourusername/flashforge)

---

---

## πŸ™Œ Acknowledgements

- [Radix UI](https://www.radix-ui.com/) for accessible components
- [Recharts](https://recharts.org/) for data visualization
- [Framer Motion](https://www.framer.com/motion/) for interaction animations

---

> β€œIf knowledge is power, memory is the engine. FlashForge keeps it running.”