[{"data":1,"prerenderedAt":242},["ShallowReactive",2],{"blog-\u002Fblog\u002Fmy-kill-criteria-for-product-experiments":3,"blog-surround-\u002Fblog\u002Fmy-kill-criteria-for-product-experiments":224,"blog-related-\u002Fblog\u002Fmy-kill-criteria-for-product-experiments":232},{"id":4,"title":5,"audience":6,"body":10,"cluster":190,"date":191,"description":192,"draft":193,"extension":194,"factCheckedAt":195,"faq":196,"featured":193,"language":195,"meta":206,"navigation":207,"order":208,"originalAsset":195,"path":209,"pillar":210,"primaryKeyword":211,"relatedProject":195,"releaseScope":195,"reviewCycle":212,"reviewStatus":213,"reviewedBy":214,"searchIntent":215,"seo":216,"sources":195,"stem":217,"tags":218,"type":222,"updated":191,"__hash__":223},"blog\u002Fblog\u002Fmy-kill-criteria-for-product-experiments.md","My Kill Criteria for Product Experiments",[7,8,9],"indie-founder","solo-developer","product-builder",{"type":11,"value":12,"toc":180},"minimark",[13,32,37,40,43,47,50,56,60,63,85,88,92,100,104,117,121,147,154,157],[14,15,16,25,26,31],"p",{},[17,18,19,20,24],"strong",{},"The usual advice is to kill a product when the numbers say it's dead. I do it earlier: I decide when to kill a product experiment ",[21,22,23],"em",{},"before I start it"," — by writing down, in advance, what \"not working\" looks like: no signal, no pull, no path to mattering."," This sounds cold. It's the opposite — it's what lets me start anything at all, and what makes ",[27,28,30],"a",{"href":29},"\u002Fblog\u002Fmy-product-operating-system","running several experiments"," survivable for one person. Without a line drawn in advance, weak products don't die, they linger — kept alive by attachment and \"one more feature\" — quietly draining the attention Delivery Sheet and Listemizde actually need. The line has to exist before I'm attached, because afterward I can't be trusted to draw it.",[33,34,36],"h2",{"id":35},"the-attachment-problem","The attachment problem",[14,38,39],{},"Here's the trap: the moment you build something, you're attached to it — not because it's working, because it's yours. And attachment is a terrible judge. It rationalizes. \"It just needs marketing.\" \"One more feature and it clicks.\" \"Too early to tell.\" A dead product can soak up months of that reasoning, because the person deciding whether to kill it is the one least able to see it straight.",[14,41,42],{},"So I don't hand that call to my future, attached self. I make it now, while I still can.",[33,44,46],{"id":45},"decide-before-you-start","Decide before you start",[14,48,49],{},"Before an experiment ships, I write down what would tell me it isn't working — the specific conditions under which I stop. Small act, large payoff. Later, killing the product isn't an agonizing emotional decision; it's checking whether a line I already drew got crossed. The objectivity is borrowed from a version of me that still had it.",[51,52,53],"pull-quote",{},[14,54,55],{},"Kill criteria written after you're attached are excuses with a timestamp. Written before you start, they're the only honest judge you'll have when the decision actually arrives.",[33,57,59],{"id":58},"what-not-working-looks-like","What \"not working\" looks like",[14,61,62],{},"Three signals, and their absence:",[64,65,66,73,79],"ul",{},[67,68,69,72],"li",{},[17,70,71],{},"No signal"," — nobody's using it, nobody's asking for it, nothing organic is happening.",[67,74,75,78],{},[17,76,77],{},"No pull"," — I'm pushing it uphill. Every bit of interest is interest I manufactured, and nothing pulls back on its own.",[67,80,81,84],{},[17,82,83],{},"No path"," — I can't honestly see how it becomes something people want. Not \"it's hard\" — \"I don't have a route.\"",[14,86,87],{},"Any one of these can just be early days. All three, after a fair effort, is a dead product. The fair-effort part carries weight: kill criteria aren't permission to quit on the first quiet week. They're the line you apply after you've genuinely given the thing a real shot.",[33,89,91],{"id":90},"the-sunk-cost-trap","The sunk-cost trap",[14,93,94,95,99],{},"The reason the criteria have to be pre-committed is sunk cost. The more you've put in, the harder stopping gets — which is exactly backwards, because what you've spent is gone whether you continue or not. The only honest question points forward: from here, is this worth more of my attention than ",[27,96,98],{"href":97},"\u002Fblog\u002Fhow-i-decide-what-to-build-next","the next thing","? Attachment can't answer that. A line drawn in advance can.",[33,101,103],{"id":102},"killing-cleanly","Killing cleanly",[14,105,106,107,111,112,116],{},"Killing isn't deleting and pretending it never happened. I ",[27,108,110],{"href":109},"\u002Fproducts","archive it honestly"," — the status label is part of the point — and I keep what the experiment taught me. Usually the problem was real even when the solution wasn't, and that lesson feeds the next idea's ",[27,113,115],{"href":114},"\u002Fblog\u002Fhow-i-decide-whether-an-ai-product-idea-is-worth-building","go\u002Fno-go filter",". A killed experiment that taught you something is cheap tuition. The expensive failure is the one you didn't kill — the one that ate a year while you told yourself it was nearly there.",[33,118,120],{"id":119},"what-usually-goes-wrong","What usually goes wrong",[64,122,123,129,135,141],{},[67,124,125,128],{},[17,126,127],{},"No criteria at all."," Deciding by feel, which means never, because attachment never feels ready.",[67,130,131,134],{},[17,132,133],{},"Criteria set after you're attached."," Too late. You'll write them soft enough to pass.",[67,136,137,140],{},[17,138,139],{},"Quitting too early."," The opposite error — killing before a fair effort, so nothing gets its real shot.",[67,142,143,146],{},[17,144,145],{},"Killing without learning."," Deleting the evidence instead of keeping what the run taught you.",[14,148,149,150,153],{},"Write the criteria before you start, give each experiment a fair effort, then apply the line honestly — no signal, no pull, no path means stop — and keep what you learned. That discipline is what makes a studio of small products possible instead of a graveyard of half-tended ones. It's the last rule of ",[27,151,152],{"href":29},"my operating system",", and the one that protects the rest.",[155,156],"hr",{},[14,158,159],{},[21,160,161,162,166,167,170,171,174,175,179],{},"Part of ",[27,163,165],{"href":164},"\u002Ftopics\u002Fbuilding-ai-products","Building AI Products",". See also ",[27,168,169],{"href":29},"my product operating system"," and ",[27,172,173],{"href":114},"how I decide whether an AI product idea is worth building",". The ",[27,176,178],{"href":177},"\u002Fnewsletter","newsletter"," sends one practical build lesson every two weeks.",{"title":181,"searchDepth":182,"depth":182,"links":183},"",2,[184,185,186,187,188,189],{"id":35,"depth":182,"text":36},{"id":45,"depth":182,"text":46},{"id":58,"depth":182,"text":59},{"id":90,"depth":182,"text":91},{"id":102,"depth":182,"text":103},{"id":119,"depth":182,"text":120},"process","2026-07-25","Product kill criteria set in advance — what 'not working' looks like: no signal, no pull, no path to mattering — are what let you run many experiments.",false,"md",null,[197,200,203],{"question":198,"answer":199},"When should you kill a product experiment?","When it hits the kill criteria you set before you started — typically: no signal (nobody's using or wanting it), no pull (you're pushing it uphill with no organic interest), and no plausible path to it mattering. The key is deciding what 'not working' looks like in advance, while you're still objective, so you can act on it later when you're attached. An experiment that's earning no signal, no pull and has no path forward should die quickly so the attention goes to what's working.",{"question":201,"answer":202},"Why decide kill criteria before you start?","Because once you've built something, you're attached to it, and attachment makes you rationalize keeping a dead product alive ('it just needs one more feature'). Deciding in advance what failure looks like — while you're still objective — gives you an honest test to apply later, when you can't trust your own judgment. It turns killing a product from an emotional, agonizing decision into checking whether a pre-agreed line was crossed. Kill criteria are a promise your objective self makes to your attached future self.",{"question":204,"answer":205},"How do you know when to stop working on a side project?","Stop when it's failing the criteria you set at the start and there's no path to changing that. Concretely: it's getting no genuine signal or pull despite a fair effort, you're the only one who cares, and you can't see how it becomes something people want. Left running, a project like that doesn't just waste its own time — it quietly drains attention from things that could work. Killing it cleanly, and keeping what you learned, is how you free that attention.",{},true,9,"\u002Fblog\u002Fmy-kill-criteria-for-product-experiments","building-ai-products","product kill criteria","annual","reviewed","Tan Gravam","informational",{"title":5,"description":192},"blog\u002Fmy-kill-criteria-for-product-experiments",[210,219,220,221],"product","experiments","solo-saas","text","-wx7oGezqmGvQGyiVkHJOJeqjBCN6fXLQAxT-XJJmeI",[225,229],{"title":226,"path":227,"stem":228,"type":222,"language":195,"draft":193,"children":-1},"Money Market Funds for Corporate Treasury","\u002Fblog\u002Fmoney-market-funds-for-corporate-treasury","blog\u002Fmoney-market-funds-for-corporate-treasury",{"title":230,"path":29,"stem":231,"type":222,"language":195,"draft":193,"children":-1},"My Product Operating System for Building Multiple AI Apps","blog\u002Fmy-product-operating-system",[233,235,238],{"path":29,"title":230,"description":234},"The product operating system I use to build several focused AI products solo: choosing which problem to build, shipping fast, and killing what isn't working.",{"path":114,"title":236,"description":237},"How I Decide Whether an AI Product Idea Is Worth Building","How to decide what product to build: the short filter I run every idea through — real recurring problem, one-sentence outcome, small enough to ship solo.",{"path":239,"title":240,"description":241},"\u002Fblog\u002Fwhy-i-write-the-expected-output-before-the-screen","Why I Write the Expected Output Before the Screen","Define the outcome before design: I write the exact result the user should get before building any screen, because the screen is only the path to an outcome.",1785182341852]