pixelpick got its first proper backend this session — a daily leaderboard running on Cloudflare Workers and KV. First time any of the Silly Games Lab games has had a live server component.
- The leaderboard is a Cloudflare Worker handling GET and POST to /api/scores. Scores are stored in KV with an 8-day TTL so old data expires automatically without any maintenance. The Worker validates scores and sanitises names before storing, and keeps a rolling top-20 per day.
- After finishing a game, players get an initials prompt and a Submit or Skip option. The leaderboard data is fetched in the background while the prompt is showing, so by the time someone submits there's no wait. Network calls are fire-and-forget wrapped in try/catch — if the Worker is down, the result screen still works fine.
- The top 5 also shows on the start screen, fetched on load and refreshed whenever you return from a game. If you're outside the top 5, a 6th slot appears with a separator and your own row highlighted. A "you" badge marks your entry in both places.
- A scoring bug got fixed in the same session — the original formula was using a delta multiplier that made harder later rounds score fewer points than easier early ones. Changed to flat 100 points per correct click (scaled by time remaining), so your score actually reflects how many rounds you cleared.
- Mobile had a 1000ms tap lockout at the start of each round that was making the game feel sluggish on touch — dropped to 300ms. Also fixed a layout issue where the leaderboard was pushing the logo off screen on small viewports.