Hello, World
An introduction to this blog, who I am, and what I'll be writing about.
Who I Am
I'm Liam Wilkinson. I'm a Principal AI Engineer in UK government, working at the Incubator for Artificial Intelligence, where I've spent the last few years building and contributing to products that help civil servants work smarter — things like Lex, Parlex, Consult, and Redbox.
Before that, I was at Microsoft, where I learned what it means to build and ship at scale in the cloud. I started my career in cybersecurity, building decision-support systems for national security and defence.
The career arc makes more sense than it sounds — each step was about using technology to help people make better decisions in high-stakes environments.
Between the Code and the Room
I sit somewhere between engineer and strategist, between writing code and diplomatic engagement. I still ship software. I also sit in rooms where policy gets made and represent my country in international forums.
I've been lucky enough to represent the UK in conversations about AI and government technology with counterparts across the G7 and beyond. That experience has convinced me that the challenges we face — how to adopt AI responsibly, how to build institutional capability, how to make technology serve citizens rather than just measure them — aren't uniquely British. We have a lot to learn from each other.
I think that bridge between engineering and strategy matters, and I wish more people walked it. Too many technologists think policy is someone else's problem. Too many policymakers think technology is magic. The gap between them is where the interesting work happens.
What This Blog Is
This is where I'll write about AI, engineering, government, and whatever else I find interesting. I'm a big believer in sharing what I've learned, being honest about what hasn't worked, and thinking out loud.
Expect posts about building AI products in complex organisations, the realities of govtech, architecture decisions and their consequences, and the occasional tangent.
What I'll Write About
Building AI products inside government. RAG pipelines that actually work. Cloud architecture for the paranoid. Knowledge graphs and semantic meaning. The intersection of AI and law. Geopolitics and international AI cooperation. Design, philosophy, and why govtech is harder — and more interesting — than you think. Maybe the occasional book review.
Along the way I've developed deep experience in cloud and software architecture. I'll share the hard-won lessons — including the ones that came from getting things wrong.
Blog Tech Stack
This blog is built with Next.js, MDX, and a collection of custom components. Posts can embed live code editors, 3D scenes, and interactive elements inline with prose. It's more infrastructure than a personal blog strictly needs, but that's rather the point.
Here's a live code editor — you can edit and run this:
import { useState } from "react"; const stack = [ { label: "Framework", value: "Next.js 16" }, { label: "Content", value: "MDX via Velite" }, { label: "Styling", value: "Tailwind CSS v4" }, { label: "3D", value: "React Three Fiber" }, { label: "Animation", value: "Framer Motion" }, { label: "Syntax", value: "Shiki + rehype-pretty-code" }, ]; export default function App() { const [active, setActive] = useState(null); return ( <div style={{ display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", height: "100vh", fontFamily: "system-ui", background: "#0a0a0a", color: "white", gap: "0.5rem", padding: "1rem", }}> <p style={{ color: "#555", fontSize: "0.75rem", letterSpacing: "0.1em" }}> TECH STACK </p> {stack.map((item, i) => ( <button key={i} onClick={() => setActive(i === active ? null : i)} style={{ padding: "0.5rem 1.25rem", borderRadius: "8px", border: i === active ? "1px solid #a855f7" : "1px solid #222", background: i === active ? "#1a1025" : "#111", color: i === active ? "#c084fc" : "#888", cursor: "pointer", fontSize: "0.8rem", width: "100%", maxWidth: "240px", textAlign: "left", transition: "all 0.2s", }} > <strong style={{ color: i === active ? "#e9d5ff" : "#ccc" }}> {item.label} </strong>{" "} — {item.value} </button> ))} </div> ); }
And because no over-engineered blog is complete without a gratuitous 3D scene — here's the Utah teapot, lit by orbiting point lights. Drag to orbit.
Posts will use these components where they're useful for explaining technical concepts. And occasionally just because they look good.
When I'm not working, I'm probably playing D&D, reading about classical antiquity or Renaissance Italy, admiring architecture, or wandering around Bristol.
Welcome to the blog.