Writing
Blog
Project writeups and weekly notes. 21 posts.
-
4 July 2026
A game where the citations do the grading
Consilience is a knowledge game where you assemble real, cited facts into cross-disciplinary insights and defend them to an AI tutor — but the pass/fail verdict is computed from the citation graph, not the model. A fluent answer with no sources cannot win. Design notes on separating the layer that talks from the layer that judges.
-
4 July 2026
A gateway so my data knows which AI it can talk to
I run one local chokepoint for every AI call I make, with data sorted into tiers and each tier cryptographically limited to the providers I trust with it. Sensitive data reaching the wrong model is enforced against, not hoped against. Here's the architecture and what proving it taught me.
-
13 June 2026
Aotearoa Research: mapping New Zealand's policy challenges as a cited graph
A structured, fully-cited research project covering all 16 regions of New Zealand — not prose, but a typed entity graph of problems, claims, drivers and rival camps, where every quantitative claim has to cite a source or the build refuses to render.
-
13 June 2026
Finding duplicate logins in Bitwarden, without deleting anything
A small Bitwarden helper that finds duplicate logins and reports them — and deliberately never deletes a thing. The interesting decision wasn't the dedup logic; it was refusing to touch the vault.
-
13 June 2026
The dashboard the Control Plane replaced
A one-page panel that auto-discovered my local projects and launched their servers on click. It worked — and then I built something that did the job better, so I retired it. A short note on a tool that earned its replacement.
-
12 June 2026
Audio Console: a channel strip for movie night
A live EQ + compressor + limiter for Windows audio, built like one channel of a mixing desk — so whispered dialogue and explosions land at the same volume. Python, a virtual cable, and a few honest trade-offs.
-
12 June 2026
Control Plane: one window for every local service
A Tauri desktop app that starts, stops, health-checks, and embeds every local service I run — and the place this site's status-first design language came from. Includes the Windows process-management rabbit hole.
-
12 June 2026
Sovereign Suite: assembling an NZ-resident cloud
An ad-free, New Zealand-resident alternative to the big-platform stack — assembled from unmodified open-source apps on my own hardware. The vision, the assemble-don't-fork rule, and why the licensing actually works.
-
12 June 2026
Three doors into a knowledge game
Five prototypes trying to turn a knowledge base into a video game — Consilience, Tickscape, and three single-file concept toys — and the design finding that survived all of them: the concept has to be the toy, not the test.
-
12 June 2026
University of Luke: a private university that doesn't make things up
How a 7B model on an 8 GB consumer GPU got near-14B answer quality, fully offline, with zero observed hallucination on spot checks — by splitting knowledge authoring from knowledge synthesis. There's a live demo.
-
28 May 2026
How a 7B local LLM actually processes a job listing
A layer-by-layer walkthrough of the Job Scout scoring loop — from Python function call to transformer forward pass — plus what the replacement dashboard does instead, and why the second approach is more honest about what each tool is good for.
-
28 May 2026
Why I dropped a 7B local LLM from my job aggregator
A post-mortem of scout_mvp.py — what I built, why I thought local-AI judgment would work, what actually broke, and what replaced it.
-
27 May 2026
Cloning my own voice
A zero-shot voice clone built from one short reference clip of my own audio — how it works, how convincing it actually is, and where I'll use it.
-
26 May 2026
Designing a smart home on my terms
A home-automation design built around what I want my house to do — and, just as importantly, what I don't want it to do. The principles are locked; the hardware isn't on the network yet.
-
25 May 2026
A personal finance dashboard built around Akahu
I built a personal finance dashboard around the Akahu open banking API to stop manually reconciling bank exports. Node and React — which I'd choose differently today. The Akahu integration is the leverage that actually matters.
-
24 May 2026
Organising the files on my machine, safely
A Windows file-organisation system built around the rule that no automation gets to touch my filesystem without a dry-run first. Everything + Python organize + digiKam, with JSONL logs of every move.
-
23 May 2026
A political research tool for New Zealand
A local Flask app combining NZ politician profiles with a combined Vote Compass / Political Compass questionnaire mapped against the actual platforms of NZ parties. What I built, what I left out, and why.
-
22 May 2026
streamfinder: a streaming aggregator that knows about NZ free TV
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's still ahead.
-
21 May 2026
The Rust project I retired, and what it taught me about how I learn
A Bitcask-style key-value store with a Rust core and PyO3 Python bindings — designed to teach me Rust the hard way. I retired it. Here's why, and what I'm doing instead.
-
17 May 2026
Multimodal Generation and Robust Agent Engineering
This week's digest covers two threads from the arXiv cs.AI feed: advances in self-reflective multimodal generation and continual learning, and the case for engineering discipline in personal AI agents.
-
10 May 2026
AI Safety and Control in Complex Environments
Three threads from this week's reading: safety scaling laws in clinical LLMs, structured control flow for long-horizon agents, and the disclosure norms AI is reshaping in security research.