2
5 Comments

My free tier was quietly deleting the one thing users came for

LeverageOS gives free users one AI-generated project skeleton per month. One click, one ZIP.

While auditing my own funnel this week I found the download link was a signed URL that expired after 1 hour — and there was no re-download path. A free user who didn't save the file immediately burned their monthly quota and walked away with nothing. The generations table backed this up: zero completed pulls. Partly that's just low traffic, but any motivated user would have hit the same wall.

The fix shipped this week: artifacts now persist in storage, with an owner-checked re-download endpoint. Boring engineering, but it changes what the free tier actually is.

Two things I'm taking away:

  1. Activation isn't done when the feature runs — it's done when the user is holding the output. I was measuring generation events, not delivery.

  2. Auditing your own funnel like a hostile QA tester finds things dashboards don't. My monitoring said "generation: OK". Reality said nobody ever ended up with a file.

Curious how others measure the delivery half of activation — do you track "output actually reached the user" as its own event, or infer it from downstream behavior?

on August 1, 2026
  1. 1

    Zero completed pulls is a pretty brutal finding, but at least it's clean evidence.

    Now that re-download is fixed, I'd be interested to see where users who successfully get the ZIP go next. That should give you a much better baseline than the generation events were giving you.

    1. 1

      That's the plan. The next event downstream is whether they come back for a second generation within the month — the free tier resets monthly, so a repeat pull is the closest signal I have to "the output was actually useful." First delivery finally gives me a real denominator to measure that against.

      1. 1

        That makes sense. The choice of what counts as evidence that the first output was actually valuable is the part that caught my attention.

        I'd be interested in continuing the conversation by email if you're open to it. What's the best email to reach you on?

  2. 1

    We track delivery as its own event for exactly this reason. It's the difference between "the feature ran" and "the user is holding the outcome". Before we did it, our dashboard said everything was fine while the real signal was zero. Since then, the metric we actually watch is completed deliveries, not generations. For a free tier, a silent dead-end like your expired URL doesn't just cost that one user — it poisons the free tier as a growth channel, because the person who hits it never comes back to tell you why.

    1. 1

      "Poisons the free tier as a growth channel" is exactly the right framing — and the worst part is it fails silently. No complaint, no bounce event, just someone who quietly concluded the product doesn't work. Completed deliveries are a first-class event on my side now too. Good to know the pattern isn't just mine.