Skip to content

AI pilot.
Data architect.
Hardware hacker.

Open to full-time roles in AI systems and data architecture. The resume, or the PDF.

I build where big-company data work meets the maker's garage: wireless sensor networks, Fortune 500 data warehouses, and a lot of Claude as co-pilot. This site runs on my own hardware, and the panels below are its instruments reporting in live.

33,881 commits under my name in four GitHub organisations since 2025, author check of 2 Oct 2026newest commit in any of them

The forge

SysForge is the platform I build on: ready-made parts that bolt together, and glue that turns a chain of them into a running service. The whole of it is counted below from its own spec, and every part has a page: what it does, who leans on it, and the recipes it is in.

SysForge, countedfrom the platform's spec, nightly
Parts56 one thing each, callable by any other
Glue13 chains parts and keeps the result running
Apps25 already assembled from parts
Operations4,168 across 94 services
Recipes7 chains shown end to end, one of them ran
  1. Forgea graph of calls to parts becomes a service, run as the person who asked
  2. Stitchkeeps a running service converging on the state it declared
  3. GroundGamepacks the data, the services, the theme and the schedule as one app

Open the forge56 parts on five shelves, then the glue, the apps and the recipes.

Selected work

Three threads, one practice: hardware, data architecture, and AI. The lab feeds the consulting, and the consulting funds the lab. Here are six places to see it.

The 6502, at the transistor level

Not a program that imitates the chip: its real wires and switches, traced from the silicon. Faster engines are built from it and checked against it pin by pin. The quickest runs 39.0 million half-cycles a second and matches all 289 recorded test traces exactly.

RustWebAssemblyWebGL2tinymachines.ai/6502

The NES, from its two chips up

Both chips in the console, 10,946 and 16,758 transistors, modelled switch by switch from Quietust's traces of the silicon, with fast engines built from them. On those, 19 of the 20 cartridges copied from my own collection draw their picture.

RustWebAssemblyNTSC signal modeltinymachines.ai/nes

TerraPulse and its MCP server

A platform for measured climate and earth-science records, never models or forecasts. 80 published indexes, and a public, read-only connection with 11 tools that AI assistants use to query them. I am its architect.

PostgreSQL + PostGISFastAPIMCPterrapulse.info

tinychase

Small AI models on measured public data, running in your own browser. An experimental hurricane-forecast model, just 555 KB, runs on your own graphics card. The data is read straight from files, with no database server in between. I engineered it.

WebGPUDuckDB-WASMtinygradtinychase.com

Meatball, the sensory robot

A home server with no case, built from other people's cast-offs and taught to see, hear, think and speak. Ten salvaged parts, every AI model running on the machine itself, and nothing touches the cloud.

local LLMWhisperneural voice/meatball

House Calls: tools for the trades

Four free field tools: a quote pad, a change-order pad with a signature, a job photo stamper and a voice material list. No account, no subscription, and nothing you type, sign or photograph uploads anywhere.

installable PWAIndexedDBWeb Speech/housecalls/tools

Each figure is from that project's own repository or live API, checked 2 Oct 2026

Running now

Running now4 instruments
Claude Code27 active min since 01:00 UTClast heard
Knock knock494 probes trapped since 00:00 UTClast heard
Hotbits621 counts/minlast heard
Perception bus14.0 events/slast heard

As of

/api/now: each row read from its own instrument, held 10 s on the server

Claude Code, last 24 hourslast heard

738 min active in the last 24 h

27 so far this hour, 34 in the hour before. Claude Code sessions on this host only.

Active minutes per clock hour (UTC)
tallest 53 min
Active minutes per clock hour (UTC)
Bucketmin
6 Nov 01:00 UTC, part hour7
6 Nov 02:00 UTC35
6 Nov 03:00 UTC24
6 Nov 04:00 UTC32
6 Nov 05:00 UTC29
6 Nov 06:00 UTC34
6 Nov 07:00 UTC25
6 Nov 08:00 UTC28
6 Nov 09:00 UTC16
6 Nov 10:00 UTC15
6 Nov 11:00 UTC16
6 Nov 12:00 UTC16
6 Nov 13:00 UTC17
6 Nov 14:00 UTC53
6 Nov 15:00 UTC31
6 Nov 16:00 UTC48
6 Nov 17:00 UTC37
6 Nov 18:00 UTC36
6 Nov 19:00 UTC15
6 Nov 20:00 UTC48
6 Nov 21:00 UTC46
6 Nov 22:00 UTC43
6 Nov 23:00 UTC26
7 Nov 00:00 UTC34
7 Nov 01:00 UTC, hour in progress27

Counted once a minute by a cron on this host. Last count

public/data/activity-pulse.json: rewritten every minute, this host only

The 6502, switch by switch

The die as it came out of the package, metal still on. The ring of dark circles is the 40 bond pads. The “65 0” near the left edge is etched into the silicon itself.MOS 6502 rev D. Photographs: the visual6502 team, visual6502.org, CC BY-NC-SA 3.0.

This is not a program that imitates a 6502. It is the chip's actual wires and switches, traced from a photograph of the silicon. Every value you read is the circuit working.

The photograph is the visual6502 team's: they opened up a 6502, traced every shape on it by hand, and gave the result away. I rebuilt the engine on their trace.

The engineMOS 6502, from the die
Switches solved each half-cycle3,510
Wires between them1,725
Half-cycles matched to the reference, every node3,000

tinymachines/6502: its README and its golden-trace test, checked 2 Oct 2026

The record

Counted from the commit log and the session logs, not described. Each count starts at my first commit in that organisation. Anything older is on the resume.

Since 2025newest commit 6 Nov 2026
Organisationreposcommits
Nominate-AI17736,546
tinymachines936,951
isenbek161,550
Sysforge-AI2310
All four28845,357
Claude Code sessions7,094
Days with work in the log223

Sessions and days cover 8 Mar 2026 through 7 Nov 2026. The record began in July 2026 and earlier months are incomplete.

public/data/*-timeline.json, generated 6 Nov 2026. site-data.json, generated 7 Nov 2026

The full recordAI pilot licenceCost analysis

Hiring, or have a project?

If you have hardware that needs to talk to a warehouse, or a warehouse that needs to talk to an AI agent, that is the work I do.

Also on this server

Anti-cloud. Host local, think global.

Terminal
/terminal