A personal academic hub — ~190 subjects across faculties, AI-generated degrees and cited field-guide essays, exported to a static site.
Projects
A working portfolio, laid out the way I run it: a declared status per project, freshness computed from the repositories, and links to the longer build logs and post-mortems on the blog. Source code stays local; what ships here is the write-up and, where one exists, a playable demo.
A metroidbrainia prototype — progression lives in the player's head: wander a university, collect cited facts, and discover the connection the departments never tell you about each other.
A zero-shot clone of my own voice from one short reference clip, used to narrate videos and a read-along audiobook.
Consilience on an OSRS-style engine — a Rust prototype with the 600 ms game tick, tile pathfinding, and a skilling loop.
A desktop supervisor that starts, stops, and health-checks every local service in this list — the registry-driven console this site's design language comes from.
An ad-free, NZ-resident alternative to the big-platform stack, assembled from unmodified open-source apps and run on my own hardware.
Search any title and see every legal way to stream it in New Zealand, free options first — TMDB provider data joined with TVNZ+ and ThreeNow sitemaps.
NZ politician profiles plus a Vote Compass–style questionnaire scored against what the parties actually publish.
A job aggregator with a dashboard; the local-7B scoring layer is the part I retired — the post-mortem explains why.
Windows file organisation under one rule — nothing touches the filesystem without a dry-run first. JSONL logs of every move.
A personal finance dashboard on the Akahu open-banking API; the writeup is the public exposure — no real figures leave the machine.
A live EQ + compressor + limiter channel strip for Windows audio, so movie dialogue and explosions land at the same volume.
A fully-local home-automation design — Home Assistant and Zigbee, no cloud in the path. Principles locked; hardware not on the network yet.
Finds duplicate Bitwarden logins and reports them; it never deletes anything itself.
A one-page panel that auto-discovered local projects and launched their servers on click — superseded by the Control Plane.
A Bitcask-style key-value store in Rust with PyO3 Python bindings, retired once it taught me what I actually needed to learn.
Status is declared in the project registry — shipping · active · paused · retired. “Last touched” is computed from each project’s repository at build time; projects without a measurable repository show no date.
Local AI on my own hardware
Job Scout — post-mortem
A job-aggregator that asked a local 7B model to score listings. The scoring layer is the part I retired — what I built, why I thought local-AI judgment would work, what actually broke, and what replaced it. A companion post traces a single listing through the transformer forward pass, layer by layer, for the curious about why “let the LLM decide” was the wrong abstraction.
Voice clone
A voice-cloning pipeline trained on my own audio — what it took to make it convincing, how the listener test went, and where I will actually use it.
File organiser
A Windows file-organisation system built around the rule that no
automation touches my filesystem without a dry-run first. Everything +
Python organize + digiKam, with JSONL logs of every move.
Smart-home design log
A home-automation design built around what I want my house to do — and, just as importantly, what I do not want it to do. Principles are locked; hardware is not on the network yet.
New Zealand–specific tools
streamfinder
An NZ-specific streaming aggregator that combines TMDB provider data with sitemaps from TVNZ+ and ThreeNow — so “free to watch right now in New Zealand” actually means something. FTS5 search, sitemap parsing, and what is still ahead.
Political research tool
A local Flask app combining NZ politician profiles with a Vote Compass / Political Compass questionnaire mapped against the actual platforms of NZ parties. What I built, what I left out, and why.
Personal infrastructure
Personal finance dashboard
A dashboard built around the Akahu open banking API to stop manually reconciling bank exports. Node and React — which I would choose differently today. The Akahu integration is the leverage that actually matters.
This site
Flask, Jinja, a single hand-written stylesheet, no JavaScript framework, no third-party scripts beyond Google Fonts. Frozen to static HTML and deployed to Cloudflare Pages. The contact form is a Pages Function. The weekly digest you may have noticed is written by a local agent on my own hardware.
Retired, with lessons
MiniKV — a Bitcask-style KV store in Rust
Designed to teach me Rust the hard way: a Bitcask-style key-value store with a Rust core and PyO3 Python bindings. I retired it. The post explains why, and what I am doing instead to learn the same material.
What is not here
The Aotearoa research project is the largest thing on this site, but it lives under Research because it is closer in shape to a long-form research artefact than to a discrete build. The Wāhi Pounamu / David Simmons biography is its own thing too.