Inspiration
Debugging often means switching between an editor, terminal, browser, and an AI chat, repeatedly copying context and explaining the same problem. We wanted an assistant that could understand the development environment and turn that context into a precise, reviewable next step. That became Prism: an AI developer assistant built around visibility, controlled execution, and developer approval.
What it does
Prism runs a local backend and browser workspace. It selects relevant context from screenshots, terminal errors, running processes, source files, and GitHub pull requests, then uses NVIDIA Nemotron to explain the root cause and propose fixes.
Instead of stopping at advice, Prism presents validated unified diffs and proposed commands for review. Developers can approve, reject, or cancel actions. Approved patches are applied atomically, while commands run in disposable Docker containers with resource limits, timeouts, and networking disabled by default. File modification, dependency installation, and command networking have separate approval controls.
Prism is locally hosted, but model analysis uses the NVIDIA API. Selected context leaves the workstation for analysis; text is pattern-redacted, while screenshot pixels are not automatically redacted.
How we built it
The backend uses Python 3.11, FastAPI, Uvicorn, and Pydantic v2. NVIDIA Nemotron 3.5 Lightning, accessed through the NVIDIA Build API, handles context planning and structured diagnosis. Perception collectors gather bounded logs, process information, authorised screenshots, optional Tesseract OCR output, and GitHub PR context.
The frontend uses React 18, TypeScript, and Vite, with GSAP and ScrollTrigger for motion and Lucide React for icons. TypeScript API types are generated from FastAPI's OpenAPI schema to keep the frontend and backend aligned.
Execution is isolated in non-root Docker Linux containers. A central path policy blocks credentials and unsafe symlinks, and action-bound HMAC approval tokens tie approval to the exact command, directory, and access flags.
Challenges we ran into
A useful diagnosis needs enough context without collecting everything. We addressed this with a context-planning step, capability controls, bounded collection, and text redaction.
Turning model suggestions into reliable edits was another challenge. Prism constructs and validates patch hunks in the backend rather than trusting invented line numbers. We also had to keep approvals meaningful across file writes, dependency installation, networking, and cancellation, while ensuring commands never fall back to host execution when Docker is unavailable.
Accomplishments that we're proud of
We connected context collection, structured AI diagnosis, exact patch review, and isolated execution in one workflow. The project's recorded validation includes 146 backend unit and security tests, 10 real Docker boundary tests, and 19 frontend tests, with a passing production build and matching OpenAPI snapshots.
We also implemented process-scoped sessions, credential-path protections, action-bound approvals, and cancellation that removes the execution container. A real NVIDIA API smoke test was completed using synthetic text.
What we learned
Building an AI developer assistant involves much more than prompting a model. Reliable context selection, typed contracts, validated patches, explicit permissions, and tested execution boundaries are essential to making suggestions useful and reviewable.
We learned to distinguish local hosting from offline inference and to make data handling limits visible to users. Good interaction design also matters: the workspace needs to make the diagnosis, proposed changes, and required approvals easy to understand.
What's next for Prism
Our next steps are to establish the canonical repository and CI protections, finalise the application licence and support contact, and prepare a trusted release channel. We also plan to broaden real-world debugging evaluation, improve onboarding for Windows and Docker Desktop, and make optional OCR setup easier.
The goal is to make Prism a dependable assistant for everyday development while keeping developers in control of each change.
Log in or sign up for Devpost to join the conversation.