The whole case, in under a minute. Turn the sound on for the score.

60-second brief · One-day design challenge

A ceiling you approve, instead of an estimate you hope for

People were not missing a number. They were missing a promise. Agents retry, detour, and loop, so any estimate will sometimes be wrong. When it is, the estimate is the surprise.

The brief asked for a better prediction. I gave it a limit Runable enforces, so going past it is a question, not a bill.

Outcome

A clickable prototype built on Runable’s own plan card, Usage panel, and model menu.

Problem

Cost only shows up once the meter runs. Some people get surprised by the bill. Others stop starting big tasks.

Move

Show the most a big task can use before it starts, then stop and ask before crossing it.

Proof

A working prototype, stress-tested with simulated users. No real users yet.

Scope

I owned the framing, the design calls, and the prototype. AI helped me explore, critique, and build.

What I can and can’t claim
Concept work for a take-home design challenge, not affiliated with Runable. Credit numbers are illustrative, scaled from public user reviews.

The meter only runs after you agree

On Runable, a quick question costs a few credits and a website can cost thousands. Today you only see that cost in a Usage panel after the work has started. It is a meter with no ceiling.

Public reviews filled in the rest. Two thousand free credits gone in four website prompts. The last 30% of a project quietly eating the budget. Two kinds of people get hurt at the same moment, when they press Send: the ones who get surprised, and the ones who stop trying big tasks.

The brief asked for a prediction

The obvious answer is a price tag: estimate the cost while you type. With AI, I mapped 38 directions and scored them. Everything that only predicted failed the same way. An agent hits a broken payment step, retries twice, and the estimate is wrong the moment it does.

The reframe came out of a lot of back-and-forth: stop predicting, start promising. In my scoring, adding a ceiling helped every direction about three times more than a sharper estimate did.

What the promise replacedThe same uncertainty, owned differently.

Predict the cost

Dropped. Each one breaks the moment the agent takes a turn.

  1. A live price while typing, least accurate exactly when most visible
  2. A ticking meter that makes every second feel like money
  3. A wide range that scares people or gets ignored
  4. A hard stop that throws away half-built work

Promise a ceiling

Kept. A limit that is enforced can’t be wrong.

  1. One number up front: the most this task can use
  2. A quiet “usually” beside it, so receipts land under
  3. A pause before crossing the line, never after
  4. A receipt that says plainly if the deal changed

Chapter 03The quote

One number, and it’s the ceiling

After Send, Runable asks only the questions that change the cost. Then Plan mode’s card gets one number: up to 6,250 credits. The maximum is the only number Runable can guarantee, so it leads. The honest middle sits beside it as a quiet usually about 5,500.

  • No number while typing: an estimate is least accurate there.
  • Measured against what is left this month, not the plan size.
  • Every line adds up to the headline, with one reserve for retries.
  • Cheaper options are single changes that say what they cut.
The quote, in motion Silent capture of the actual prototype: type, two questions, one ceiling, approve.

What it cost

A maximum can look scarier than an average. Leading with usually would feel friendlier, but usually is the number that breaks. Real people reading this card is the first test I’d run.

Proof

The first version’s lines added up to 6,400 under a 6,250 headline. A review caught it; every sum now matches its headline.

Chapter 04The pause

Stop before the line, and ask only for the difference

Payments fail twice, so finishing would cross the limit. The agent waits for in-flight work to settle, says what works and what does not, and shows the arithmetic: 3,400 used, 2,850 left, finishing needs up to 3,250. So it asks for exactly 400 more.

  • Permission, not spending: allow 400 more raises the limit to 6,650.
  • Nothing is spent while it waits.
  • Every option keeps what is built, including stopping.
  • The receipt says plainly that the limit changed.
The pause, in motion Silent capture: the stop, the arithmetic, allow 400 more, and the receipt that admits the limit moved.

What it cost

A pause interrupts. In my simulation, about one run in nine hit one. Any more often than that, and people learn to click Allow without reading.

Proof

A simulated five-second test read up to 2,050 as the size of the increase. Naming the difference, allow 400 more, fixed the misread.

Chapter 05Rebuild

My first version was built on guesses

I built the first prototype from old blog screenshots: a light interface, a header balance, invented model names. Then I took my own screenshots of the live app. Three pieces were already there: Plan mode asks before building, a Usage panel counts credits with no ceiling, and a model menu swings cost from 1× to 90.8× without saying what Auto picked.

  • Plan’s card gets the number.
  • The Usage panel gets a ceiling.
  • The model menu gets translated into credits.
  • The only new behavior is the pause.
The first prototype’s plan card in a light theme, guessed from old screenshots, quoting up to 1,650 credits
First build, on guesses Light theme, invented numbers, a balance chip Runable does not have.
The rebuilt receipt in Runable’s dark theme: done, used 6,400 of your 6,650, 250 under, noting the limit was 6,250 plus the 400 allowed for payments
Rebuilt on the real app Dark theme, real model multipliers, and a receipt that says if the limit changed.

What it cost

Matching the live app meant throwing away a finished first build, late in the process.

Proof

The design became three changes to things Runable already ships, instead of a new feature people would have to learn.

Same ceiling, six more situations

One flow carries the idea. These six show the same ceiling and the same pause in a running site total, a free plan, a task nobody can estimate, a quick question, a repeated task, and outside the app entirely.

A running total for the whole site, not just one task

A small edit costs about 40 credits in Canvas, against 400 through the agent. Once small changes add up, it offers a limit for the whole site.

On the free plan, it finishes today and defers the rest, in full

600 credits left today. The plan leads with what finishes today, and puts the rest on tomorrow in full, not a guess.

When it cannot estimate honestly, it asks for a limit instead

New territory, so instead of inventing a range, it asks what the work should buy. When a draft won’t fit, it stops first and asks for only 900 more.

Quick tasks just start. Nothing new shows up until the credits do

30 credits, shown once, with the threshold left in the user’s hands, all the way to always ask.

A repeated task earns its own number before you send it again

After three runs of the same setup, Runable has earned a number before Send: up to 4,300 against 9,000 left this month.

Slack, iMessage, always-on agents: the same ask, wherever it runs

In Slack the channel sees who approved, not how much. iMessage has no buttons, so an exact reply approves spending.

What AI did. What I did.

AI was my thinking partner and my builder the whole way. It is really good at breadth and speed. The breadth is also where I lost the plot.

  1. Divergence

    What AI did
    Mapped 38 directions, from taxi meters to fixed prices, and scored them.
    What I did
    Set the criteria. A ceiling mattered more than a sharper estimate.
  2. The reframe

    What AI did
    Argued each direction back at me until the prediction framing broke.
    What I did
    Promise, not prediction. We got there together, in the back-and-forth.
  3. Build

    What AI did
    Wrote the prototype, the deck, and a narrated demo from my direction.
    What I did
    What the real app looked like, from my own screenshots, and what to cut.
  4. Critique

    What AI did
    A reviewer on a different model caught a quote that did not add up.
    What I did
    Which critiques to take. And that every simulated test gets labeled synthetic.

Why it still took me

AI mapped 38 directions fast. Deciding that a ceiling mattered more than a sharper estimate is the call this whole case stands on, and it was mine.

What I’d do next time

Runable passed on it. They said the work was good, but they were looking for a different kind of designer: they felt I leaned on AI too much. On this brief, they had a point. The reframe, the cuts, and the rebuild on the real app were real decisions, and the idea holds up. But the volume hid the thinking: 38 directions, seven scenarios, a 36-slide deck, and a narrated video, for a one-day brief.

AI made it easy to add. The job was to subtract.

  1. Show one flow, not seven

    The pause is the idea. The free plan, the weekly promo, and Slack were footnotes I let turn into chapters.

  2. Write the reasoning first

    My own words before any AI draft. The reasoning leads, and the build follows it.

  3. Put three people in front of the quote

    Every test here was simulated. One real person misreading “up to 6,250” as a price would have taught me more.

  4. Treat one day as the design constraint

    A 36-slide deck and a four-minute video answered a question nobody asked. The brief asked for judgment, not coverage.

3

changes to what ships

Plan’s card, the Usage panel, and the model menu. Nothing new to learn.

1

new behavior

The pause before crossing the limit, asking only for the difference.

0

real users

Stress-tested with simulated users and 60,000 simulated runs. Not with people, yet.

What I can and can’t claim Concept work for a take-home. Nothing here shipped, and no real user has tested it yet. See the decision behind it

Not a better guess. A limit that holds.