When you upload a schematic, three specialist Gemini agents read the image simultaneously. Each writes structured JSON. A fourth agent — the synthesizer — takes the image plus all three JSON outputs and writes the engineer-depth analysis, streaming its tokens to your browser as it composes. Total wall-clock: 40–60 seconds. Reading it in real time: way more fun than a spinner.
Goes part-by-part. Designator, type, value if printed, and what role the part plays (bypass, feedback, bias, pull-up). Does not guess values that aren't on the page.
Names the topology — Sallen-Key, Colpitts, buck converter, common-emitter, whatever it is. Maps the stages and feedback loops, marks Vin / Vout / virtual-ground nodes. The structural pass.
Decides what the circuit is for in the real world: audio, RF, power electronics, instrumentation, motor control. Pins down frequency range and likely industry context. The 'so what' pass.
Reads the other three agents' work, then writes the senior-engineer review: operating principle, derived parameters, design rationale, failure modes, suggested improvements. Streams its tokens to the browser as it thinks.
A single 2000-token system prompt covering components, topology, AND domain dilutes attention. Three focused prompts each get 100% of a Gemini call. The synthesis agent then has structured JSON to argue against — not a wall of unstructured prose.
If the topology agent times out, we still want the component catalog and the domain classification. Partial results beat a 500. The synthesis agent is built to degrade gracefully when one of the three inputs is missing.
The synthesis pass takes 30–45s. Waiting that long with a spinner is rude. Streaming lets you start reading the operating principle while the failure-modes section is still being written. SSE, not WebSockets — simpler, plays nice with HTTP/2, and POST bodies via ReadableStream reader.
The three specialist outputs need to be machine-readable so the synthesizer can cite them precisely. The final synthesis is for humans, so it gets the rich prose treatment with quantitative parameters in a structured table.