Inspiration

AI tools like ChatGPT, Claude, Codex and Cursor can now generate whole web projects, but they hand them over as a zip file. For anyone who isn't a developer, that's where it ends: you need VS Code, a terminal, npm install and a localhost server just to see if it works. And when it breaks, you're stuck pasting errors back into a chat and hoping for the best.

We wanted it to be as simple as: drop a zip, watch it run, let AI fix it.

What it does

ZipRun runs a project straight in the browser, with no setup:

  • Three run modes, picked automatically: Static (plain HTML/CSS/JS), Instant (compiles React/TypeScript in the browser and loads packages from esm.sh), and Node (a real npm install && npm run dev inside an in-browser Node.js using WebContainers).
  • Health check: scans for broken imports, missing files, hard-coded API keys, filename case problems that break on Linux hosts, and more, then scores the project out of 100.
  • DevTools: a console, network log and problems list.
  • Live editor with device previews (phone, tablet, laptop).
  • ZipRun Doctor: an AI agent powered by NVIDIA Nemotron that reads the errors, writes fixes, re-runs the app and repeats up to 3 times. It can also explain a project in plain English, review the UI/UX, and make changes from chat. Every change is shown as a diff and can be undone in one click.

How we built it

  • Frontend: React + TypeScript + Vite, with CodeMirror for the editor.
  • The preview: a service worker answers every request from the preview out of Cache Storage, so the project behaves as if it were running on localhost.
  • AI: a Vercel serverless function calls Nemotron on Nebius Token Factory, so the API key stays on the server and never reaches the browser.
  • Privacy: uploaded files never leave the browser.

Challenges we ran into

  • Making a browser act like a local web server. Projects expect root paths like /css/app.css, multiple pages and SPA routing to just work. We solved it with a service worker serving everything from Cache Storage.
  • Different projects need different run strategies. A plain HTML site, a React app and a Next.js app can't all be run the same way, so we built three modes and detection logic that picks the right one automatically.
  • Catching bugs that only show up after deploying. Things like filename case mismatches work on Windows and Mac but break on Linux hosts, so we built checks for them into the health score.
  • Keeping AI costs under control. The model only runs when someone clicks an AI button, with a per-visitor rate limit and output caps.
  • Making AI edits safe. Letting an AI rewrite files is risky, so every change is shown as a diff first, the fix loop is capped at 3 passes, and everything can be undone in one click.

What we learned

  • How service workers can be used to simulate a server inside the browser.
  • How WebContainers let you run real Node.js without leaving the page.
  • That an AI agent works much better in a loop (fix, re-run, collect new errors, repeat) than as a single prompt, because it can see the result of its own changes.
  • That a small, fast model like Nemotron Nano is a good fit for this job, because speed and cost matter more than size when you're fixing many small errors.

What's next

Support for more frameworks in Instant mode, smarter auto-fixes, and one-click deploy straight from ZipRun.

Built With

Share this project:

Updates

Submission history