This is an achievement manager for Xbox and Steam users, utilizing Flask, the Steam Web API, and the OpenXBL API. It is substantially faster than the Xbox Android app.
Using Overachiever, you can easily access and share your achievement statistics across your Xbox and Steam libraries, as well as access user-contributed guides for locked achievements.
- Fast, simple UI
- Steam support
- Xbox support
- Search bar, filtering
- Comprehensive user profiles with linked accounts, etc
- Easy deployment
- User-contributed achievement guides
- User showcase
- User stats
- PlayStation support
- Achievement guide ranking
- SSO support
You need API keys for the following external APIs:
- Steam Web API
- OpenXBL
- MailTrap (if registration is enabled)
cp .env.example .env
# Configure, add API keys to .env
docker compose up --build
```
### Disabling User Registration
User registration is disabled by default to protect API rate limits.
To enable registration, change `ALLOW_REGISTRATION` to `true` in your
`.env` file.
## XBox 360 Achievement Icons
Unfortunately, I have found no easy way to grab XBox 360 achievement icons
through any third-party API. As a result, icons may need to be manually added
using the following steps:
1. Download the icon to `static/`
2. Run `./helpers/add_360_icon.py <db_path> <title_id> <achievement_id> <url>`
Title IDs and Achievement IDs can be figured out by running the following
query:
```shell
curl 'https://api.xbl.io/v2/achievements/x360/{target_user.xuid}/title/{title_id}' \
--header 'X-Authorization: YOUR_API_KEY'Overachiever will attempt to use the Steam achievement icons for Xbox 360 achievements where possible.
If you find a bug, submit an issue, PR, or email me with a description and/or patch.
Copyright (c) 2026 Ben O'Neill ben@oneill.sh. This work is released under the terms of the MIT License. See LICENSE for the license terms.