Code
Seventy-six public repositories, which is a number that tells you almost nothing on its own. This page is a map of them: what is alive, what is finished enough to install, and what has not been touched since the day it was created.
The shape of it
- 119 repositories
- 76 public, 43 private. The private ones are client work, live infrastructure, and things not fit to read yet
- 30 worked on recently
- Public repositories with a commit in the last three months
- 34 created in one day
- A single push in May 2026 that has not moved since — plans and stubs, not projects
- Mostly Rust
- With TypeScript where a browser is involved, Kotlin and Java on Android, and shell where shell is the honest answer
I would rather you read three of these carefully than skim all seventy-seven. The Projects page has the six worth an hour; this page exists so that the rest are accounted for rather than implied.
Worked on in the last three months
- PlausiDen-Forge
- The build pipeline. Typed page documents in, audited static site out, with the build failing rather than shipping a page that breaks its own rules. About 105,000 lines and 2,341 tests.
- PlausiDen-Loom
- The design system as code: the tokens a page is allowed to use and the 166 components it can be assembled from, plus the renderer that is the only thing permitted to turn content into markup. About 74,000 lines and 1,545 tests.
- PlausiDen-Crawler
- A robot browser. It drives a finished site along a scripted journey and reports what reading the source cannot tell you — contrast as rendered, focus you cannot see, tap targets too small, buttons that do nothing — then diffs today's report against the last.
- Mailroom
- Mail rules as typed data. The same rule compiles to the script the mail server runs, stays testable in memory without a server, and is the format the mail client reads and edits — with both sides asserting the shared shape from their own test suites.
- Neurosymbolic-Toolkit
- Hyperdimensional computing and probabilistic logic in seven crates: reasoning that shows its working, needs no training data, and runs entirely on your own machine. 298 tests, no compiler warnings.
- cinder
- Secure overwrite of files, free space and memory on Android, with a document arguing honestly about what any of it can guarantee on flash storage.
- Thundercrab
- A Rust mail client for Android and Linux with federated rule learning that cannot carry mail content, because the type describing a shared rule has nowhere to put it.
- Tempered-Studio and Tempered-Studio-Mobile
- A Rust course whose 91 broken programs are verified against the real compiler on every run, and the Android build that carries the same engine offline.
- agent-watchdog
- Profile-driven outage detection: probes services, ports, TLS expiry, disk and backups, and tells you before a customer does.
- claude-tools
- Command-line tooling for running AI coding agents on a schedule — pausing, resuming and auditing recurring jobs without losing their state.
- claude-secrets
- A local-first secrets manager for agent workflows: encrypted at rest, referenced by handle rather than value, so a secret is not pasted into a transcript to be used.
- ermine, ermine-web and ermine-notify
- The Monero wallet in progress, its hand-built launch page, and a self-hosted double-opt-in mailing list for it that keeps no IP addresses.
- Vulnerability-Scanner
- Aggregates the national vulnerability database, GitHub advisories and OSV, and walks a dependency tree against them.
- PlausiDen-ZKTLS and PlausiDen-Doc-Capture
- Two identity-verification substrates: proving a claim about yourself from a TLS session without revealing the underlying data, and reading a passport's machine-readable zone without retaining anything personal.
Finished enough to install
Cinder
An Android APK you can sideload today, with 352 downloads and a published audit of its own untested paths.
Tempered Studio for Android
The Rust course as a phone app, working with the network off, with a real toolchain on the device if you install one.
ThunderCrab
Four interim Android builds, debug-signed and downloadable. Real, installable, and not finished.
The forty-three that are not alive
Thirty-four public repositories were created in a single push in May 2026 and have not moved since. Some are one-page design notes, some are stubs with a README and a crate layout, a few are ideas that turned out to be someone else's job. They are public because I would rather leave the record honest than curate a timeline, but none of them is a portfolio piece and I would not point a client at one.
The rest of the parked group is older work that has been superseded — an earlier generation of the site tooling, a firewall front end, a first pass at a vault — kept readable because the reasoning in them is sometimes still worth something, and archived in practice if not in name.
Everything published here carries a no-warranty notice. It is public so the work can be read and argued with, not because I am inviting anyone to run it untested.
Available for work
Want to talk about a project?
I take on client sites, backend work and the infrastructure around them.