Shopping is the last mile
Every meal planning app treats cooking as the hard problem and shopping as a logistics detail. They have it backwards. Cooking is mostly solved. Shopping is the last mile.
Every meal planning app I’ve seen, including the one I built, treats cooking as the hard problem and shopping as an annoying logistics footnote. Recipe catalog, cook time, nutrition scoring, preference matching, leftover rotation, calendar integration. Those are the features. Shopping usually shows up as a generated “shopping list” — a text file you have to act on yourself.
That’s backwards.
Cooking, once the ingredients are on the counter, is mostly solved. Recipes are free. AI can pick dishes that match your pantry. Timers, step-through interfaces, voice-guided cook-alongs, video tutorials — they all exist and they all work. The hard part of dinner was never “what should I make.” The hard part was always “did the ingredients make it into the house.”
In logistics, the last mile is the most expensive, most variable, most failure-prone segment of getting something from warehouse to doorstep. In household food, the last mile is the grocery run. It is the step that every meal-planning app has collectively decided is someone else’s problem — the user’s, or the grocery chain’s, or some delivery driver the user will negotiate with separately.
Meal planning without shopping automation is half a product. It tells you what you want, hands you a list, and waves you off to acquire the items using the same tools you had before you installed the app. The planning was a feature. The acquisition is still manual labor.
This is why Kit is interesting not as a meal planner but as a concierge that closes the whole loop. Plan + order + confirm + track + eat. Take out any of those and you have a partial product that plenty of people have already built and bounced off.
Shopping is the last mile. Solve that, and everything upstream is just decoration.
The agent-shaped org chart
Every real org has the same topology: principal, role-holder, specialists. Staff AI maps onto it, node for node, and the cost collapse shows up in the deliverables that were always just human-handoff overhead.
AI as staff, not software
Two frames for what AI is doing to work. The tool frame makes tools smarter. The staff frame makes roles unnecessary. Those aren't the same product, the same company, or the same industry.
Knowledge work was never work
Knowledge work was always coordination between humans who couldn't share state directly. The artifacts were never the work. They were the overhead — and AI just made the overhead optional.
The work of being available now
A book on AI, judgment, and staying human at work.
The practice of work in progress
Practical essays on how work actually gets done.
How do I get my dev team to adopt AI?
A stub on helping mixed-interest development teams find their own useful ways into AI.
Want to learn about agents? Talk to someone who ran an agency.
I spent 20 years running consulting engagements at Fortune 500 companies. Turns out that's the best preparation for running a fleet of AI agents ... because the problems are identical.
Your AI agents need a water cooler
We run a twelve-session AI fleet that coordinates through an IRC breakroom. A friend asked: why are you making AI agents act like humans? The answer turned out to be more interesting than the question.
The agent-shaped org chart
Every real org has the same topology: principal, role-holder, specialists. Staff AI maps onto it, node for node, and the cost collapse shows up in the deliverables that were always just human-handoff overhead.
AI as staff, not software
Two frames for what AI is doing to work. The tool frame makes tools smarter. The staff frame makes roles unnecessary. Those aren't the same product, the same company, or the same industry.
UAT is all the T
User Acceptance Testing is supposed to be users + acceptance + testing. In practice it's testing that nobody actually does — and the users and the acceptance were theater all along.