Inspiration

I kept noticing the same pattern: students can write code but freeze when something breaks. Debugging is the most important skill in engineering — and almost nobody teaches it directly. I wanted to build something that made debugging a first-class skill, not an afterthought. Duolingo made language learning addictive through repetition and feedback loops. GhostEngineer does the same for debugging.

What it does

GhostEngineer is an AI-powered debugging training platform for STEM students.

  • AI-generated buggy challenges across Arduino, Python, and Circuits at 3 difficulty levels
  • Ghost Mode — adaptive learning that tracks which bug types you keep missing and targets them in future challenges
  • Battle Arena — real-time multiplayer where two students race to diagnose the same broken code first
  • Teacher Dashboard — classroom mode with live analytics: average scores by topic, most missed concepts, and individual weak spot tracking
  • 3-tier hint system, timed challenges, AI mentor personalities, and a global leaderboard

How we built it

Layer Tech
Frontend React + Vite + Tailwind CSS
AI Groq API (llama-3.3-70b-versatile) — chosen for its low latency
Realtime Supabase (Battle Arena + Teacher Dashboard live updates)
Leaderboard JSONBin API
Adaptive Logic localStorage + custom weakness-tracking algorithm
Deployment Vercel

The adaptive learning loop works like this:

  1. Student submits a diagnosis
  2. Groq evaluates it and returns bugs_found and bugs_missed
  3. Missed bugs are categorized (timing, syntax, logic, pin assignment, etc.)
  4. Weakness scores update in localStorage
  5. Next challenge generation passes top weak categories to Groq, which seeds bugs from those areas

Challenges we ran into

  • Consistent AI output — getting Groq to always return structured JSON with clean bug metadata took significant prompt engineering. Malformed responses broke the evaluation pipeline silently.
  • Realtime sync in Battle Arena — handling race conditions when both players submit simultaneously required careful Supabase Realtime channel management.
  • Meaningful adaptive difficulty — early versions just made challenges harder; the real insight was targeting bug type weaknesses, not just difficulty level.
  • Solo time pressure — designing, building, and polishing every feature alone in a hackathon window meant ruthless scoping decisions.

Accomplishments that we're proud of

  • The full Ghost Mode adaptive loop works end-to-end — weakness profile genuinely changes future challenge generation
  • Battle Arena with room codes works in real-time with no perceptible lag
  • Teacher Dashboard gives educators something actually useful: not just scores, but which concepts a class is struggling with
  • Shipped a complete, multi-feature product solo in one hackathon

What we learned

  • Prompt engineering for structured output is a skill in itself — especially when the downstream app depends on parsing that output reliably
  • Supabase Realtime is remarkably easy to integrate once you understand channel subscriptions
  • Adaptive learning doesn't need a complex ML model — a simple category score system with localStorage is surprisingly effective
  • The best hackathon features are ones that feel magical to demo but have simple implementations underneath

What's next for GhostEngineer

  • Expand to more languages — JavaScript, C++, and SQL debugging challenges
  • Classroom challenge assignments — teachers assign specific bug-type challenges to the whole class
  • Spaced repetition scheduling — resurface weak categories at optimal review intervals (like Anki, but for bugs)
  • Voice diagnosis mode — students explain the bug out loud, AI evaluates spoken reasoning
  • School/district dashboard — aggregate analytics across multiple classrooms

Built With

  • groq
  • jsonbin
  • llama-3.3-70b-versatile
  • react
  • supabase
  • supabase-realtime
  • tailwind-css
  • vercel
  • vite
Share this project:

Updates