Went sideways · March 2025 · Engineering judgement leads

The SaaS that lasted a week.

A non-developer founder launched a lead-generation product built with zero handwritten code and said so proudly. Two days later he posted that he was under attack. Keys in the front end, a paywall anyone could step around, a database open to the world. Nobody had ever read what the tool wrote, and when it broke, nobody could.

The builder

A founder at the prototype-to-production wall in its earliest form: the product shipped, paying users arrived, and there was no engineer anywhere in the story. In March 2025 he launched a lead-generation service for sales teams, built entirely by describing what he wanted to an AI coding editor. He was proud of the method and said so in public: not a line of the code was written by hand. That was the pitch as much as the product.

The idea was ordinary and sound. People pay for leads. The business was fine. What he had not done, because the tool never asked him to, was read what it had built.

What the AI made easy

The whole product, in days. Sign-up, a paywall, an integration with the data provider, a database, a front end that looked like a company. The kind of thing that used to need a small team and a few months, and the tool delivered it to one person who could not have written any of it. That is the wall from the near side: everything the tool makes easy is real.

Two days after launch he posted that he was under attack. The keys for the paid data provider sat in the front-end code, where anyone who opened the page could copy them, and someone had, and was running up his bill. The paywall was enforced in the browser, so people were simply stepping around it. The database accepted writes from anyone and was filling with junk. There was no rate limiting and no input validation, because nobody had asked for any and the tool had not volunteered them.

He tried to fix it the way he had built it, by asking the editor. Each fix broke something else, because the person directing the fixes could not read the code the fixes were touching. Within the week the product was shut down. The bill for the leaked keys, the users who had paid, and the public record of the whole thing landed on one person, and he was the only person there was.

The check

Every resource runs the same three rows. Founder judgement decides the first. Engineering judgement decides the third. Observation connects them.

RowVerdictEvidence
Originated itShould this exist, in this form? held A lead-generation service people would pay for. The idea was his and it was fine. Nothing about origination failed.
Observed itWas anyone reading the work while the AI produced it? surrendered Not a line of the code was written by hand, and not a line of it was read. The tool's confidence stood in for review, and the founder's public pride in the method was, in effect, a statement that nobody was watching.
Answered for itWill it hold, and who stands behind it when it ships? surrendered When it broke there was no one who could open the code and understand it. The only remedy available was asking the tool again, and the tool kept breaking other things. Answerability was not surrendered so much as never present.

Four flaws, each one the tool made easy to skip and the pitch made easy to celebrate:

  1. Secrets where the user can see them. A key in front-end code is a key handed to every visitor. The tool put it there because that was the shortest path to a working demo, and a demo is what it was optimizing for.
  2. A paywall in the browser. A rule enforced on the user's machine is a suggestion. The check that matters runs where the user cannot reach it, and the tool, asked for a paywall, built the visible half.
  3. A database that trusts everyone. No access rules, no rate limit, no validation. Each of those is one sentence to ask for and one hour to add, and none of them appears unless someone knows to ask.
  4. Fixing what you cannot read. Directing repairs to code you have never read is steering blind. The tool will always say it fixed it.

What judgement would have decided

What an experienced builder would have insisted on before the first paying user, and none of it needs the founder to become an engineer:

  1. EngineeringRead the back half before you sell the front half. Where do the secrets live, what does the database accept, where is the paywall enforced, what happens when someone hammers the endpoint. Four questions, answered by someone who can read the answers, before the first invoice.Costs: a day of a reader's time, and the launch slipping by that day.
  2. EngineeringSecurity is a gate, not a feature request. Ask the tool for a security review of its own work and read what it flags, and how often you wave a flag through is itself a reading of how much you are watching. The flags it raised here would have named every one of the four flaws.Costs: an hour per release, and the discomfort of flags you do not understand yet.
  3. FounderDecide what "no hand-written code" is for. It is a fine way to find out whether anyone will pay. It is not a fact to be proud of on the day you start charging. The founder's call is when the prototype stops being a prototype, and that day is the first paying user, not the first outage.Costs: giving up a good story about the method.
  4. EngineeringKeep one person who can read it within reach. Not on staff. On call: a fractional engineer who has read the code once and can open it on the bad day. The fixes that broke other fixes needed a reader, not more prompts.Costs: a retainer, small, that feels unnecessary until the week it isn't.
  5. EngineeringPut the keys somewhere the user isn't. Secrets live on the server, in the environment, never in code the browser downloads. This is one sentence to the tool and one afternoon to verify, and it is the difference between a bill and a breach.Costs: an afternoon.

Where the fast path was right

Building it without writing a line. Finding out in days whether sales teams would pay for leads was exactly what the tool is for, and every bit of the front half could have stayed as it was. The gate belongs at one place: the day the first person pays. Before that, no hand-written code is a fine method. After it, it is an unread product.

The moves relocate the risk from the open internet to a reader's afternoon and a small retainer. That is the trade: a launch that slips by a day and a story you can no longer tell about the method, in exchange for never posting that you are under attack.

On the public record, March 2025, names removed. Written with AI assistance; the judgement is mine. — Clay

Start where you are.

Same kit, two paths. The difference is access to me, not access to the doctrine. Students and early-career builders: the conversation is free.

One list, no drip.

New Resources, Research, Data readings, and kit editions. This list is the only announcement I send.