← Blog

An editor first, an agent second.

Rivet PCB 1.0 is out, on all six builds — macOS, Windows and Linux, on both architectures each. It is free, there is no account, and the schematic and board editors do not ask for a key. The sizes and SHA-256 checksums for every file are printed on the download page so you can check what you got against what we published.

The thing worth explaining on launch day is the ordering. Rivet PCB is a schematic and layout editor that happens to have an agent in it, and it was built in that order deliberately. That ordering cost months, and it is the only reason the agent is worth anything.

Why the editor came first

The obvious way to build this is to start with the model. Wrap a language model around a file format, let it emit a netlist, and put a canvas on top to show the result. It demos extremely well. It also produces a tool where the only thing you can do is ask again, because the canvas is a viewer and every correction has to be spoken.

The trouble is that a board is not finished when it is correct. It is finished when it is correct and you understand it well enough to change it next month. If the only way to move a part is to describe the part you want moved, you are not designing — you are negotiating.

So the rule is that the panel can be closed. Everything the agent can do, you can do, on the same canvas, against the same engine, with the same undo stack.

That is not a slogan; it is a constraint that decided the architecture. The agent does not have a private API. Placing a symbol goes through the same engine call the toolbar uses, which is why a turn lands in your undo history as one entry you can take back, and why a design the agent touched opens in KiCad afterwards like any other.

The Rivet PCB board editor showing the Sensor Hub Rev B design: red F.Cu and blue B.Cu tracks, component courtyards, pads, a ground pour and the board outline.
The board editor with the panel closed. The agent has no route into this that your keyboard does not also have.

What the measurement says, including the bad rows

There is an eval: 48 hand-labelled cases, scored by reading the resulting design out of the engine rather than by reading how the reply sounds. The number is about 73% — 35 of 48 on 7 August, and 32 of 44 on 8 August against a pinned deepseek-v4-flash. Four cases could not be measured on the second run and are excluded rather than counted as passes, which is why the denominator moved.

A single flattering number is not a measurement, so the two groups it is worst at are published next to the two it is best at:

GroupScore
Repairing a design-rule violation it already found2 / 6
Asking a clarifying question instead of guessing0 / 2

The second row is the one that bothers us most. Zero out of two means that when the brief is genuinely ambiguous, it picks an interpretation and proceeds instead of stopping to ask. On a board, a confident wrong assumption is more expensive than a question. That is the next thing being worked on, and the number will be republished whether or not it improves. The full table, with its method, is on the measurement page.

The demo board is the board that is measured

The board on the front page used to be a different board from the one the gates checked. There was a patching step that shrank the pours and swapped a couple of parts before the screenshot was taken, so the picture was clean and the design was not. That step has been deleted. The harness now builds the real design and fails if it is not clean.

When it was first pointed at the unpatched board it reported 105 design-rule violations. Those are now zero, with all 23 nets named, 22 parts and both ground pours — read back off the engine's own state rather than off a status label in the corner of the window. A status label is a claim; the engine's state is the answer.

A photorealistic 3D render of the finished Sensor Hub board: green solder mask, gold pads, a QFN microcontroller, electrolytic capacitors, a crystal and two pin headers.
The same design, rendered in the app's own 3D viewer. One netlist, one set of copper, one file.

Three things that are not finished

  • The macOS build is signed but not notarised. It carries a real Developer ID, so it is not an unidentified developer, but the first launch still shows a warning until notarisation is done. The download page says exactly what to click.
  • The Windows installer is not code-signed yet, so SmartScreen will interrupt the first run for the same reason.
  • Repairing a violation it found is weak, per the table above. Finding problems is in much better shape than fixing them.

Each of those comes off this page the day it is fixed, and not before.

What comes after boards

The longer plan is one geometry kernel and one file format across the whole engineering stack — boards first, then mechanical CAD, then assemblies. The ordering is the commitment: nothing moves on while the board editor still needs work, which is why a board tool is the only thing you can download today. The 3D view and the STEP export are the seam where that plan is already visible, since the model the enclosure gets is built from the same geometry the fab gets.


If you would rather handle it than read about it, the board on the front page is a real file drawn from the library the app ships — pan it, zoom it, pick a part.

Open it. Ask it for a board.

Free, and there is no account. Every platform.