Powered by AWS DynamoDB + Vercel

Leaderboards that
scale to millions

Drop a leaderboard into any game in minutes. One API call to submit scores. All-time, daily, weekly, and monthly rankings — auto-managed, real-time, and production-ready from day one.

Space Raiders — All Time
Live
🥇xX_NovaStar_Xx
2,847,500
🥈VoidPilot
2,341,200
🥉CometChaser
1,998,750
4AstroGhost
1,754,300
5NebulaKnight
1,502,100

<5ms

Leaderboard read latency

Concurrent score writes

Time windows per game

Ship in 3 steps

No infrastructure to manage. No ops overhead.

01
🎮

Register your game

Create a game in the dashboard and get a unique API key in seconds.

02
📡

Submit scores

One POST request from your game client or backend. We handle deduplication and high-score gating.

03
📊

Display live rankings

Embed the leaderboard URL or query the API. Scores stream live via Server-Sent Events.

Real-time via SSE

Score updates pushed to every connected browser instantly — no polling, no WebSocket servers.

📅

4 time windows

All-time, daily, weekly, and monthly boards tracked automatically with TTL-based cleanup.

🔒

API key auth

Every game gets a unique key. Clients can read; only your server can write.

🏆

High-score gating

Conditional DynamoDB writes reject submissions that don't beat the player's personal best.

📐

Single-table design

One DynamoDB table, two GSIs. Score-sorted index enables O(1) rank queries without scanning.

🌍

Built for scale

DynamoDB on-demand mode. Handles massive traffic spikes with zero capacity planning.

API Reference

Base URL: https://rankforge-chi.vercel.app

POST/api/scoresBearer token required

Submit a score. Only recorded if it beats the player's personal best for each time window.

Request body

{
  "playerId": "user_abc123",
  "playerName": "AlphaWolf",
  "score": 98750
}

Response

{ "ok": true, "gameId": "1d5ab1dfabc7" }
GET/api/leaderboard/{gameId}?period=all

Get top 100 entries. period: all | daily | weekly | monthly

Response

{
  "gameId": "...",
  "period": "all",
  "entries": [
    { "rank": 1, "playerName": "AlphaWolf", "score": 98750 }
  ]
}
GET/api/leaderboard/{gameId}/rank/{playerId}

Get a specific player's rank, score, and total player count.

Response

{ "rank": 3, "score": 74100, "total": 8 }
RankForge

Ready to ship?

Create a game, get your API key, and have a live leaderboard in under 5 minutes.

Get started free →