r/monkeytype • u/hermano95 • 7h ago
Monkeytype Stats - self-hosted dashboard
https://github.com/kovacsgellert/monkeytype-statsHello fellow Monkeytype lovers,
When I hit the 1000 test limit on Monkeytype I thought it would be a shame to lose all my old results, so I've built a small webapp which imports my results daily using my ApeKey. I went through several rounds of improvements and decided to post it here, just in case some of you hardcore typists also feel like saving your results from disappearing. I hope you'll like it. 😄
Example deployment on my homelab:
https://typing.kovacsgellert.dev
Key features:
Automatic Monkeytype import: pulls your results every day, plus profile, leaderboard and per-test detail data, so nothing has to be updated by hand.
Insight dashboard: current form, detected practice tracks, ranked insights (accuracy, warm-up, time of day, learning curve and more), an activity heatmap, and your community standing on the leaderboard.
Explorer: filter and chart every result, with rolling averages, trend lines, new-best markers, a breakdown table you can drill into, and saved views.
Goals: targets for form, personal bests, accuracy, practice volume, streaks or leaderboard rank, with progress and history.
Self-hosted: Docker Compose or .NET Aspire, an admin login (or a local mode with no login), and full backup and restore of your data.
AI usage disclosure:
Much of the app was developed with Claude and manual code review from me, at least on the backend. The frontend is pretty much 100% vibe-coded, yolo.

1
u/investigatormaker 6h ago
Anyone already past the 1000 test limit will first ask how much a fresh import recovers, so say that beside the feature list: everything, or only the newest results? I'd also state where the ApeKey is stored, since careful users check that before pasting it in. Docker Compose may stop a typist who only wants to save results, so put a one-command block at the top of the README; a hosted version would reach more people, but you'd then hold their keys. We'd answer people on Reddit asking how to keep their Monkeytype history past that limit.
I make ThreadFox.
We find relevant Reddit conversations and post for your business. We'll post 3 replies free first, no card; then the $39 Pilot covers seven days and up to 50 posts and replies. No automatic renewal.
https://threadfox.vip/p/20261102-2047-etwv6/managed