DEV Community

Daniel Dong
Daniel Dong

Posted on

Your API dashboard should be boring when things are fine and impossible to ignore when they're not.

Here's what ours does.

The problem with most usage dashboards

Most API dashboards show you numbers. Tokens used. Requests made.
Some add a graph that goes up and to the right. If you're lucky, a
percentage.

The problem: a percentage doesn't tell you what to do about it.

"73% used" is information. "73% used — you'll run out in ~4 days at
your current rate" is actionable. Guess which one makes people upgrade.

What we built instead

Three states, escalating urgency:

0-50% used:
[████░░░░░░░░] 42%
Small blue "Upgrade to Pro" button. Background noise.
You're fine. Don't think about it.

50-80% used:
[████████░░░░] 68%
Full-width blue button "Upgrade to Pro — $9.90/mo →"
Starting to get your attention. You notice it.

80-90% used:
[██████████░░] 84%
Orange bar. "💡 84% used. Unlock 10x more."
Button gets bigger. You can't miss it now.

90-100% used:
[████████████] 97%
Red flashing bar. "🔥 Only 15K tokens left!"
Full-width red upgrade button.
If you don't act, you're about to hit the wall.
Enter fullscreen mode Exit fullscreen mode

The bar color, the button size, and the message all escalate together.
It starts as wallpaper. It ends as a fire alarm.

Why this works

People don't read dashboards. They scan them. A static number doesn't
break the scan pattern. A red flashing bar does.

The escalation is tied to actual thresholds that matter:

  • 50% is "halfway through the month." Normal.
  • 80% is "you need to think about this." Decision time.
  • 90% is "you're about to get rate-limited." Emergency.

At each tier, the UI gives you exactly one thing to do. Not a link to
docs. Not a pricing table. One button that says "Upgrade." You click it
or you don't — but you can't say you didn't see it.

The numbers

The entire dashboard is one HTML file and one JS file. The upgrade flow
hits Creem for payment. The token count comes from /admin/api/models.
Nothing exotic.

The only thing we had to get right was the timing: show the upgrade
prompt when the user actually needs it, not before and not after.

Too early → annoying. Too late → they're already rate-limited and
frustrated. The 80% sweet spot is where they feel the constraint
approaching but still have time to act.

What we learned

The best conversion feature isn't a pricing page. It's a dashboard
that notices you're running out of something and tells you, loudly,
what to do about it.

And the second-best conversion feature is letting people try the
product without signing up — which is why we also built a free
playground with no registration required. 10 requests/day, all 15
models. If you like it, the "Register" button is one click away.

We're AIBridge — 15 Chinese AI models (DeepSeek, Qwen, GLM, Kimi K3)
behind one OpenAI-compatible endpoint. Free tier: 500K tokens/month.
GitHub OAuth login. Dashboard that yells at you when it should.

aibridge-api.com
aibridge-api.com/playground.html

1

2

3

4

Top comments (0)