One evening I noticed sites charging $10k+ for the top spot on a simple "pay to rank" wall. I thought: the idea is fun, but the pricing locks out every indie maker who would actually enjoy it.
So I built Outclimbed - a public leaderboard where you list your website or X profile and climb by earning points. It took about 4 days to build and roughly a week to get fully production-ready.
Here's how it works under the hood and the design decisions behind it.
The stack
- Supabase - database and auth
- Vercel - hosting
- Resend - transactional email
- Umami (self-hosted) - privacy-friendly analytics
- Dodo Payments - payments (more on why below)
Nothing exotic. The interesting part was never the stack, it was the ranking logic.
Designing the points system
The hard problem with any leaderboard: if only money counts, it's boring. If only activity counts, it's easy to game and the top gets stale. I ended up mixing permanent and decaying points.
Permanent points (paid)
- Listing costs $10 and gives 10 points
- Extra points are $1 each
- They never decay, and the listing stays forever
Earned points (decaying)
- Every listing gets a personal share link
- 1 point per visitor through that link - fades gradually over 30 days
- 5 points for every person you refer who lists - fades over 6 months
Decay was the key decision. Without it, whoever had one viral day would sit on top forever. With it, the board stays alive: you have to keep showing up to keep your spot, while paid points act as a stable floor.
Daily boards
The all-time board favours early and big players. So I added daily boards: each UTC day has its own ranking based only on that day's activity, and it closes at midnight UTC.
Past days stay browsable, so even a small project can "win a day" and point to it. That turned out to be a much better hook than the all-time ranking.
Adding a free tier
Paid-only entry was a real barrier, so I shipped a free option:
- Join at 0 points and climb with your share link
- Free listings are removed after 3 months, unless they buy points or get verified
- Verification = placing the Outclimbed badge on your site, which also gives +30 points
The badge does double duty: it rewards the maker and gives the board backlinks and visibility. Win-win instead of a pure paywall.
The payments plot twist
My first payment provider turned me down after reviewing the product, classing it as paid advertising / directory placement under their acceptable use policy.
Lesson for anyone building something similar: check your payment provider's acceptable use policy before you build, especially if you sell placement, ranking or visibility. I migrated to Dodo Payments as merchant of record and everything has worked since.
What I'd do differently
- Think about payment compliance on day 1, not day 5
- Launch the free tier from the start - it's the easiest way to fill an empty board
- Build daily boards early - they give new users a realistic way to win
Try it
If you have a side project or an X profile, you can join for free and see how far your share link takes you.
I'd love feedback on the decay model - would you weight visits and referrals differently? Let me know in the comments.
Top comments (0)