A chemistry engine
in search of a bench.

Aufbau computes reactions from first principles. I'm looking for experimental partners to test what it predicts — and to co-author what comes back.

The engine proposes. The bench disposes.

Two halves of one problem

Aufbau generates chemical hypotheses quickly and cheaply — reactions derived from physical law rather than retrieved from a database. What software alone can't do is confirm them at the bench. A working lab has the opposite constraint: experiments are slow and costly, and well-reasoned hypotheses worth running are always scarcer than the capacity to run them. Each side holds the half the other lacks. That is the collaboration — not a favor in either direction, but a trade.

Close the loop

The work I most want to do: take predictions Aufbau hasn't validated — reactions beyond its published benchmark — run them at your bench, and co-author what comes back. If they hold, that's a result worth reporting. If they don't, that's a signpost to where the physics needs more. Both outcomes are publishable, and both make the engine better. I'm inviting the test precisely because I'm not afraid of the answer — the whole project is built on saying plainly where it works and where it doesn't.

See the honest numbers first — the validation and the known limits →

Where I'm looking for partners

Four kinds of collaboration, with the first as the spine and the rest branching from it:

  • Forward validation. Bench-test Aufbau's predictions on reactions it hasn't seen; co-author the findings.
  • Method & benchmarking. Independent evaluation against your datasets. A preprint is in preparation, and collaborators are welcome on it.
  • Domain extensions. Retrosynthesis, spectroscopy, catalysis, nuclear — point the engine at the problem your group actually works on.
  • Teaching pilots. Use Aufbau in a course and tell me where it clarifies and where it misleads.
  • Integration. Aufbau's command line and API make it a deterministic reaction-feasibility oracle other software can call — a forward check inside a CASP or retrosynthesis pipeline, whether LHASA-descended or modern machine-learning, that proposes a step and asks Aufbau whether it actually goes.
  • Hardware & silicon. Help carry the deterministic engine toward a chemistry co-processor — FPGA, ASIC, or photonic. Because the rules are fixed, chemistry can move out of software and into a circuit.

The chemist behind it

I'm John Miller. Chemistry was my first field: in the early 1980s I worked on LHASA, E. J. Corey's computer-assisted synthesis program — the computer proposing routes, the chemist running them. Then I spent four decades in hardware and software. Aufbau is my return to chemistry, built with everything those decades taught me.

I don't think of the engineering as a second career. It's a set of tools I went and fetched to serve the first love — a way to make chemistry something you compute, and in time something you can build into silicon. On this project I'm the computational half of a partnership, in the same tradition I started in. I'm looking for the other half.

The bigger build: a chemistry co-processor

Determinism has a consequence most people miss. Because each element's behaviour follows a small, fixed rule — not billions of learned parameters — that rule can be etched directly into hardware. Think of how a GPU is silicon shaped for one kind of math; this is silicon shaped for chemistry: a fixed-function chemistry co-processor, massively parallel, verifiable to the last bond, and identical on every machine that runs it.

For that one job it can go where a general-purpose AI accelerator — an Nvidia Blackwell-class GPU — can't follow. A language model can't be reduced to a tiny circuit per element; it needs general machines and billions of parameters. A deterministic chemistry engine can. Aim silicon at nothing but chemistry and, for chemistry, it runs far past what a general GPU manages for the same work. That is the whole reason the project insists on determinism.

This is a goal, not a product yet — early, and patent pending. It's also an open door: if you build hardware — FPGA, ASIC, photonic, ionic — this is where chemistry and silicon meet, and exactly the kind of partner I'm hoping to find.

Run it in your own lab

The engine is headless by design — no app, no interface, no network. So it doesn't have to run on my machine or in a cloud: under a research-use license it can be deployed as an on-premise Aufbau Server on a Linux box in your own lab. Molecules and datasets go in over a local command line or API; computed results come out. Nothing leaves the building — air-gapped if you need it.

Because the engine is deterministic, the server returns exactly the answers the reference does, to the last bond, on your own hardware. It's a clean fit for data you can't send anywhere — and the natural software precursor to the chemistry co-processor above: the same logic, first as a server, then as silicon.

Your work, and mine

Collaboration here is about results and papers, not source code. Aufbau's engine stays proprietary (patent pending), and your data stays yours — nothing you share is folded into the product without an explicit agreement. For groups that want to run the engine inside their own research, a research-use license is available. The aim is a clean, honest partnership: each side keeps what it brings, and shares what we make together.

Start a conversation

If any of this fits your group, I'd like to hear from you. Tell me what you work on, a reaction class or dataset you'd want to point Aufbau at, and what a good collaboration would look like from your side.

Start a conversation →