Blog
Essays on product craft, AI-assisted engineering, shipping fast, and zero-to-one work.
Your AI agent has never seen the output of its own code
We use Claude Code intensely for frontend work but it is practically a blind collaborator. It writes JSX, Tailwind classes, animation configs with fluency. But it has never seen the output of its own code. It cannot evaluate whether the result is beautiful, balanced, or even visually coherent.
Read moreAI-assisted engineeringIf you can build it in a night, the subscription is a tax on your own inaction
I wanted WisprFlow but did not want to pay for it. So I built Commandment, an open-source alternative with BYO API key, in a night. Then I built allmd to turn any URL into markdown. Then HackerTok. Same impulse each time: too cheap to subscribe, fast enough to build.
Read moreExecutionRebuilding from zero is faster than debugging
I wanted shareful.ai to have a Mac app, iOS app, Chrome extension, Safari extension, frontend, and a big monolith database. I had repos for all of it. Weeks of accumulated work. Then I deleted everything and rebuilt from scratch in one night with CC Max 20x. Had it live before morning.
Read moreDeveloper toolsThe best AI interface requires five years of nerd knowledge
They are just trying to force normies into the terminal. That is my honest read on a lot of the current AI coding tools. Claude Code, Codex CLI, all of it — powerful tools locked behind decades of accumulated Unix knowledge. The command line is the most agent-friendly interface we have, but most people cannot use it.
Read moreZero to oneSeeing the pitch from the other side of the table taught me more about building than building did
After years of building and pitching, I joined Airtree's Explorer cohort to learn what it looks like from the other side of the table. Evaluating other founders' zero-to-one stories taught me things about my own that I could not see while living through them.
Read moreExecutionDo not ask how to ship faster. Ask what is making you slow.
When teams talk about speed, they often ask the wrong question. The better question is not 'how do we ship faster?' It is 'what is making us slow?' The difference matters because the first question tends to produce more tools, more layers, and more activity, while the second question forces you to identify the real drag in the system.
Read moreProduct craftWe built a community the same way we build products — by showing up every day and iterating
Six months ago, Ryan Hendler, Luca Bonelli, and I started a WhatsApp group. Not to track every AI headline, but to share how we actually build day to day. It grew to 70 people, 15,000 messages, and sold-out meetups. Then Greg Brockman tweeted about us.
Read moreAI-assisted engineeringImplementation is free. Taste is the bottleneck.
I deleted all the repos and rebuilt shareful.ai from scratch in one night with CC Max 20x. Had it live before morning. That is not a flex. It is a datapoint about how dramatically the effort-to-outcome ratio has changed for side projects.
Read moreExecutionYou do not win by being right. You win by finding out faster.
Two startups, two acquisitions, and one lesson that kept proving itself: speed is the single biggest advantage a small team can have. Not reckless speed. Not sloppy speed. The kind of speed where you think to 80 percent, ship, watch what happens, and close the loop before anyone else has finished their second planning meeting.
Read moreDeveloper toolsAgent skills are becoming composable the way npm packages did — and it will reshape how we build
I made a skill that creates skills. Then I made allmd to turn the whole universe into a skill. Then I noticed the pattern: agent skills are becoming composable units of capability the same way npm packages became composable units of code.
Read moreAI workflowBetter references beat better prompts
You still need to be crafty with the initial context. That is the part most people skip. Research papers, niche blog posts, specific documentation, reference implementations — feeding the right material into the context window before you start is the single highest-leverage thing you can do with AI coding tools.
Read moreAI workflowWe went from plain text to SPAs and back to plain text — and the agents are the reason
The internet came full circle. It started as plain HTML with hyperlinks. Then it bloated into single-page React applications. Now it is collapsing back to plain text markdown with hyperlinks. The difference is who is reading. First time around, humans. This time, AI agents.
Read moreVoice AISomeone lost their voice from talking to AI all day
I built Rubber Duck, a voice coding agent. I built a Todoist Ramble clone for Things 3 where audio streams to Gemini Flash 2.5 Live and directly executes tool calls. I built Commandment, an open source WisprFlow alternative. Each project started from the same observation: typing is a bottleneck when the listener understands natural language.
Read moreDeveloper toolsThe infrastructure between you and your tools is the most underinvested part of your stack
I set up Claude Code on my phone with Tailscale and Termius. Then I connected Beeper so my coding agent can search and send messages across every platform. Then Raycast snippets for every repeated prompt. Your developer OS deserves the same care as the products you ship.
Read moreProduct craftPeople can sense carelessness, even when they cannot see the code
One line I keep coming back to is this: people can sense carelessness. They cannot always explain it, and they usually cannot see the code or process behind a product, but they notice when something feels rushed, awkward, or stitched together without much thought.
Read moreDesignIt's obvious when you vibe coded your app, but it doesn't have to be
Everyone can tell when you vibe coded your app. The default shadcn components, the Lucide icons, the Inter font, the glowing gradient borders — it all screams 'I prompted this into existence and shipped the first thing that came out.' But it does not have to be that way. Here is my guide to getting away with it.
Read moreZero to oneYour career compounds like interest but only if you keep investing in learning
I started working the day after I finished high school. Not because I had a plan, but because I wanted to learn. Every role since then was chosen for the same reason: maximum learning velocity over immediate comfort. Looking back, the pattern is clear. Careers compound like interest, but only if you keep reinvesting.
Read moreZero to oneZero-to-one work is less about genius ideas and more about clarity under pressure
People often describe zero-to-one work as creativity, ambition, or a willingness to move fast. Those things matter, but the real advantage is usually clarity. You need clarity on the user problem, clarity on what the first useful version should be, and clarity on what can be ignored for now.
Read more