A high-performance, brutalist-designed Data Structures and Algorithms (DSA) tracking system. Built for efficiency, prioritization, and long-term interview preparation.
DSA Prep Tracker is a full-stack application designed to help developers track their problem-solving progress with a focus on interview frequency, difficulty distribution, and topic mastery.
- Brutalist UI: High-contrast, minimalist design with a "White/Dark" charcoal theme.
- Priority Tracking: Integration of company-specific question frequencies to prioritize high-signal problems.
- Detailed Analytics: Real-time charts showing difficulty ratios, recent activity, and company breakdowns.
- Secure Auth: Full Email/Password authentication with persistent sessions.
- Centralized Knowledge: A dedicated "Question Detail Modal" providing all context (links, companies, topics) without disrupting the list flow.
- Frontend: React (Vite), Tailwind CSS (v4), Zustand/Context State Management.
- Backend: Node.js, Express, TypeScript.
- Database: PostgreSQL (Neon/Local) with raw SQL for high-performance data patterns.
- Styling: Vanilla CSS Variables + Tailwind for a robust, theme-aware design system.
├── client/ # Vite + React Frontend
├── server/ # Express + Node Backend
└── scripts/ # Automation & Data Migration tools (Ignored)
- Node.js (v18+)
- PostgreSQL Database
- Clone the repository
- Server Setup
cd server npm install # Create .env with DATABASE_URL npm run dev
- Client Setup
cd client npm install npm run dev
Both the client and server are configured for production:
- Server: Build with
npm run buildto generate thedist/directory, then run withnpm start. - Client: Build with
npm run buildto generate optimized static assets in thedist/directory.
Internal Use - Optimized for advanced DSA tracking and interview prep.