A lightweight, full-stack online judge system built from scratch that allows users to submit code in C++, Java, and Python and get real-time verdicts across multiple testcases.
Live Demo → practice-judge.onrender.com
GitHub → github.com/NoxiousTab/practice_judge
- ✅ Multi-language support (C++, Java, Python)
- 🧠 Test case execution engine with stdin/stdout comparison
- 📉 60% faster execution using optimized subprocess management
- 🛠️ Error handling with detailed output for failed cases
- 🔍 Input/output diffing for debugging incorrect submissions
- 🧪 Support for multiple testcases via I/O file pairing
- ⚙️ Flask-based API design, minimal and production-ready
| Backend | Frontend | Execution | DevOps / Tooling |
|---|---|---|---|
| Python (Flask) | HTML/CSS/JS | subprocess module | Git, Render, Docker (optional) |
[User Input] → [Flask API] → [Code Compiler & Executor] → [Output Matcher] → [Result]
- Each submission is compiled (if applicable), executed in a sandboxed subprocess, and validated against expected outputs.
- The platform reads test cases from
.inand.outfiles and compares them in real time.
- Reduced test latency by 60% using:
- Optimized subprocess management
- Streamlined stdout/stderr capture
- Parallel execution logic (optional extension)
This project simulates the core logic of competitive programming platforms like Codeforces, LeetCode, or HackerRank—ideal for recruiters evaluating backend, compiler, or infrastructure skills. It demonstrates:
- System-level programming
- Runtime sandboxing
- API design
- Real-world debugging and code evaluation workflows
Tabish Ahmed
GitHub • LinkedIn