Track who's adopting your AI product, motivate your team, and share progress โ powered by Orb's usage billing infrastructure.
Before you build, decide which signal matters most to your team. This becomes your leaderboard metric โ the single number that captures who's getting the most value from your AI product.
Like billable metrics, you should match this to how your customers understand value. Keeping your leaderboard metric close to how you bill makes calculations easy โ but less technical users may not grasp how it translates to real outcomes. There's a spectrum.
For this dashboard, we'll keep it simple and go with Credits โ the most common starting point for AI products.
Licenses are how top AI companies model per-user usage on team plans. Instead of pooling all consumption together, each user gets their own allotted credit budget to draw down. This means one power user can't deplete a whole team's usage โ and reporting on individual-level usage becomes a first-class capability, not an afterthought.
Orb supports this natively with the Licenses API.
To call it, you'll need your ORB_SUBSCRIPTION_ID and an
ORB_API_KEY from your Orb dashboard.
Call this first to discover your license type IDs. The usage
endpoint requires a license_type_id, so this is a
required prerequisite. Most accounts have one type (e.g. "AI
Seat").
What you need from this response
Save the id field from each license type. You'll
pass it as license_type_id in Call 2. If you have
multiple types, the leaderboard pipeline fetches usage for each
and sums credits per user automatically.
Key architecture decisions that shape the app.
searchParams must be awaited โ it's a Promise in
Next 15.
Promise.all: current
week, previous week, Q1 to date. No cron, no database.
"use client"; everything else
server-rendered. Week stored in URL as
?start=&end=.
ORB_API_KEY and ORB_SUBSCRIPTION_ID in
Vercel dashboard. Never browser-exposed.
The data is all there, but to really motivate people, we want to take this further.
Gamifying the leaderboard gives us more levers to drive adoption than simple visibility. Here's a few examples of how AI-forward companies are motivating transformation.
Awards, progress, and friendly rivalry โ the same data, now with real motivating power.
historicalSnapshots[].
prevRank โ currentRank. The user with
the highest positive value wins.
๐ Winners receive a trophy and a $200 gift card to a merchant of their choosing!
You need three things before you start. Once you have them, download the Claude Code prompt below โ it contains everything needed to scaffold the full Next.js app.
ORB_API_KEY in Vercel.
sub_ ID is at the top. This becomes
ORB_SUBSCRIPTION_ID.
Setting environment variables in Vercel
After importing your repo, go to
Project Settings โ Environment Variables. Add
ORB_API_KEY and ORB_SUBSCRIPTION_ID as
separate variables. They'll be available server-side only โ never
exposed to the browser.
The finished app is on GitHub. Fork it, add your env vars, and deploy to Vercel in minutes.
โ View on GitHubDownload the Claude Code prompt โ it has the full spec, API calls, awards logic, and design tokens to scaffold from scratch.