Native Shell
Native Shell: AI-generated UI, native in your app, on every platform. Apps on iOS, Android, macOS, Windows and Linux, GPUI apps and web pages load signed, sandboxed TSX modules at run time and draw th
Describe a circuit and an AI agent builds it on a 3D breadboard; a from-scratch simulator runs it. Or snap a photo of a real breadboard and Edison rebuilds it.
Developer toolsJavaScript · CSSGitHub @jessi-sidhuOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
An AI agent that builds working circuits on a 3D breadboard, and rebuilds a real breadboard from a photo. From-scratch circuit simulator, tool-calling agent, vision pipeline.
Taken from the repository README
Loading the full README.
Read the full README ↗An AI agent that builds working circuits, and rebuilds a real breadboard from a photo.
Describe a circuit in plain English, and Edison's agent places every part and wire on a 3D breadboard through tool calls. A circuit simulator written from scratch then checks that the build works. Or photograph a real breadboard: a vision pipeline reads every part and lead, rebuilds the board on screen, and the agent explains what's wrong with it.
The three demos on the welcome card run instantly with no sign-in. Sign in with Google to ask your own questions (5 a day).
Ask for a circuit. The agent plans it, calls tools (place_battery, place_resistor, place_led, place_tl072, add_wire, …), and shows the build as a preview you accept in one click. Press Run and the simulator lights the LED.
Edison simulates the board it rebuilt from your photo, so the agent can point at real problems: here, an op-amp turned around and two columns off, plus a missing V− wire. Say "fix it", accept the change, and the LED blinks.
| A student's real breadboard → what Edison builds from it |
|---|
Bench supply, function generator, multimeter and scope; op-amps that clip at their rails; capacitors that charge over time. ENSC 220 labs come as step-by-step lab sheets that check each step against the simulation.
| Lab 2 with a mistake: the op-amp has no supply | Lab 2 running: a sine wave on the scope |
|---|---|
flowchart LR
subgraph Agent["Agent (DeepSeek, tool calls)"]
P[Prompt + board as markdown] --> T[Tool calls<br/>place_* · add_wire · set_value]
end
T --> V[finishAIReply<br/>drop illegal actions,<br/>flag circuit problems]
V --> PR[Preview → Accept<br/>one undo step]
PR --> S[Simulator<br/>modified nodal analysis]
S --> R[LED on · currents · scope · mistakes]
R -. "what's wrong?" .-> P
finishAIReply drops anything illegal (occupied holes, wrong spans, unknown pins) and flags circuit problems. The page shows a preview, and Accept applies it as one undo step.npm run ai-eval sends 16 test prompts × 3 runs to the real model and grades each build in the simulator (does the LED light, does the op-amp output hit the expected voltage). The suite went from 24/48 to 35–38/48 as the prompts, tools and checks improved.flowchart LR
A[Phone photo] --> B[Tap 4 corner holes<br/>homography onto the hole grid]
B --> C[Survey call<br/>Gemini Robotics-ER 2:<br/>parts, lead points, chip pin 1 + label]
C --> D[One batched zoom call<br/>≤12 crops, Set-of-Mark outlines]
D --> E[Snap leads to holes<br/>confirm screen: move any dot]
E --> F[PhotoImport<br/>legal board, same nets,<br/>chips seated from pin 1]
F --> G[Simulate + ask the agent]
| Layer | What |
|---|---|
| Frontend | Plain JavaScript and three.js (no framework, no build step): 3D breadboard, parts, wiring, HUD |
| Simulator | Modified nodal analysis, from scratch, in the browser |
| Agent | DeepSeek with tool calling (Gemini optional); a tool per part; validation before preview |
| Vision | Gemini Robotics-ER 2 (survey + batched zoom), homography in the browser |
| Backend | Node 20 with zero runtime dependencies: the AI routes, Google sign-in token checks (RS256 with node:crypto), daily limits |
| Hosting | Vercel (static app + one function), Firebase Google sign-in, Upstash Redis for daily counters |
| Tests | ~3,400 unit tests (Vitest) and ~360 browser tests (Playwright); no test ever calls a real AI |
Public demo safety: the three demos replay saved answers, so they cost nothing. Live questions need Google sign-in, and each user gets 5 a day. A global daily cap keeps the bill bounded.
Edison is built with an agentic workflow. Every change goes test-writer → builder → reviewer, as separate Claude Code agents. Hooks enforce their lanes: the test-writer can only touch tests, and the builder can't touch them. Each task's tests must fail first, and a change ships to dev only after lint, unit and browser tests pass. The details are in docs/CONTRIBUTING.md; the design docs are in docs/.
cd Plugged && npm ci
# Plugged/backend/.env: DEEPSEEK_API_KEY=…, GEMINI_API_KEY=…, AI_PROVIDER=deepseek
cd backend && node server.js
# open http://localhost:5001 (no keys? AI_PROVIDER=fixture replays recorded answers)
npm run check (lint) · npm test (unit) · npm run e2e (browser)
Built at StormHacks 2026 by Aarmen Sidhu (all code: agent, simulator, vision pipeline, deploy), with Bhavan Thandi (circuit design and testing on real parts) and Jessi Sidhu. Mentored by Raymond Shen.