Inspiration
Every standard coding practice site follows the exact same pattern: solve a problem, get a binary pass/fail, and move to another challenge picked more or less at random. If you fail because of an off-by-one boundary or an unhandled recursion base case, nothing about the next problem addresses that gap. You end up hitting the same conceptual wall repeatedly without understanding the root logic flaw.
We built Adaptive Code Coach to behave less like an automated test suite and more like an interactive technical mentor sitting next to you. It reads your code semantically, pinpoints the exact misconception behind the bug, and continuously tunes what you practice next based on where you are struggling.
What It Does
- Adaptive Problem Synthesis: Generates standardized interview challenges on the fly tailored across five foundational pillars: Loops, Arrays, Conditionals, Functions, and Recursion.
- Semantic Code Diagnostics: Instead of printing cryptic stack traces or dry "Wrong Answer" labels, the engine evaluates the logic directly to return concise 2–3 sentence diagnostic feedback.
- Dynamic Proficiency Radar: A live Chart.js radar interface updates automatically after every submission, keeping skill distribution visible at a glance.
- Seamless Polyglot Translation: Switch active challenges, starter boilerplate, and reference solutions mid-session across JavaScript, Python, and C++ without losing context.
- In-Browser Audio Engine: Passes and diagnostic failures trigger dynamic sound waves synthesized directly via the Web Audio API without loading external audio assets.
- Persistent Profiles: Tracks streaks, levels, and skill metrics across sessions using zero-friction local persistence.
How We Built It
- Frontend: Built with vanilla HTML5, CSS (dark glassmorphism design), and modern JavaScript (ES6+). Visual analytics are handled via Chart.js, while auditory cues are synthesized in real time using the native Web Audio API.
- Backend Runtime: Node.js with Express serves the frontend bundle and exposes REST endpoints for problem synthesis, code evaluation, language translation, and reference solutions.
- AI & Diagnostic Engine: Powered by the Groq SDK utilizing high-throughput inference to deliver sub-second evaluations, structured output mapping, and polyglot boilerplate adaptation.
- Deployment & Monitoring: Deployed as a web service on Render with automated health checks to prevent cold-start latency during live evaluations.
Challenges We Faced
- Strict JSON Integrity: Large language models occasionally wrap code snippets in unescaped quotes or Markdown backticks that break browser JSON parsers. We engineered rigid system prompt contracts combined with server-side payload cleaning to guarantee resilient JSON contracts.
- Algorithmic Parity Across Languages: Mapping algorithmic logic between dynamically typed (JavaScript, Python) and statically typed (C++) paradigms without distorting problem difficulty required careful signature mapping and boilerplate sanitization.
- Cloud Cold-Starts: Addressing transient latency spikes on cloud infrastructure by implementing client-side retry routines and clear UI status messaging.
What We Learned & What's Next
We learned how to design fast, deterministic AI pipelines that complement rather than replace algorithmic thinking.
Next Steps:
- Integrate in-browser WebAssembly runtimes (e.g., Pyodide) for hybrid static/dynamic code execution.
- Expand the curriculum to cover advanced data structures (Trees, Graphs, and Dynamic Programming).
- Introduce a timed mock interview mode with voice-to-text explanation capabilities.
Built With
- ai
- chart.js
- css3
- express.js
- groq
- html5
- javascript
- json
- llm
- node.js
- render
- web-audio-api
Log in or sign up for Devpost to join the conversation.