There are 944 pages currently on this tech focus site of Kai's. Kai's personal blog is called Natalian. 295 blog posts, 612 tips and one AI podcast. Last 10 blogs How could a community fund the new Bosvena health centre? — Bodmin's new GP surgery has stalled on funding again. Here are the community financing options — from a patient equipment fund to community shares and social-impact property investment. A Ticket Template for AI-Generated Code — A trimmed JIRA/issue template — story, scope, acceptance criteria, plus an AI verification section — inspired by Dave Farley and Matteo Vaccari's talks on keeping AI-generated code honest. Returning Shelly EM Gen3 to Bulgaria: A 56-Day Ordeal — What happened when I ordered Shelly EM Gen3 days before Gen4 launched — return shipping to Sofia cost me £17.55 and my package spent weeks stuck in customs. AI Native DevCon London 2026: Sessions I Attended — A personal recap of the sessions I attended at AI Native DevCon London on June 1st, 2026 — covering agentic coding, spec-driven development, harness engineering, and vibe coding. The Klinik NHS Access Form Is Failing Patients — Documenting my complaint about the broken UX of the Klinik Access form used by Bosvena Health — opaque closures, broken proxy login, same-day expiry, and feedback that never reaches the practice. Comparing SDD Frameworks: spec-kit vs OpenSpec vs get-shit-done — Notes on the differences between three Spec Driven Development frameworks — GitHub's spec-kit, Fission-AI's OpenSpec, and gsd-build's get-shit-done. Replacing the light bulb in dad's shower — Identifying an unfamiliar shower light fitting and working out how to replace the bulb, with a little help from r/DIYUK. AWS SAA-C03 Re-certification Journey — Documenting my experience re-certifying for the AWS Solutions Architect Associate (SAA-C03) exam — study resources, lessons learned, and tips. From AI-Generated to Production-Ready: Closing the Gap — AI can write code fast, but getting it to production requires the same rigour as any other code — testing, review, observability, and ownership. Here's how to bridge that gap. How I Monitor My Home Energy Usage — A practical walkthrough of my home energy monitoring setup — the tools, dashboards, and insights I use to track and reduce electricity consumption. Last 10 tips No pagination with the AWS CLI — How do you get all the results from an AWS CLI query without pagination? youtube-dl in 2023 — Downloading a video off Youtube What process is using my port? — Starting ... on localhost:9229 failed: address already in use Glossary of Electric Vehicle terminology — With examples of said terminology Searching for a git commit message — fatal command line, '[FOOBAR-1234]' Invalid range end How to move horizontally — You could / search or ... Cloudwatch Insights — Surfacing errors Learning to train — Crib notes for how to deliver training Terraform a role — Why is this so hard? Helm secrets — Where are secrets set in values.yaml in Kubernetes?