Inspiration

Every developer loses hours hunting for the line that breaks a test. I wanted an AI that doesn't just suggest a fix, it proves the fix works by running the tests.

What it does

PatchPilot takes a public GitHub repo and a bug description, then runs three agents:

  • Planner (Nemotron Ultra) finds the root cause and writes a fix plan.
  • Coder (Nemotron Super) writes the patched files.
  • Tester (Nemotron Nano) writes a regression test and runs pytest in a sandbox.

If tests fail, the error goes back to the Coder, up to 3 attempts. You get the diff, the test results and a PR description. The UI also has a scripted Play demo replay (clearly labelled) and a live mode.

How we built it

Python + FastAPI backend streaming progress to the browser with Server-Sent Events. All model calls go through the OpenAI-compatible Nebius Token Factory API using NVIDIA Nemotron models. Every agent reply is validated as JSON with retries. Tests run in a temp folder with a 60 second timeout and API keys removed from the environment. The interface uses three.js (3D agents, scroll camera, swipeable result cards). Code is hosted on GitHub and deployed on Vercel.

Challenges we ran into

  • Model IDs in my first config didn't match the live Token Factory model list, so I added a /api/models endpoint to check them.
  • My test sandbox hid installed Python packages, so pytest crashed until I fixed the environment.
  • Vercel has no git and didn't bundle my static folder, so I download repos as zips and embed the page in Python.
  • A missing nvidia/ prefix in a deployment setting caused a 404 on the model name.

Accomplishments that we're proud of

A full plan, patch, test and retry loop that works live on real Nemotron models, with a self-correcting retry and an interface people enjoy using.

What we learned

Routing work by model size (Ultra for reasoning, Super for code, Nano for quick calls) keeps cost and latency down. Structured JSON output needs validation and retry. Deployment environments differ from your laptop in many small ways.

What's next for PatchPilot

Support JavaScript and more test frameworks, private repos, opening real pull requests, and running tests in a stronger container sandbox.

Built With

Share this project:

Updates

Submission history