Lessons from Building Vercel v0 and the d0 Agent

2026-07-04 · page · source ↗ · source summary

Malte Ubl (CTO, Vercel) on building agents in-house — both the internal data agent Dzero and the V0 product agent. The talk's central provocation: building agents is "extremely easy" and you don't need to buy them. Simplicity scales as models improve, framing problems as coding tasks unlocks disproportionate capability, and "teams just make things go slower." Delivered at The Pragmatic Summit.


Key Quotes

"In the world of agents you have to be humble in the sense of we're just discovering how to build them. Just because something was best practice like the summer of 2025 means quite little today."

Ubl deleted Dzero's first version — a multi-tool loop architecture — and rebuilt it as two tools: bash and Execute SQL. ~50 lines of code. The YAML semantic layer (plain-English descriptions of every Snowflake column) is all the agent needs to grep through and write queries. This is a bet that models will get smarter, not that you need to get smarter about prompting them. The humility is tactical: don't over-invest in architecture that models will obsolete.

"If you can make things look like they're a coding task, even though they're not, then you get disproportional good results."

The most transferable technical insight in the talk. Models were trained heavily on code — exploit that. Text-to-SQL becomes a bash script that greps a YAML file. CSS layout becomes inline Tailwind classes. The framing matters more than the problem domain. This is the same pattern behind Webwright (browser automation as Playwright code) and Tone LLM (LLM fills a JSON schema, deterministic code does the rest). The agent doesn't need to understand your world — it needs to see your world as code.

"I'm deep in 12 hours a day coding. And by coding I mean I can do meetings."

Ubl's current stack: Claude with 4.6 fast and Codex 5.3 for code reviews. The CTO of Vercel describes his own workflow as coding through meetings — the agent works while he talks. This isn't a demo; it's how a shipping product's CTO operates day to day. The collapse of "coding" and "managing" into one continuous activity.

"Teams just, I don't know, make things go slower."

The full prescription: one person finds product-market fit and produces a working demo first, then you allocate a team. Premature team formation is organizational drag, not leverage. This echoes the The Founder's Playbook stage model (Idea → MVP before scaling) and UBTRIPPIN Dispatches (one AI-augmented individual building a startup). The counterargument is that solo exploration works for discovery but not for hardening — Ubl acknowledges this implicitly by saying "if the demo is good, I'm going to give you a team."

"There are no approvals. Anyone can ship anything, but they have to tell the organization that they're going to do it and the organization can veto things."

Ubl calls this "optimistic locking." Legal doesn't have to say yes (which creates waiting) — they must actively say no. This inverts the default from "blocked until approved" to "shipping unless stopped." The organizational cost is that vetoers must be vigilant, and veto failures are public. This only works if the culture actually vetoes things — if veto becomes taboo, optimistic locking degrades to no locking at all.

"We automated 87% by now of our support intake" — support agents now "have a much better job" handling only hard problems.

Automation didn't eliminate support roles; it upgraded them. The remaining 13% are the genuinely hard problems. Support agents went from ticket triage to complex problem-solving. This is the optimistic version of the automation story — the pessimistic version is that the 87% was the training ground for the skills needed to handle the 13%, and you've broken the career ladder. Ubl doesn't address this.

"Software is free, like getting a free puppy. It has to be maintained."

The best line of the talk, and not original to Ubl — but he deploys it perfectly. The marginal cost of creating software goes to zero with agents, but the maintenance burden doesn't. Every generated app is a puppy you now have to feed. This is the same tension in The solution might be cancelling my AI subscription (Willison) — even good AI-generated code creates maintenance obligations faster than you can meet them.

"The most senior ICs are in a way the one that benefit the most because they... now have just more minions."

Senior ICs already orchestrate work — delegating to agents is a natural extension. Junior engineers benefit as "digital natives" who never learned the old way. "What's most interesting is kind of what happens in the middle." This is the most honest framing of the career impact question: the poles are fine, the middle is where the structure collapses.


Key Themes


Critical Analysis

The strongest claim is the weakest documented. "Building agents is actually extremely easy and you don't need to buy them" — said by the CTO of a company that sells an agent platform (V0). There's a tension here Ubl doesn't acknowledge. Vercel benefits whether you build or buy: if you build, you host on Vercel; if you buy, you buy V0. The "build, don't buy" advice costs Ubl nothing to give and makes him sound principled. The actual economics for a company without Vercel's infrastructure and talent density are likely different.

The 50-line Dzero claim needs interrogation. Ubl says the orchestration code is 50 lines. But the YAML semantic layer — the durable artifact that makes the whole thing work — is presumably maintained by humans who understand every Snowflake column well enough to describe it in plain English. That's the real cost center: not building the agent, but maintaining the semantic layer at scale. Every schema change requires a human to update a YAML description. As the data warehouse grows, so does the maintenance burden on the semantic layer. The 50-line agent is riding on a human-maintained knowledge base that might be the actual product.

The V0 evolution story is a model-capability arbitrage play. V0 didn't succeed because of product insight — it succeeded because Vercel was positioned to exploit each model leap before competitors could reposition. The Tailwind prompt hack (2023), the Sonnet 3.5 full-stack pivot, the current "tech-adjacent shadow IT" positioning — each is a fast-follow on a model release. The strategic question is whether this is sustainable or whether the window between "model ships" and "competitor catches up" shrinks to zero. Ubl's answer would probably be that Vercel's moat is in running software ("you throw shit over the fence and we're going to run it for you"), not in the agent that creates it.

Optimistic locking is a trust-constrained pattern. It works at Vercel because Vercel is a 750-person company with a strong engineering culture and a CTO who embodies the values. Does it scale to 5,000? To a company where engineering isn't the dominant culture? Ubl's answer is implicit in the headcount joke — he and the CEO joke about capping at 1,024, "notably below our hiring plans." Optimistic locking is a density-dependent pattern: it works when everyone knows everyone and trust is high. Beyond Dunbar's number, you need process.

The "middle" engineer problem is the most important unresolved question and Ubl basically punts. Senior ICs get minions, juniors are digital natives, the middle is "most interesting." That's not analysis — that's evasion. Mid-level engineers are the ones who do the work that senior ICs delegate and juniors can't handle yet. If the middle collapses, you lose the training ground for seniors and the support system for juniors. This isn't just an org chart question; it's a pipeline question for the entire industry.

The 87% support automation number is a Rorschach test. Ubl sees it as "agents have better jobs now." You could also see it as: 87% of support work was automatable, meaning those jobs were always going to be automated, and the remaining 13% is what the humans should have been doing all along. Or: 87% automation means 87% fewer entry points into the company for people without engineering degrees. Ubl's framing is optimistic but not wrong — the question is what "better job" means when the easy problems are gone and only the hair-on-fire problems remain, every single shift.


Related Pages


Source: Lessons from building Vercel v0 and the d0 agent Last updated: 2026-07-04