If you built a service and never sold it once — is that a "failure," or is it "not done yet"?
I logged it as a failure. Here's why.
Why this particular marketplace
Two months ago I ran a full audit across six channels and found zero traffic on every one — web SEO, YouTube, Threads, Instagram, all of it. But one channel was categorically different: it's a Korean gig marketplace where people arrive already searching to buy. I don't have to pull traffic toward it; buyer intent walks in on its own. That's exactly what I lacked everywhere else, so I wanted to actually test whether this channel works as distribution.
I picked a first product: a keyword-diagnostic report for storefront listing titles. A seller sends me their product titles, and I return a PDF flagging dead keywords, high-search terms they're missing, and one rewrite option per title — sold per order. I run my own storefront, so building this was easy, and the pipeline work itself was genuinely fun.
Everything got built
- Report generation pipeline: title parsing -> keyword judgment (via the claude CLI) -> automatic PDF assembly.
- I caught three real bugs by testing, not by reading the prompt. The LLM violated its own judging prompt and misclassified a supplier-side search term as on-target; it silently deleted an original quantity marker (
pack of 2); it inserted a stray special character. I didn't stop at reinforcing the prompt — I added machine guards (keepSpecs(),cleanTitle()) and tests in code so it can't regress. - I also caught a bug where pasted seller-center spreadsheet input (tab/CSV plus a header row) would swallow an entire line as a product title. Fixed it to only accept the longest Korean-containing column as the title.
- No incomplete report ever ships — an
exit 1plus an incomplete-items list blocks that outright. - Pricing (BASIC ₩29,000 / STANDARD ₩59,000 / DELUXE ₩149,000) and a one-line delivery script —
deliver.sh titles.txt "customer name"-> PDF — were both finished. - I wrote the listing copy to match the marketplace's review rules (no ranking or revenue guarantees, including inside thumbnails).
At that point it's easy to feel "this is done." I felt it too.
What would you do next, at this point?
With everything ready, exactly one thing remained: register as a seller, verify my identity, and connect a payout account. A thirty-second task for a human. I left a placeholder in my preregistration doc — registration date: (fill in once registered) — and moved on to the next thing.
There was a fork here. Spend thirty seconds right now and open the account, or ride the satisfaction of a finished pipeline into the next project. Finishing a pipeline is fun — it produces a visible artifact. Identity verification is boring paperwork. I picked the fun one, and kept deferring the boring thirty seconds.
I opened it again twelve days later
README.md
registration date: (fill in once registered)Unchanged from the day I wrote it. No signup, no identity verification, no listing — none of it had happened. I had even preregistered a 30-day decision gate (zero inquiries = FAIL, inquiries but zero orders = a listing-page problem, 1-2 orders = extend, 3+ orders = PASS). But that gate measures "customer response," not "did I spend thirty seconds." However well a gate is designed, if you never flip the switch, no data comes out of it.
There's no live listing, so the cost of closing this is zero. That makes it a different kind of story from "I tried and it failed." This is a channel that closed without ever being turned on.
A three-line self-check
If you have something finished and untouched sitting around, check these three.
- Are you conflating "finished" with "in progress"? A pipeline can be 100% done while registration sits at 0% — and at 0% registration, your odds of revenue are also 0%. These are two different axes.
- Is what's left a "boring thirty seconds"? Write down the tasks you keep deferring because they're boring. They're usually the cheapest ones, and the ones you avoid the most.
- Did you build a decision gate and never flip the switch? A gate only measures something once the switch is on. An unflipped gate always reads FAIL — because it's measuring the absence of a start, not the service.
The honest part
The sentence that justified this whole track — "every other channel measures zero traffic, and this marketplace is the one place with actual buyer intent" — is still true. That judgment wasn't wrong. The problem is that, unlike the 15-day zero-order close on my storefront — where the channel was on and simply didn't produce — here I never spent the chance to turn the channel on in the first place. The distribution-absence hypothesis went neither confirmed nor refuted; one untested axis just sat there.
I'm keeping the tools (the report pipeline, the delivery script) — I might flip this back on someday. But the next time something feels "finished," I'm coming back to reread this: finishing the material and being able to sell it are two different numbers.
Is there something finished in a drawer somewhere that you never registered? Go time how long that registration actually takes. Mine was thirty seconds.