https://github.com/arvarik/toolbox
System Design Interview Study App
https://github.com/arvarik/toolbox
docker gemini-api interview-prep nodejs react self-hosted sqlite system-design
Last synced: about 2 hours ago
JSON representation
System Design Interview Study App
- Host: GitHub
- URL: https://github.com/arvarik/toolbox
- Owner: arvarik
- Created: 2026-06-11T23:45:40.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2026-06-22T06:21:31.000Z (14 days ago)
- Last Synced: 2026-06-22T08:14:12.539Z (14 days ago)
- Topics: docker, gemini-api, interview-prep, nodejs, react, self-hosted, sqlite, system-design
- Language: JavaScript
- Homepage: https://arvarik.com/toolbox
- Size: 2.55 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π§° Toolbox
**A self-hosted AI study hub for system design interviews**
[](https://hub.docker.com)
[](LICENSE)

Toolbox is a self-hosted web app that brings together everything you need to prepare for system design interviews: an AI tutor, an editable knowledge library, a drag-and-drop architecture whiteboard, spaced-repetition flashcards, and a Pomodoro timer β all in one dark, focused interface.
---
## β¨ Features
| Feature | Description |
|---------|-------------|
| π€ **AI Learning Chat** | Session-based chat with 4 AI personas (Socratic, ELI5, Strict, Devil's Advocate), topic-specific starter prompts, and concept map generation |
| π **Knowledge Guide** | 7-pillar structured library with AI-assisted Commit flow to save learnings from chat sessions |
| π¨ **Architecture Builder** | Drag-and-drop whiteboard with 20+ components, bezier connections, templates, and AI design verification |
| π **Flashcards + SRS** | SM-2 spaced repetition system with per-deck settings, card browser, deck stats, and a study activity heatmap |
| π§ **Feynman Simulator** | Voice-enabled Feynman technique: explain a concept, get structured AI feedback on gaps |
| π **Interleaved Review** | Study all due cards across every deck in a single shuffled session |
| π
**Pomodoro Timer** | Persistent focus timer with plant gamification (π±βπΈβπ₯) and Strict Mode |
| βοΈ **Shadow Memory** | The AI learns your timeline, strengths, and goals across sessions for personalized coaching |
---
## πΈ Screenshots
Architecture Whiteboard Builder
Structured Knowledge Guide
Spaced Repetition Flashcards
Feynman Technique Simulator
---
## π Quick Start
### Docker Compose (Recommended)
```bash
git clone https://github.com/arvarik/toolbox.git
cd toolbox
cp .env.example .env
# Add your API keys to .env (or configure via the Settings UI)
docker compose up -d
```
Access at `http://your-server:3100`.
> Get a free Gemini API key at [Google AI Studio](https://aistudio.google.com/apikey)
### Local Development
```bash
npm install
npm run dev # Vite (5173) + Express (3100)
```
---
## π Documentation
| Document | Description |
|----------|-------------|
| [User Guide](docs/user-guide.md) | Complete guide to all features and workflows |
| [API Reference](docs/api.md) | Full REST API β every endpoint, request/response shape |
| [SRS Algorithm](docs/srs-algorithm.md) | SM-2 implementation, state machine, Hypercorrection Penalty |
| [Deployment Guide](docs/deployment.md) | Docker, Proxmox LXC, Nginx/Caddy setup |
| [Architecture](docs/architecture.md) | Tech stack, data model, AI integration |
| [Design Reference](docs/design.md) | CSS design system, component patterns, motion guidelines |
| [Agent Instructions](docs/AGENTS.md) | For AI coding agents β rules, patterns, gotchas |
| [Contributing](CONTRIBUTING.md) | Dev setup, coding standards, PR process |
---
## βοΈ Configuration
| Variable | Default | Description |
|----------|---------|-------------|
| `PORT` | `3100` | Server port |
| `DB_PATH` | `./data/toolbox.db` | SQLite database path |
| `GEMINI_API_KEY` | β | Gemini API key (can also be set via Settings UI) |
| `CLAUDE_API_KEY` | β | Claude API key (can also be set via Settings UI) |
All user data lives in a single SQLite file β back it up by copying that file.
---
## π οΈ Tech Stack
React 19 Β· Vite Β· React Router Β· Zustand Β· Vanilla CSS Β· Node.js Β· Express Β· SQLite (`better-sqlite3`) Β· Google Gemini API Β· Docker
---
## π License
MIT