27 things on the bench. Chips rebuilt from their own dies, data platforms, instruments reading real hardware, math you can operate, and a few ideas that might not ship. Most shipped with Claude as co-pilot. The sites are self-hosted; the repositories are on GitHub.
Chips and consoles
A processor and a console, simulated from photographs of their own dies and not from a description of what they do. The netlists were traced by the visual6502 project and by Quietust, and are theirs (CC BY-NC-SA). What I built is the engines that run them, the tests that hold every faster engine to the switch-level one, and the bench that puts a real console beside the model. It all lives at tinymachines.ai.
MOS 6502 · surface
Part of the 6502 die, metal still on, from the photographs the visual6502 team traced the chip from. The simulator in the first card runs that trace. Photograph: the visual6502 project, CC BY-NC-SA 3.0.
A transistor-level simulation of the chip that made home computing affordable. One 6502 was decapped, photographed and traced by hand; this runs those 3,510 transistors, solved to a fixed point twice per clock cycle. Plus a link-checked archive of everything the visual6502 team left behind.
A working console in the browser, assembled from fast chip models that are derived from, and checked against, switch-level simulations of its two chips. Sound and a simulated composite video path included. To play, you supply the cartridge file, and it never leaves your browser.
Games taken apart by running them. A pipeline plays a cartridge, names the routines its rules recognise from what they did at run time, and writes a listing that assembles back to the cartridge byte for byte. Published as shape only: no ROM data.
RustWebAssemblyPythontinymachines.ai/autopsy (another site, opens in a new tab)
The simulation engine, extracted as its own MIT library: switch-level simulation and analysis of chip netlists traced from die photographs. Five chips load through the same calls.
RustMIT licencegithub.com/tinymachines/halfphi (another site, opens in a new tab)
An unmodified NES-001 on the desk with a controller-port bridge, relays and an oscilloscope under one script, so the real part and the model can be driven by the same inputs and compared.
tinymachines.ai/nes/bench (another site, opens in a new tab)
Platforms and tools
Things other people can use: three data sites that run on this machine, a product shipped through SysForge, the design system under this page, and four tools for people who work out of a truck.
A measured-data platform for climate and geophysical data: readings from public instruments, and no models, forecasts or reanalysis. It serves the same records to AI agents through a public, read-only MCP server. I am its architect.
Small models on measured public data, run entirely in your browser: DuckDB-WASM reads Parquet over ranged requests, and an experimental cyclone model runs on your own GPU through WebGPU. I engineered it.
DuckDB-WASMWebGPUtinygradPWAtinychase.com (another site, opens in a new tab)
The political web, searchable: crawls, broadcast transcripts, county filings and OCR'd scans harvested into one corpus you can ask a question of, with the source document attached to every answer. Built on the SysForge platform and served from this machine.
PythonFastAPIOCRVector searchMCPnominate.ai (another site, opens in a new tab)
A digital estate-planning platform shipped through SysForge, rebuilt from an earlier prototype into one TypeScript application, with per-user envelope encryption for identity data and every stored file. The live site is not linked here; the resume has the detail.
The design system this site wears: tokens, plain-CSS components and a zoo of normative specimens. Its first rule is the one you are looking at. Paper is documentation; a dark panel is the machine talking.
A quote pad, a change-order pad with signature, a job photo stamper and a voice material list. No app store, no account, no subscription, and nothing you type, sign or photograph uploads anywhere. They work for the person holding the phone and report to no one.
Dashboards that read real hardware on this network: a Geiger counter, radios, cameras, a router. Hardware goes away, and when it does the page says so. Each card carries a dot: filled means the instrument is answering right now, hollow means it is not. The detail is on the bench.
Random numbers from radioactive decay, tested continuously. A Geiger counter, a Raspberry Pi, and a comparison of one gap between decay events with the next. Nothing generates a number.
A caseless home server built from other people's cast-offs, taught to see, hear, think and speak. Every model runs on the metal and nothing touches the cloud.
A Raspberry Pi, a 1090 MHz ADS-B receiver and an FAA registry lookup, running in the garage. Every aircraft is one this antenna heard directly. Nothing is fetched from a flight-tracking service.
Everything that has tried the doors on this host, across every site it serves. Three tiers fused into one view: dropped at the edge by the router, trapped at the door by the scanner trap, and served. Almost all of it is automated.
Software-defined radios sweeping VHF and 802.15.4 and writing what comes back above threshold to an archive. This reads the control plane in front of them.
Every node in the cluster reports for itself over a UDP bus: disk, temperature, load, radio and uplink. This reads the collector that fuses them.
The fleet collector: checking
UDP bus/fleet
Math instruments
A map of prime-number theory and four machines built where it pointed: forge zeta, hear its zeros play the primes, probe the primes directly, then watch the sieve run as weather. All five run in the browser, no dependencies, no network. The sixth is general relativity, and it is solved in your browser too.
Twenty-nine landmarks from the Euler spring to the parity cliff, drawn as ground you can walk: what is proven, what is merely believed, what nobody knows, and what has been proven impassable.
One HTML fileNo network requests/projects/prime-atlas
Rebuild the prime staircase from the nontrivial zeros of the Riemann zeta function, one wave at a time. Feed the zeros in and watch the primes resolve out of pure harmonics.
One HTML fileNo network requests/projects/prime-orchestra
Three scopes over a live two-million sieve. Test whether a prime constellation can exist at all, watch the residue-class race, and read the matrix where consecutive primes avoid repeating themselves.
One HTML fileNo network requests/projects/prime-zoo
The sieve as wave interference, in six plates. One swell per prime under a plank bridge: crests break planks, survivors are prime, and the last plate shows the same storm written twice, once in primes and once in zeros.
One HTML fileNo network requests/projects/storm-plates
Einstein's equations, integrating live on your device. Tune a scalar pulse to the knife edge between dispersal and collapse, bisect for the threshold, and measure the universal exponent γ ≈ 0.374 yourself.
In the browserNo external requests/projects/critical-collapse
Things that might not ship
Hardware hacks, signal toys, AI agents off the leash. The room where the next product gets sketched, and most of the sketches stay sketches.
An AI sprinkler brain that fails back to dumb. A weather-informed sidecar for a 1990s Rain Bird that only takes the lawn when it's provably healthy: hardware watchdog, transfer relays, fail-safe by design.
Sovereign (GitHub, opens in a new tab)2025An assembly-like agentic programming language designed for self-improving systems: 32 base instructions on a small virtual machine, with opcodes that ask a local model to write code and to rewrite it after an error.
ADDAI (GitHub, opens in a new tab)2025A homegrown EEG monitor. Brainwave readings arrive from a NeuroSky-based headset over a serial port and are drawn live in a web page.
ZephyrprivateA mesh network of AI nodes that talk to each other in raw 802.11 frames, without a traditional networking stack. The repository is private, so there is nothing here to open.
The rest
This is the short list. The bench lists every page this server serves and says which instruments are up. The work page counts every repository across four GitHub organisations from the commit log.