THE WORK

Portfolio

Everything I’ve built — finished, half-built, all dated. Nothing here is dressed up.

The arc — three months, dated

I’m showing the early stuff on purpose. These are first attempts, not shipped products, and I’m not going to pretend otherwise. The story is the climb.

  • Feb 17, 2026 — Earliest dated file on my machine: an audio archive from before I started coding. (I made music first.)
  • Feb 19 — First Python I wrote: an early audio engine and an LLM bridge script. These survive only as zip snapshots now, not a live project — so I’m calling them what they are: where it started.
  • Feb 22–28 — First real week. Audio tools (a music player with a beat-reactive visualiser, a visual playlist tool, an audio-video mesh), a job-hunting web app — the first version of what I’d iterate through into HuntOS v2, then v3 and v4 in the weeks after — and a couple of skeletons I started and didn’t finish. Even these first ones shipped with READMEs, troubleshooting docs, and a plug-in structure. The documentation habit was there from day one.
  • March — Prototypes get serious. Stability Forge — first started in late February alongside the audio tools, but in early March it got my first written-down agent crew: Alex on the engine, Sarah on the wrapper, and a read-only auditor I called TALLAS. That role-separation method has shown up in every project since. Alongside it: HuntOS v3 → v4 (the job-hunting platform from week one, now with named agents David and Heather), Founder Brain (a small, clean service with a local database), a deterministic combat simulator with replay and seeded randomness, plus a behavioural-intelligence framework, an author-enrichment pipeline, a beat generator, and a couple of music tools.
  • Mar 27 — First commit on ECO. The folder was opened a week earlier on Mar 19 — I didn’t start tracking it in git until Mar 27.
  • Apr 30 — Set up the two-role agent rotation (Talos and Effy) on top of ECO.
  • May 17 — Shipped PC_HEALTH. In daily use ever since.
  • May 26 — L.I.LY hit v0.9, 139 tests passing after a safety-hardening sweep.
  • May 25–31 — ETS2LA campaign: four bugs closed (two are code-execution holes); report active, last updated May 31.

The March prototypes mostly didn’t ship to production, and I won’t say they did. What they show is the climb — and that the way I run AI agents now didn’t appear from nowhere. The role-separation method has a March prototype behind it. You can watch the same idea get sharper across every project.

The stack — what I write, and what I wire together

Languages I write and read in

I’m not claiming to be an expert in eight languages after three months. What I’m claiming is that I can move between stacks fast enough to ship in them and to audit them.

LanguageWhere I’ve used it
PythonL.I.LY, PC_HEALTH, the ETS2LA campaign, most of the March work
RustECO’s backend
TypeScriptECO
SvelteECO
JavaScript / HTML / CSSWeb interfaces across L.I.LY and ECO, and this site
PowerShellBackup scripts, the PC_HEALTH event-log piece
SQLDatabases in ECO, Founder Brain, and others
C# (read, not written)Reading a game’s runtime to plan mod work

What I integrate — other people’s tools, wired together right

A lot of what I ship sits on top of open-source software other people wrote. I’m straight about that, because picking the right tool, reading its docs, pinning a version that works, writing the glue, and documenting how to put it back when it breaks — that’s a real skill, and it’s one a lot of “I built it all myself” portfolios quietly skip. Plenty of clients have been burned by someone who rebuilt a worse version of a solved problem instead of using the tool that already works.

These are tools I integrate. They’re not my code. I wire them in and I keep them running:

  • AI / LLM: Anthropic’s API and the Model Context Protocol (MCP)
  • Networking: Tailscale (private network access, so things never leave your own machines)
  • Backup: Restic (encrypted snapshots, with a retention and restore routine I wrote)
  • Hardware sensing: LibreHardwareMonitor, smartmontools, nvidia-smi, the Windows Event Log
  • Voice / audio ML: XTTS-v2, faster-whisper, silero-vad
  • Compute: PyTorch with CUDA
  • Web frameworks: FastAPI, SvelteKit, Tauri
  • Storage: SQLite with full-text search, Supabase
  • Hosting: Cloudflare Pages, and self-hosted (this site)
  • Quality and security: Playwright, Vitest, ESLint, secret-scanning

The discipline that isn’t code

Some of how I work doesn’t show up as code at all, but it’s where the blue-collar side earns its keep:

  • Two backup systems, both running. Daily automated snapshots of ECO since 2026-04-28 (31 dated snapshot folders on the backup drive, set-and-forget). Separately, an encrypted Restic system for L.I.LY plus my private vault — a wrapper script I wrote in PowerShell, ACL-locked passphrase, retention policy (14 daily / 8 weekly / 12 monthly), and a documented disaster-recovery flow. Two different jobs, two different shapes, both real.
  • Verification logs and decision logs as real documents, not afterthoughts. The last verified entry is the ground truth. Every decision has a record.
  • Method statements, sign-offs, RFIs, inspections — jobsite paperwork applied to software. When the work’s blocked I raise it; when it’s done I prove it.

Got a job that looks like one of these? Let’s talk about it →