byldr
ryan@cwynar:~
> cat ./writing/agent-can-do-what-you-say.json

Your Agent Can Do What You Say. Can You Say It?

by 5 min read

A friend of mine spent a few weekends vibe-coding a sales team management tool. Prompted Claude, got tables, got a UI, felt the rush everyone feels the first time an agent turns a sentence into a working app. Then he tried to actually use it for his team and things got weird. Duplicate records. A client that existed twice under slightly different names. A dashboard that undercounted deals for no reason he could find.

I opened his database. There were five different client models. Not five clients — five separate schemas all trying to represent the same concept, scattered across tables with names like clients, client_accounts, customer_profiles, and two more that were near-duplicates with a couple of erroneous columns bolted on. Every time he opened a new chat session and said "the client" or "the account" or "the customer," the agent took him literally and built him something new. It did exactly what he asked. He just never asked for the same thing twice.

on file

The rot was visible. He never looked.#

Here's the part that stuck with me. This wasn't a subtle bug buried in application logic. It was five tables sitting right there in the schema browser. Anyone with five minutes of curiosity and a willingness to open the tables would have caught it on day two. He never opened the tables. Not once. He trusted the output because the output looked like an app, and an app that looks like an app feels finished.

That's not a criticism of him specifically. It's the default behavior the tools invite. The agent will cheerfully build you a sixth client model if you ask it to. It has no memory of your intent across sessions, no opinion about whether "client" should mean one thing across your whole system, and no reason to stop and ask whether this table already exists somewhere else with a different name. That job was always yours. Vibe coding didn't remove it. It just made it easy to forget the job existed.

the industry numbers

Output stopped being the bottleneck a while ago#

This matters more now than it did two years ago, because the thing everyone used to compete on — raw shipping speed — is no longer scarce. Linear has reported teams using coding agents shipping 6.5x more. Anthropic says Claude now writes roughly 80% of the code internally, with their own engineers shipping 8x more, test coverage up 10x, CI jobs up 25x. Those are not modest gains. They mean that the volume of code a team can produce is close to a solved problem.

If everyone can 6-8x their output, output stops being the differentiator. It's table stakes, like electricity. What separates a durable product from a flaky one isn't how much code got written — it's whether the person directing the agent knew what to ask for. The bottleneck didn't disappear. It moved upstream, into the part of the process that happens before a single prompt gets typed: can you name the problem correctly, model it correctly, and notice when the agent's answer drifts from what you actually meant.

what's left to compete on

Taste and fundamentals are the moat now#

In client work at byldr, the pattern is consistent: the projects that hold up under real usage aren't the ones written the fastest, they're the ones where somebody understood the domain well enough to model it once, correctly, and hold that model steady across a hundred prompts and three engineers. That's not a coding skill. It's closer to what a good architect or a good product lead already does — naming things precisely, noticing when two concepts are secretly the same concept, refusing to let scope drift without noticing.

You don't need a computer science degree to do this. You need a working handle on a small number of fundamentals: what a data model is and why a table represents one thing, how requests move between a client and a server, why a form field and a database column aren't automatically the same thing. That's it. That's most of what separates someone who can direct an agent from someone who's just hoping the agent is right.

  • Data modeling — one concept, one table, one name, used consistently across every session and every prompt
  • Basic networking — enough to know what a request/response cycle is and why "it's slow" has more than one possible cause
  • System design instincts — knowing when a feature request is actually two different features wearing a trenchcoat
mastery, not a degree

Use the agent to close the gap, not just to ship#

The good news is you already have the best tutor for this sitting in the same window you're vibe-coding in. Claude doesn't just write code — it will explain, at exactly the depth you ask for, why your five client models are a problem and how to collapse them into one. You don't need to go learn a computer science curriculum. You need to learn the one concept you're missing right now, the specific gap that's costing you, and then the next one after that. That's the whole idea behind mastery learning and knowledge space theory: figure out precisely what you don't know yet, close that gap, move to the next gap. Not a syllabus. A sequence of exactly the right next lessons, aimed at exactly the problem in front of you.

Ask it to walk you through why a foreign key exists. Ask it to review your schema and tell you, honestly, where the inconsistencies are — the same question I asked when I opened my friend's database, except you can ask it before the rot sets in instead of after. A little curiosity, applied early and often, is the difference between a founder who directs the tool and one who's just along for the ride hoping it holds together.

The agent can only execute what you can articulate. Everything upstream of the prompt is still your job.
Ryan Cwynar · byldr

Volume was never the moat. It's cheap now, and getting cheaper. What's still scarce is someone who can look at a sprawling, half-built system, ask the boring five-minute question — wait, what is this table actually for — and get the model right before it calcifies into five wrong versions of the same idea. That's not a technical superpower. It's curiosity, applied on a schedule. If you want a second set of eyes on your data model before it rots any further, that's the conversation to have with us.

Before it rots further

If your tool was vibe-coded fast and now feels fragile, we'll look at the data model with you and tell you honestly what's underneath it.

Talk to byldr →
More writing →