geoffreylitt.com
Code like a surgeon
A lot of people say AI will make us all “managers” or “editors”…but I think this is a dangerously incomplete view! Personally, I’m trying to code like a surgeon. A surgeon isn’t a manager, they do the actual work! But their skills and time are highly leveraged with a support team that handles prep, secondary tasks, admin. The surgeon focuses on the important stuff they are uniquely good at. My current goal with AI coding tools is to spend 100% of my tim...
AI as teleportation
Here’s a thought experiment for pondering the effects AI might have on society: What if we invented teleportation? A bit odd, I know, but bear with me… The year is 2035. The Auto Go Instant (AGI) teleporter has been invented. You can now go anywhere… instantly! At first the tech is expensive and unreliable. Critics laugh. “Hah, look at these stupid billionaires who can’t spend a minute of their time moving around like the rest of us. And 5% of the time they end up...
Enough AI copilots! We need AI HUDs
In my opinion, one of the best critiques of modern AI design comes from a 1992 talk by the researcher Mark Weiser where he ranted against “copilot” as a metaphor for AI. This was 33 years ago, but it’s still incredibly relevant for anyone designing with AI. Weiser’s rant Weiser was speaking at an MIT Media Lab event on “interface agents”. They were grappling with many of the same issues we’re discussing in 2025: how to make a personal assistant that auto...
Is chat a good UI for AI? A Socratic dialogue
The pupil was confused. Some people on Design Twitter said that chat isn’t a good UI for AI… but then chat seemed to be winning in many products? He climbed Mount GPT to consult a wizard… 🐣: please wizard tell me once and for all. is chat a good UI for AI? 🧙: well, aren’t we chatting now? 🐣: …? 🧙: should this conversation be a traditional GUI? 🐣: no, it could never be! 🧙: why not? 🐣: uh… you can’t click buttons and drag sliders to ask open-end...
Stevens: a hackable AI assistant using a single SQLite table and a handful of cron jobs
There’s a lot of hype these days around patterns for building with AI. Agents, memory, RAG, assistants—so many buzzwords! But the reality is, you don’t need fancy techniques or libraries to build useful personal tools with LLMs. In this short post, I’ll show you how I built a useful AI assistant for my family using a dead simple architecture: a single SQLite table of memories, and a handful of cron jobs for ingesting memories and sending updates, all hosted on Val.town . The wh...
Avoid the nightmare bicycle
In my opinion, one of the most important ideas in product design is to avoid the “nightmare bicycle”. Imagine a bicycle where the product manager said: “people don’t get math so we can’t have numbered gears. We need labeled buttons for gravel mode, downhill mode, …” This is the hypothetical “nightmare bicycle” that Andrea diSessa imagines in his book Changing Minds . As he points out: it would be terrible! We’d lose the intuitive under...
AI-generated tools can make programming more fun
I want to tell you about a neat experience I had with AI-assisted programming this week. What’s unusual here is: the AI didn’t write a single line of my code. Instead, I used AI to build a custom debugger UI … which made it more fun for me to do the coding myself. * * * I was hacking on a Prolog interpreter as a learning project. Prolog is a logic language where the user defines facts and rules, and then the system helps answer queries. A basic interpreter for this language tu...
Your pie doesn't need to be original (unless you claim it so)
Imagine you bake a delicious peach pie over the weekend, and you offer a slice to your friend. They respond: “Wait, how is this different from every other peach pie that’s ever been baked? It seems really similar to another pie I had recently.” This is obviously an absurd reaction! But this exact dynamic happens all the time in creative software projects. Someone shares a project they made, and the first reaction is: how’s it different? The problem here is a mismatch in v...
7 books that stood the test of time in 2023
It’s the most wonderful time of the year: when people proudly announce how many books they have read in the past 12 months. 10 books, 20 books, 57 books! Worry not—I know you don’t care, and besides, I have no idea how many books I read this year. In lieu of that, here’s a short list of some favorite books I read before 2023 that have stuck with me this year and changed the way I think. Seven masterpieces on AI, cooking, art, houses, product design, computational media, and tre...
Codifying a ChatGPT workflow into a malleable GUI
In my previous post, Malleable software in the age of LLMs , I laid out a theory for how LLMs might enable a new era of people creating their own personal software: I think it’s likely that soon all computer users will have the ability to develop small software tools from scratch, and to describe modifications they’d like made to software they’re already using. In other words, LLMs will represent a step change in tool support for end-user programming: the ability of normal people to fully harnes...
Malleable software in the age of LLMs
It’s been a wild few weeks for large language models. OpenAI released GPT-4 , which shows impressive gains on a variety of capabilities including coding. Microsoft Research released a paper showing how GPT-4 was able to produce quite sophisticated code like a 3D video game without much prompting at all. OpenAI also released plugins for ChatGPT , which are a productized version of the ReAct tool usage pattern I played around with in my previous post about querying NBA statistics using GPT ....