Why Clients Still Pay You When They Have Code and Claude
I spent the weekend tinkering to turn Claude from a chat tool into a deliverable project workflow and hit quite a few pitfalls. It started when I saw that HN headline: "The client has code and also has Claude AI, why are they still paying you?" I've been using Claude for about a month, and recently ran some code with it again. I feel the key is whether you can pass acceptance testing; generation is just one step in the process.
On day one, I made three pages of documentation first, without rushing to write code. I opened the Claude web version, clicked New Chat on the left, entered Break down the following requirements into scope, acceptance criteria, and a risk list. Each item must be testable. Then I pasted the requirements and clicked Send. After seeing the split-column text appear on the right, I clicked Copy and saved it as SCOPE.md. The expected result should be a bunch of checkable conditions, like "When an invalid email is entered, the page must display a line of prompt." Fancy copywriting is useless.
Here I hit my first pitfall. Initially, I asked it to "give me a quote directly," and it listed features like an advertisement, promising everything. Later, I added "Each feature must include completion criteria, otherwise do not output." Only then did it start speaking human language.
On day three, I started running the minimal workflow. I saw someone mention that half a year ago they pasted code into Claude to find bugs, and others used Claude for content automation to get 152,000 views. My testing showed that the difference mainly lies in the number of rework iterations; lines of code are secondary. The method was to open the terminal in the project folder (the terminal is the black window where you type commands), type ls to confirm where the core files are. Create TEST_NOTES.md with four fixed columns: Command Run, Input, Expected Result, Actual Result. Go back to Claude, paste a file and an error message (error messages are the prompts shown when the program fails), and ask it Do not change the code, first list possible causes and verification steps. Follow the steps back to the terminal to run commands and fill the results into the table. If it fails, paste the failure output back to Claude and ask it to provide only the next step.
After running this for a week, I made a rough comparison. Just letting Claude generate code is fast, but errors rely on guessing, making it hard for clients to trust. Breaking down acceptance criteria first and then having Claude modify things is slightly slower, but errors have records, allowing clients to see evidence. Finally, adding maintenance instructions makes the process more stable, allows rollback if errors occur, and looks more like a delivery.
There's a second pitfall here: unstable quotas. I saw people complaining that the free version sometimes allows 20 questions, sometimes only 2. You can't put your project's fate in the hands of "whether I can ask today." I later kept key prompts and file lists locally, waiting until the quota was sufficient to batch run them.
A week later, I started writing the quotation explanation. When clients ask, "I can do this myself with Claude," I no longer argue. I give them a one-page DELIVERY.md, covering only requirement boundaries, test evidence, fault rollback, and subsequent maintenance. Rollback means being able to revert to the previous version if changes break something. Merge SCOPE.md and TEST_NOTES.md, enter in Claude Change the technical list into plain language, each line including what the customer will see. Manually delete absolute promises, such as "never goes down" or "fully automatic." Split the quote into three tiers: prototype, integration, and maintenance. Prototype checks if it runs, integration checks boundaries, and maintenance checks how issues are resolved.
I saw someone mention spending $600 on tokens in an enterprise environment to build an HTML app. Money isn't wasted. Claude can write code, but no one is responsible for turning "it works" into "it can be handed over to others." Standard Claude is like a Q&A window; Claude Code is more like a tool that can run tasks in local files, but it also requires you to clearly explain the context, i.e., which files it can currently see.
If you want to try this too, tonight start with a minimal acceptance test. Take a Python script, prepare 5 lines of test data, run it, and put the screenshot and Actual Result into the table. Tomorrow, have Claude use this table to supplement a one-page client explanation. If you can complete these five steps, it means you already know how to handle acceptance in delivery; generation is just one step.
📌 This article is compiled from Hacker News, original source https://www.youtube.com/watch?v=1L48dy4Lyjo
Copyright belongs to the original author. This is a compilation and independent analysis based on public reports.
Physix Frontier