David Lewis
Notes, essays, and technical writing.
-
Slop is a standards problem
AI slop is real. The diagnosis is wrong. Slop is what AI does when no one sets the standard — and the same technology can elevate the bar instead, if you choose to use it that way.
-
Evolving Agile in the age of AI agents
The agile practices that survived AI-assisted development weren't the process ones — they were the philosophical ones. A look at what changed and what stayed when building a real product with AI agents.
-
The incomplete history of Design Tokens
A thirty-year story about a single idea: that design decisions should be named, shared, and separated from the things they style — from Håkon Wium Lie's 1994 proposal to the W3C specification.
-
Goal-Driven Development with AI Agents
Starting with a real problem — the "did we get cinnamon sticks?" moment in the kitchen — and figuring out the solution as you go. Part 1 of a series on building a real product with AI agents.
-
If Your Meeting Needs People From Five Teams, Something's Broken
When delivering one idea requires five teams in a room, that's not a planning problem — it's a structural one. On value streams and why cross-functional engineering teams are only halfway to the goal.
-
Part 2 — The Handoff (From the AI's Point of View)
Part 2 of the experiment flips the perspective: the AI is the narrator. Dropped into a codebase with minimal docs, it had to decide what…
-
What's Left When the Code Becomes the Source of Truth
I wrote 786 lines of documentation, then deleted 83% of it. Here's what survived — and why it's the only documentation that matters.
-
AI Can Explain Your Code. Stop Documenting the Obvious
AI can now explain what a system does and how it works. That changes what documentation is for — and what's still worth writing down.
-
Why Your Server Is Paying for Your CSS Choices
Server-side rendering makes some previously invisible costs very visible. This post explores how styling can end up on the server's hot…
-
Folding the Laundry: A Kanban Story
Kanban often gets mentioned in the same breath as Scrum, but they're not the same thing.
-
Quick update on this since I wrote it.
Firstly, the token approach is looking super promising and I'm working on building a prototype with this approach. Once I reach that point…
-
Teaching AI to Design What I Mean, Not Just What I Say
My experiments trying to take back control of AI-generated UI
-
iframes vs Web Components — which one actually performs better in 2025?
iframes were introduced in 1997 — the same year Princess Diana died, the first Harry Potter book was published, and Google.com was…
-
How I Beat Stage Fright (and Accidentally Cured My Fear of Small Talk)
I used to find public speaking absolutely terrifying. The sort of fear that makes your hands shake, your voice wobble, and your brain…
-
From Drift to Drive: Helping Teams Move Towards Strategic Outcomes
Teams rarely drift because they're lazy. They drift because no one's holding the map up anymore.
-
Stretch, Don't Hide: Ambition, Empathy and AI
AI is letting us do things we never imagined. We can design, write, code, compose, and analyse — all from a laptop at home. That isn't…
-
Quiet Debt: The Hidden Cost of Ignoring the Small Stuff
Most of us are familiar with the classic definition of technical debt: the shortcuts, workarounds, and legacy code that get us out of a jam…
-
What's on Your Team's Plate?
Why quick fixes feel good, but lasting health takes patience
-
The Case for Slow Thinking in Engineering Teams
In engineering, we celebrate speed. Ship fast. Fail fast. Move fast.
-
Avoiding the AI Tell: How to Write in a Way That Sounds Like You
Before you read this article, I have to confess that it's almost entirely written by ChatGPT. It was the result of me asking about a…
-
The Power of Emergence: Why Leaders Shouldn't Prescribe Every Solution
As engineering leaders, it's tempting to prescribe solutions. It feels efficient: you've seen this problem before, you know how to solve…