Tech, teams, and the bits in between.

John Gregoriadis — Principal Engineer at Prosaic. Essays on AI agents, engineering teams, and the things I take apart to find out how they work.

Line-art portrait of John Gregoriadis, Principal Engineer based in Auckland, New Zealand
John Gregoriadis -36.85°, 174.76° · Auckland, NZ

Writing

2026 39 posts
Writing from 2026
DateTitleMark
TunnelsPart 01 The tunnelnew
A short story about the darkness that keeps you safe.
Shorten the distance to control
Learned helplessness grows when action stops changing the outcome. Sparring trains the return to control.
How Many Days of AI Does New Zealand Have?
AI sovereignty will not live in a flag-branded chatbot. It will live in data centres, power stations and contracts that let allied models run here.
Writing from 2026
DateTitleMark
Prove the Machine Wrong
A parking camera joined two visits together, then handed Keith Miller the job of proving it wrong.
Ukraine’s Drone Advantage Is an Engineering Loop
A technical look at Ukraine’s drone stack, its battlefield engineering loop, and the evidence behind balloon-launched aircraft.
Policy WhiplashPart 03 I Parsed Every Law New Zealand Has Ever Passed
38,064 XML files, 241,456 amendment events, the oldest from 1872. What the entire NZ statute book looks like as data, and why counting 'a change' turned out to be the hard part.
Your Show HN dies in 7 hours
I scraped all 41,301 Show HN posts from the last year. Half the comments a launch will ever get arrive inside 7.2 hours, and success doesn't slow the clock.
Policy WhiplashPart 02 The Fastest Repealers in the West
In 2025 Parliament sat 644 hours and spent a third of them in urgency. The churn isn't a personality flaw. We built the company this way.
Policy WhiplashPart 01 Six Years, $228 Million, Zero Metres of Track
Auckland Light Rail: six years, $228 million, zero metres of track. A running tally of what changing our minds costs.
The holes that kill you are the ones you never tested
The Swiss cheese model trains you to count slices. The holes that actually kill you are the ones you never tested.
What Happens When a Worm Drives Claude?
I wired a live C. elegans connectome into the control loop of a Claude coding agent, then watched what the worm did when the code broke.
The Laws of Human Nature
An interactive read-through of Robert Greene's 18 laws — 18 cards, full essays inside each.
Conscious Minimalism
How I build: small, narrow, niche, AI-native.
The dent and the crater
How a bad year can change the way you lead, and how to keep your team talking to you.
I Built a Read-Later Chrome Extension Because Pocket Died
Pocket shut down in July 2025. I needed somewhere to dump the articles I keep telling myself I'll read later. So I built a Chrome extension that does exactly that and nothing else. Local-only, no accounts, no tracking.
The product market fit gauntlet
Finding product market fit means revising the product, explaining what changed and keeping the team able to respond.
Change management
On the personal version of change management — the long, weird middle bit between who you were and who you're becoming.
Predicting Crime in AotearoaPart 07 Three Ways to Look at Time
ST-ResNet decomposes crime patterns into three temporal scales and models each one separately. Clever architecture, but does it actually help with only four years of NZ data?
What an hour of your attention is worth
You pay Big Tech about $1,000 a year in attention. Here's how to read the meter — and why building your own is suddenly cheaper than opting out.
Predicting Crime in AotearoaPart 06 Teaching a Neural Network to Watch Crime Like Video
ConvLSTM was built for weather radar. Turns out predicting crime on a grid is basically the same problem. Here's how it works and what it learned.
Open-Source Agent That Teaches Claude Code Your Architecture
AI made software cheap to build but not cheap to scale. Evolutionary architecture with domain-aware AI agents is the missing piece.
OpenHealth – Chat with Apple Health Data, Anywhere
I built OpenHealth because Claude's and ChatGPT's Apple Health connectors are US-only. Drop your export.zip, get seven markdown files any LLM can read — browser, CLI, or phone-to-desktop over WebRTC.
Firecracker MicroVM OrchestratorPart 03 Claude Code Can Now Spawn Copies of Itself in Isolated VMs
Wiring up an MCP server so Claude Code can spawn isolated VMs, the SSE-to-Streamable-HTTP migration that broke everything, streaming architecture, and what productionising this would actually look like.
The Future of Security Is an Open-Source Model That Detects and Acts on Threats
Anthropic's Glasswing is for enterprises with six-figure security budgets. The rest of us need open-source security agents that learn our systems and act autonomously.
Firecracker MicroVM OrchestratorPart 02 I Spent 29 Hours Debugging iptables to Boot VMs in 4 Seconds
Building a Firecracker MicroVM rootfs, wiring up TAP networking, debugging UFW's FORWARD chain, and writing a guest agent with raw vsock syscalls in Go.
Predicting Crime in AotearoaPart 05 Can You Beat Last Month?
Before deep learning gets a chance, we need to know how well stupid-simple models perform. Turns out, they put up a real fight.
Firecracker MicroVM OrchestratorPart 01 Claude Code Running Claude Code in 4-Second Disposable VMs
Anthropic has an internal platform for running Claude Code in full-permission isolation. I built my own version with Firecracker MicroVMs, Go, and a $400 Ryzen box.
What if your browser built the UI for you?
We're still shipping hand-crafted frontends while AI can generate entire interfaces. What if the browser itself generated the UI from an API manifest and your preferences?
NanoClaw ArchitecturePart 02 Stealing NanoClaw Patterns for Web Apps and SaaS
Four architectural patterns from NanoClaw's tiny codebase that translate directly to production web apps and SaaS — credential sidecars, infrastructure-level isolation, polling loops, and Postgres as your message queue.
Predicting Crime in AotearoaPart 04 What the Data Actually Shows
Before throwing deep learning at Auckland crime data, you need to actually look at it. Seasonal patterns, spatial hotspots, and the sparsity problem.
How I Built an SMS Gateway with a $20 Android Phone
Turn any Android phone into a programmable SMS gateway for your SaaS — no per-message fees, no carrier contracts, no vendor lock-in.
Predicting Crime in AotearoaPart 02 Giving Crime a Place on the Map
Crime records come with names and codes but no coordinates. Here's how we joined 1.15 million records to Stats NZ boundary files and gave every crime a place in physical space.
Predicting Crime in AotearoaPart 03 Crime as Video
Turn a million geo-tagged crime records into a 4D tensor by overlaying a 500m grid on Auckland. Crime prediction becomes video prediction.
Predicting Crime in AotearoaPart 01 Wrangling a Million Crime Records
NZ Police's crime dataset is publicly available, but it's UTF-16 encoded, full of trailing periods, and 32% of records don't know what time the crime happened. Here's how we cleaned it up.
Predicting Crime in AotearoaIntro Predicting Crime in Aotearoa
NZ Police publish over a million crime records openly. What happens when you point deep learning at them?
NanoClaw ArchitecturePart 01 NanoClaw's Architecture is a Masterclass in Doing Less
I pulled apart NanoClaw's 8,000-line codebase and found six architectural patterns that most SaaS teams should steal — credential proxies, container isolation as authorization, two-cursor message processing, and more.
Careers in the Self-Driving Codebase Era
The engineering career ladder was built for when code was expensive. Code is now cheap. What's valuable has fundamentally shifted.
What if a Worm Could Make AI Agents Smarter?
Introducing c302 — a research project that uses the C. elegans roundworm's neural dynamics as a behavioural control layer for an LLM coding agent.
Why LLMs waste half their brain
AI coding agents burn too many tool calls just figuring out where things are. I built codemap to fix that — cheap model indexes, cheap model selects, big model codes.