Design & ProductARTICLE

How Grok Bot Was Built in a Month: The Product Decisions Behind the Agent

On Lenny Rachitsky's podcast, Roman Ugarte explains how a small team took the agent from zero to launch in seven weeks. Here's what builders can take away from it.

How Grok Bot Was Built in a Month: The Product Decisions Behind the Agent
Image: Marina Pires

The most interesting part of Roman Ugarte's conversation with Lenny Rachitsky, in the episode How we built Grok Bot in a month, isn't the aggressive timeline (four weeks to a working internal product, plus three more to public launch). It's the sequence of product decisions that made that timeline possible, decisions that any team building an AI agent today will face.

Ugarte isn't just anyone in this discussion: before Grok Bot, he led Growth at Cursor and helped scale the company from 15 to more than a thousand people before its acquisition by SpaceX. In other words, he had already seen up close what makes a developer-facing AI product gain traction, and he deliberately chose not to reuse that foundation.

The decision that defined everything: building from scratch, not plugging into Cursor

The obvious path would have been to add the knowledge agent as just another feature inside Cursor, a product that already had distribution, a user base, and infrastructure. The team did the opposite: it started a new, isolated product, from the very first git init.

This is a product decision before it's a technical one. Plugging into an existing product gives you distribution speed, but forces you to inherit the old product's mental model. Cursor is a code editor; an agent that does knowledge work (office work, research, writing, analysis) for a broader audience doesn't fit comfortably inside the same shell. Building from scratch is more expensive up front and cheaper later, because you don't pay the compatibility tax on decisions that weren't made for your case.

For the Brazilian developer, the question that remains is concrete: when the team decides to fit the new AI feature into the existing monolith "because it's faster," how much of that initial gain becomes architecture debt six months later? Grok Bot's choice suggests that, for a new category of product, the cost of reusing can be higher than the cost of starting over.

Manual onboarding: nearly 300 first users handled by hand

The point that most clashes with the "scale first" culture is this: the team personally onboarded nearly 300 of its first users. Not a polished self-service flow, not a guided in-app tour. People from the team sitting down with people who were going to use the product.

This is discovery in its raw state. It's not survey-and-NPS research, it's direct observation of where the product gets stuck, when the person gives up, what instruction they give the agent, and how they react when it gets something wrong. An AI agent is especially hard to instrument through metrics alone, because the same "click" (sending a prompt) can hide radically different intentions. Watching the person use it resolves ambiguity that no dashboard can.

The trade-off is honest and worth naming: this method doesn't scale and shouldn't scale. It's meant for the window in which you're still figuring out what the product is. Once that phase is over, insisting on manual onboarding becomes a bottleneck. The transferable lesson isn't "do manual onboarding," it's: in the first few hundred users, the cost of being in the room is worth more than the time saved by automating too early.

The 100% bar: why 'almost right' doesn't work for an agent

Ugarte sums up, in an X post quoted in the episode, the product thesis that guided Grok Bot:

An AI that does 100% of the work feels categorically different from one that takes you 90% of the way there.

>

-- Roman Ugarte

That line sounds motivational, but it's a scope decision with a direct technical consequence. An agent that delivers 90% forces the user to review, correct, and complete the rest, and the effort of auditing an almost-right answer is often as large as doing it from scratch, because you don't know where the wrong 10% is. An agent that closes the loop entirely changes the nature of the interaction: from "copilot I supervise" to "colleague I delegate to."

That's where the philosophy the episode calls colleague-pilled comes from: designing the agent to behave like a coworker you hand a task to and get a finished result back, not like a tool you operate step by step. The product difference is huge. "Colleague" implies trust, persistent context, and responsibility for the entire deliverable, and each of these properties pulls specific engineering decisions along with it: memory, the ability to chain tool use, and, above all, a much lower tolerance for error.

The practical warning for builders: aiming for 100% is expensive and isn't always the right target. For very high-consequence tasks (code that goes to production, financial transactions), the copilot model with a human in the loop can be more responsible than an agent that "solves it alone." Grok Bot's 100% bar works because the knowledge work domain tolerates the person asking again if they didn't like the result. Not every domain tolerates that.

What sustains the advantage when everyone has the same model

The part about moats (competitive defense barriers) is where the episode speaks most directly to today's market. Ugarte has the standing to talk about this because he watched Cursor keep winning in a market where dozens of competitors use the same foundation models (Codex, ChatGPT Work, OpenClaw, and others are mentioned as part of the landscape).

The implicit reasoning is what matters to developers: if the model is a commodity (anyone can call the same API), the advantage isn't in the model. It's in how well the product captures context, how fast the team iterates based on what it sees users doing, and in the experience wrapped around the model. That's what manual onboarding bought: understanding real behavior before the competition did.

What a Brazilian dev takes from this

It's important to calibrate: none of this is a reproducible benchmark or a guaranteed recipe. It's the account of a team with rare resources, talent, and timing, in a context most people don't have. But three decisions travel well to smaller projects:

  • A new category calls for a new foundation. Before plugging the AI feature into what already exists, ask how much of the old mental model you'll be forced to carry along.
  • Stay in the room early on. In the first tens or hundreds of users, direct observation is worth more than any metrics dashboard, even more so for an agent, where the intention behind the prompt is invisible in the log.
  • Explicitly define your bar for correctness. 100% changes the category of the product, but it's expensive and doesn't work for every domain. Deciding this early avoids building a copilot when the user wanted a colleague, and vice versa.

The full episode, with the timeline details and the two product decisions Ugarte credits for the success, is behind the paywall of Lenny's Newsletter. The good question to bring back to your own team isn't "how do I copy Grok Bot," but: in your AI product, are you aiming for the comfortable 90% or the 100% that changes the nature of the relationship with the user, and does your architecture know which of the two you chose?

Translated from the Brazilian Portuguese original · Read the original

View profile →