- ✅ AI Test Case Generation (Basic & Comprehensive)
- ✅ Question Naming (prompt during test case generation)
- ✅ Multi-Language Execution (C, C++, Python, Java)
- ✅ Dual Execution Modes (Cloud via Judge0 & Local via compilers)
- ✅ Smart Output Comparison (whitespace-flexible)
- ✅ Total Execution Time Tracking (removed per-test metrics)
- ✅ Full conversation interface
- ✅ Chat history persisted to localStorage
- ✅ Context maintained across days
- ✅ Markdown rendering with syntax highlighting
- ✅ Help/Evaluation tab switching
- ✅ Chat history saved per session
- ✅ Auto-save on every change
- ✅ Multi-session support with sidebar
- ✅ Last active session auto-restored
- ✅ Session switching with preserved state
- ✅ Question names displayed in sidebar
- ✅ Session deletion with confirmation
- ✅ All data in browser localStorage (no database)
- ✅ Compact dropdown design (no overflow)
- ✅ Timer with presets (5/15/30/60 min) + custom
- ✅ Stopwatch mode
- ✅ State persists across reloads
- ✅ Icon-based UI
- ✅ Fixed hamburger menu overlap
- ✅ Removed per-test time/memory display
- ✅ Simplified complexity options (Basic/Comprehensive only)
- ✅ Chat/Help buttons in proper locations
- ✅ Tab switching for Evaluation/Help
- ✅ Holographic background with particle effects
- ✅ Glassmorphism design with neon accents
Each session contains:
{
id: string,
name: string, // User-provided name
problem: string, // Problem description
code: string, // User's code
language: string, // Programming language
testCases: [], // Generated test cases
chatHistory: [], // AI chat messages
lastEvaluation: {}, // Last test results
timerMinutes: number, // Timer state
timerStartedAt: number, // Timer start time
stopwatchStartedAt: number, // Stopwatch start time
stopwatchElapsed: number, // Stopwatch elapsed
createdAt: number, // Timestamp
updatedAt: number // Timestamp
}- Clone repo
npm install- Add API keys to
.env.local:GEMINI_API_KEY=your_key JUDGE0_API_KEY=your_key JUDGE0_API_HOST=judge0-ce.p.rapidapi.com npm run dev- Open http://localhost:3000
- Open browser → Last session auto-loads
- Click ☰ to switch sessions or create new
- Paste problem → Name it → Generate test cases
- Write code → Toggle ☁️/🖥️ mode → Evaluate
- Chat with AI in Help tab if stuck
- Everything auto-saves!
- ✅ All data stored in browser localStorage
- ✅ Nothing uploaded to servers except API calls
- ✅
.env.localgitignored (API keys safe) - ✅ Works offline once loaded
- ✅ Each browser/device has separate data
- ✅ Clear browser data = lose sessions
- Push code to GitHub (already done!)
- Go to vercel.com → Import project
- Add environment variables:
GEMINI_API_KEYJUDGE0_API_KEYJUDGE0_API_HOST
- Deploy!
Note: Local execution won't work on Vercel (serverless), but Cloud mode (Judge0) will work perfectly.
- ✅
.env.local(your API keys) - ✅
node_modules/(dependencies) - ✅
.next/(build files) - ✅ localStorage data (browser-only, not a file)
Your browser data is safe and private! It's stored in the browser's localStorage API, not as files.
Repository: https://github.com/YashMahawa/CodeCrush Branch: main Last Commit: "feat: Complete feature overhaul" Status: ✅ All features complete and pushed
Your CodeCrush is feature-complete and ready for Vercel deployment. Just add your API keys in the Vercel dashboard and you're good to go!