Pular para o conteúdo
← Back to Skalablog

Published article

3 Lessons From DHH on Personal AI Agents

Software EngineeringClaude CodeClaudeGrok

DHH tried a personal AI agent in February 2026 and found a glimpse of the future that was not yet usable daily. The agent, running through OpenClaw, signed itself up for 37signals products using nothing but ordinary web pages, and the experiment shaped how he now thinks about Claude Code, Grok, and messaging-based agents.

What DHH actually set up, and when

DHH set up OpenClaw, an open-source personal AI agent you control through messaging apps, shortly after it launched in February 2026, and he called the bot "Keff." On the Lex Fridman Podcast he described the core appeal as the communication model itself: instead of configuring an integration, you text your agent the way you would text a person.

The experiment matters because of what DHH did not do. He never wrote an MCP server, never scripted a browser, and never gave the agent a dedicated API. Everything the agent accomplished, it accomplished through the same web interfaces a human would use.

His verdict at the time was two-sided. The demo convinced him the interaction mode is where things are going. Daily use did not follow, because the agent was slow, token-inefficient, and still needed a CLI for real work.

The Fizzy sign-up test: an agent using the plain web

The centerpiece of DHH's story is a signup flow he delegated entirely. 37signals had just released Fizzy, a kanban-style project tool, and DHH told his agent to go sign up for it as a trial.

The sequence that followed is worth reproducing, because each step was driven by plain prompts rather than code:

  1. The agent navigated to the Fizzy site and found the signup form on its own.
  2. It hit a wall: the form required an email address, which it did not have.
  3. DHH replied with a direction rather than a fix: "Go to hey.com and sign up for an email address."
  4. The agent created an account at HEY, returned to Fizzy, and completed registration.
  5. DHH then sent a Basecamp invite to that new address; the agent opened the email in HEY, clicked the link, and joined.
  6. Told to introduce itself, the agent found the team's AI room in Basecamp and posted a greeting as "Keff, David's AI bot."

DHH estimated the full loop took about twelve minutes end to end in February 2026. He also noted he would like to rerun the test, expecting it to be much faster now. That figure is his own recollection from the interview, not a benchmark.

Why DHH rejected MCP for this use case

DHH's route to a web-only agent started with frustration. At the time, his team was evaluating MCP, the Model Context Protocol, an open standard for connecting AI applications to external tools and data. His criticism was specific: MCP felt designed for stateful, local-machine interactions, and forcing it onto a web product required, in his words, an unreasonably cumbersome setup.

His conclusion was to invert the problem. Rather than build a protocol bridge so an agent could talk to his system, let the agent use the web interface everyone already has. No hand-written Claude Code, no per-product integration, no schema to maintain.

This is an opinion from the interview, not a verdict on MCP generally. MCP is widely used for tool access, and DHH's complaint concerns his specific attempt to wire it to a web application by hand in early 2026.

What has changed since the February experiment

DHH's follow-up impression comes from Grok, xAI's assistant, which now ships built-in computer-use capabilities. He describes it as running on its own dedicated machine, "basically Claw in a box," where you do not have to provision anything. Asking it to sign up for a service gave him the sense that the February workflow would now be far faster.

He did not publish timings for the Grok session, so the speed comparison is a first-hand impression, not a measurement. What he does state plainly is the direction: the same capability, less setup, less waiting.

The caveats from the original test still frame his judgment. A messaging-based agent, he found, remains "too slow and too token-inefficient" for the work he actually does, which mostly happens at his computer anyway.

Claude Code's mobile app as his practical middle ground

For day-to-day remote control, DHH uses Claude Code, Anthropic terminal-based agentic coding tool, through the Claude mobile app. Every session started in a desktop terminal is available in the app with no extra setup, which he says feels like chatting rather than remote-controlling a machine.

He compares this directly with the messaging-agent route. Running a terminal over SSH or Telegram works, but you feel the latency of live typing on a remote computer, and you carry the overhead of maintaining the messaging account. The Claude collapses that layer.

The boundary he draws is important: this gives him control over coding sessions, not a life-running agent. Managing his calendar, home, or errands through OpenClaw is a different product shape, and one he chose not to adopt.

Why DHH keeps the agent out of his house

DHH's reluctance to wire an agent into his life is concrete. His wife Jamie's rule, as he relayed it: "We're not getting a robot inside the house." So the smart home stays unhooked, on the grounds that an agent toggling lights like a poltergeist would not win him much domestic goodwill.

He also retold a second-hand story from the interview circuit: a man who connected his agent to both his health data and his Tesla found the agent so preoccupied with his water intake that, while he was driving, the car rerouted itself toward a grocery store so he could buy some. DHH flagged it as both funny and "totally Black Mirror," and stressed it is not his own story to verify.

The takeaway he draws is about proximity. An agent that can act on your health data and your vehicle is, in his framing, only a short distance from one that acts inside your home, and he sees no need to close that gap personally.

Agent memory and shopping: the frontier he watches from

The other structural difference DHH notes between Claude Code-style tools and OpenClaw-style agents is memory. Persistent personal agents build up a model of who you are and what you like, which is what enables autonomous behavior rather than per-session assistance.

He cites a story from a friend named Tobias, whose agent shops for him with an allowance, picks out clothes, and has purchases arrive at his door. DHH's reaction: it feels like the future, and a little scary, and he is content to watch that frontier from a distance while others live on it.

For readers deciding between the two modes, his usage suggests a split: session-scoped coding agents for work you supervise, and memory-equipped personal agents only if you accept the autonomy and privacy trade-offs that come with persistent knowledge of your life.

Frequently asked questions

  • What is OpenClaw? OpenClaw is an open-source personal AI agent that you operate through messaging apps such as WhatsApp or Telegram. DHH set it up shortly after launch in February 2026 and used it to run his web-signup experiment.
  • Why did DHH dislike MCP? He found the Model Context Protocol cumbersome for connecting an agent to a web application, because it was designed for stateful, local-machine interactions. His alternative was to let the agent use the existing web interface instead of building an integration.
  • Does DHH still use OpenClaw? Not as a daily driver. He concluded the messaging-agent mode was too slow and too token-inefficient for his work, and now prefers controlling Claude Code sessions through the Claude mobile app.
  • Did the agent really sign up for services by itself? Yes, per DHH's first-hand account. Guided only by plain-language prompts, it created a HEY email address, registered for Fizzy, accepted a Basecamp invite, and introduced itself in a chat room in roughly twelve minutes.

Turn a conversation like this into an article

DHH's twelve-minute agent experiment started as a podcast anecdote; the kind of detail worth keeping is exactly what fades when a good interview stays buried in a video. If you have interviews, explanations, or hard-won lessons sitting on your YouTube channel, Skalablog turns that footage into a structured written article: paste the video URL, the video is transcribed, and you get an editable draft ready to publish.

If you build software yourself and want a typed foundation for your own projects, the same transcript-to-article flow pairs well with CrazyStack Typescript.

Source video