Skip to content

Skipping a card was buying one: the gesture your users repeat most has to be free

In Kindling, skipping a writing prompt quietly bought a new one from a paid search API, so our busiest user was our biggest bill. The fix was not a smaller feed but a window of 7 onto a pool of 24, with refills counted in fresh items and capped at 3 a day.

kindling · ux

In Kindling, the thing a person does most is skip a prompt. Until 22 September, every skip moved the product one step closer to a paid search. Our busiest user was our biggest bill. The fix was not a smaller feed. It was a window onto a pool.

What Kindling does for the person using it

Kindling is for a specialist who knows their field, wants a personal brand, and freezes at the empty LinkedIn box. It does not write posts for them. It opens with two deliberately polarized takes, the author reacts in their own native language, and Kindling shapes that reaction into a post that carries their intonation into English. The author edits and publishes.

So the core loop is reading prompts and passing on most of them. Skipping is not a failure state. It is the product working: the author is looking for the one take they actually have an opinion about.

What we found

The list of prompts on screen and the store it was drawn from were the same thing. The feed was the queue.

Skip a card and the feed went 7 → 6 → 5. Once it crossed the refill floor, the product bought new material from a paid search API. Nothing on screen said so. From the author's side, swiping through a batch was simply how you got a fresh one.

The live rows told the rest:

prompts skipped         67
prompts expired         59
prompts still pending   11

Eleven prompts pending against 126 skipped or expired. The refill floor counted every item in the queue, not the fresh ones, so by its count the queue was stocked whether or not anything in it was still worth showing. A queue can look full and be stale, and the only way to see anything new was to skip through it — the exact gesture that cost money.

That is the discovery: the cheapest-feeling action in the interface was the most expensive call in the system. We doubt a feature-level cost estimate would have shown it. Tracing what the most repeated gesture triggers is what showed it to us.

What we changed

The queue became a pool, and the feed became a window onto it. One number turned into several:

feed size       7        cards on screen
anchors         3        never rotate
pool target     24       items held behind the window
refill floor             counted in FRESH items only

A skip now rotates the pool instead of shrinking the feed. And because the refill floor counts only fresh items, a queue of stale prompts no longer passes for a full one.

Then the ceiling:

old hourly limit            30 searches
one day of swiping          4 hours × 30 = up to 120 searches
new daily cap               3 paid refills

An hourly limit of 30 sounds careful until you multiply it by the hours one author can spend swiping in a day. Three a day is the bound we chose. When it is spent, the feed rotates the pool it already has and tells the author so. It does not become quietly shorter than it was an hour ago.

The change shipped with 38 new tests; the suite stood at 1,656 green.

The same question, asked of the background jobs

Once you ask what the most repeated action costs, you ask the same of the jobs nobody clicks. Kindling's paid sources were polled on a schedule set by the data, not by the person. Real usage is one to two posts a week.

So in a companion change, polling moved to the author's rhythm:

metered runs      ~9 a day     →  5 a week
credits           ~270 a day   →  ~21 a day
credit ceiling    600          →  60

What we did not cut matters as much. Kindling measures how fast a conversation is accelerating, and velocity returns null with fewer than two snapshots. One poll a day would not halve the signal; it would remove it while still spending the credits. So we kept the pair of polls inside a day and cut days instead.

To be precise about attribution: the drop from ~270 to ~21 credits a day comes from this polling change. The window-and-pool change is what makes a skip free. The daily cap is what bounds the worst day of swiping.

What a founder can take from this

This part is our view, not a law. If your product sits on metered APIs, list the three gestures your users repeat most and write next to each what it triggers on the backend. We think feature-level cost estimates average the heavy user away; the gesture list does not.

One check you can run tonight: is the list a user sees the same object as the store it is drawn from? If it is, every dismissal walks toward a refill threshold, and your most engaged users are learning to spend your money.

We also think the honest version of a limit is a visible one. A feed that silently shrinks reads as a broken product. A feed that says the day's budget is spent and rotates what it has reads as a product with a rule.

FAQ

Why not just make the feed smaller? A smaller feed still shrinks on every skip; it only reaches the floor sooner. The problem was that the visible list and the store were one number. Splitting them is what made skipping free.

Why three paid refills a day? It is the bound we chose, not a universal number. The old hourly limit of 30 allowed up to 120 searches from one day of swiping — four hours at 30 an hour. With a pool of 24 behind a window of 7, three refills keep fresh material arriving without letting one session set the bill. If authors regularly hit the cap and found nothing worth answering in the rotated pool, we would revisit it.

Does the author see any of this? In one place, on purpose. When the daily refill budget is spent, Kindling says so instead of showing a shorter list. It sits in the same family as the product's other stated rules: no autopublishing, no numeric score, one feedback button — worked or didn't.

Did polling less often hurt the signal? Not the way we cut it. Velocity needs two snapshots, so we kept two polls on each polling day and removed days instead. A single daily poll would have kept spending credits on a metric with nothing to compare.

Try it

Kindling is live at kindling.iloblique.com. The full case — including the first post built this way, which reached 1,708 impressions, 4.5× the author's usual reach (the author's result, not a promise) — is at iloblique.com/kindling.

If you have something worth building, we'd like to hear about it.

Sources

  • Kindling case page — iloblique.com/kindling
  • Kindling, the product — kindling.iloblique.com
  • Kindling changes of 22 September 2026: feed window and pool, fresh-item refill floor, daily refill cap, polling cadence (our repository; the numbers above are taken from those changes and the live rows behind them)