Train your thinking for technical interviews by recording and reviewing your problem-solving explanations.
Rewind is a spaced-repetition learning system designed for DSA interview preparation. Instead of just solving problems, you record audio explanations of your approach, then revisit them periodically to reinforce your understanding.
Core Philosophy: Interview success comes from how you think, not just what you know.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Frontend (React PWA) โ
โ โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโ โ
โ โ Login โ โDashboard โ โQuestionsโ โ Solve โ โ Revisions โ โ
โ โโโโโโฌโโโโโ โโโโโโฌโโโโโโ โโโโโโฌโโโโโ โโโโโโฌโโโโโ โโโโโโโฌโโโโโโ โ
โ โ โ โ โ โ โ
โ โโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโผโโโโโโโโโโ โ
โ โ API Client โ โ
โ โ + Audio Recorder โ โ
โ โโโโโโโโโโโฌโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ REST API + JWT
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ-โโ
โ Backend (Spring Boot) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Security (JWT + Supabase) |โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ Questions โ โ Solutions โ โ Recordings โ โ Revisions โ โ
โ โ Controller โ โ Controller โ โ Controller โ โ Controller โ โ
โ โโโโโโโฌโโโโโโโ โโโโโโโฌโโโโโโโ โโโโโโโฌโโโโโโโ โโโโโโโโโฌโโโโโโโโโ โ
โ โ โ โ โ โ
โ โโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโ โ
โ โ JPA Repositories โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Supabase (PostgreSQL) โ
โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โ Users โ โQuestionsโ โ Recordings โ โ Revision Schedule โ โ
โ โ โ โ Patternsโ โ Solutions โ โ Readiness Stats โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite 7, TanStack Query |
| Auth | Supabase Auth (Email/Password) |
| Backend | Spring Boot 3.2, Java 17, Lombok |
| Database | PostgreSQL (Supabase) |
| Migrations | Flyway |
| State | Zustand |
| PWA | Vite PWA Plugin, Workbox |
rewind/
โโโ rewind-backend/ # Spring Boot API
โ โโโ src/main/java/com/rewind/
โ โ โโโ controller/ # 6 REST controllers
โ โ โโโ model/ # 13 JPA entities
โ โ โโโ repository/ # Data access layer
โ โ โโโ service/ # Business logic
โ โ โโโ config/ # Security, JWT
โ โโโ src/main/resources/
โ โโโ db/migration/ # Flyway SQL migrations
โ
โโโ rewind-frontend/ # React PWA
โโโ src/
โโโ api/ # API client
โโโ lib/ # Supabase config
โโโ pages/ # 5 page components
โโโ stores/ # Zustand auth store
โโโ hooks/ # Audio recorder hook
- Java 17+
- Node.js 18+
- Supabase account
cd rewind-backend
export JAVA_HOME=/path/to/java17
cp .env.example .env # Add your Supabase credentials
source .env
mvn spring-boot:runcd rewind-frontend
cp .env.example .env # Add Supabase URL and anon key
npm install
npm run devCore Entities:
User- Auth profile synced with SupabasePattern- 21 DSA patterns (Two Pointers, Sliding Window, etc.)Question- 169 curated LeetCode problemsUserQuestion- User's progress on each questionSolution- Submitted code with languageExplanationRecording- Audio recordings with transcriptRevisionSchedule- Spaced repetition queueReadinessSnapshot- Interview readiness tracking
| Feature | Description |
|---|---|
| Curated Question Bank | 169 must-do DSA problems organized by pattern |
| Audio Recording | Record your thought process while solving |
| Spaced Repetition | Smart revision scheduling based on confidence |
| Readiness Meter | "Days to MAANG readiness" tracker |
| Pattern Filtering | Filter questions by pattern + difficulty |
| PWA Support | Install as app, works offline |
- AI Feedback - Gemini integration for analyzing explanations
- Transcript Generation - Auto-transcribe recordings with Whisper
- Progress Analytics - Charts showing improvement over time
- Share Recordings - Share explanations with study groups
- Study Groups - Create/join groups for accountability
- Leaderboards - Compete with friends on consistency
- Discussion Threads - Discuss approaches per question
- Mock Interviews - Pair up for practice sessions
- Company-specific Tracks - Google, Meta, Amazon question sets
- Behavioral Questions - STAR method recorder
- Mobile App - Native iOS/Android with React Native
- Browser Extension - Record directly on LeetCode
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE for details.
Built with โค๏ธ by Gajanan