.webp&w=2048&q=75)
CPU Scheduling Visualizer
Built an interactive simulator for operating-systems education: users configure processes, pick algorithms (FCFS through MLFQ, Lottery, Stride, FCFS+I/O, custom JS, and more), and see animated Gantt charts, waiting/turnaround metrics, CPU utilization, and optional side-by-side comparison of up to four algorithms. The app includes step-by-step playback, smart algorithm switching heuristics, saved scenarios, presets, and shareable state via URL. Simulation runs in the Next.js app with POST /api/simulate for server-side runs (custom algorithm stays client-only).
Timeline
2 months
Role
Full-Stack Developer
Team
Solo
Status
Technology Stack
Key Features
Key Learnings
- CPU scheduling simulation architecture in TypeScript with a clear separation of engine vs UI
- Next.js App Router with API routes for serverless simulation
- Framer Motion and charting for time-based visualizations
- Packaging OS concepts for students and developers in one deployable app
Key Challenges
- Correct, testable implementations across many algorithms and edge cases
- Keeping the UI responsive while recomputing simulations and animations
- URL state encoding for shareable, bookmarkable configurations
- Balancing educational clarity (step mode, explanations) with power-user features (compare, export)