← All projects

osu!catch Completion Tracker

Live on the internet · 2025

A public web app tracking ranked-beatmap completion for osu!catch players — OAuth login, 800+ requests/minute ingestion, live WebSocket progress.

live at completion.trainjumper.comOAuth2 (osu! API)800+ req/minWebSocket progress

The one you can click right now. Completionist players in osu!catch want to know exactly which ranked beatmaps they haven't cleared — across tens of thousands of maps and years of play history. The official site won't tell them; this does.

Players log in with their osu! account (OAuth2), and a concurrent ingestion engine works through the ranked-beatmap universe at 800+ API requests per minute while a WebSocket channel streams live progress to the browser. Results persist — a beatmap checked once is never re-checked — so return visits are instant and incremental.

It's deliberately unglamorous engineering: aggressive rate-limit management against a third-party API, idempotent resumable scans, and a cache design where the expensive thing happens exactly once per (player, beatmap) pair. Deployed behind nginx with TLS on my own infrastructure, running unattended since launch.

Status & limits — live and self-serving; the UI is functional-minimalist and a visual polish pass is on the roadmap now that it's a portfolio piece.

Stack

PythonFastAPIPostgreSQLWebSocketsOAuth2nginxLet's Encrypt

← All projects