OWStats
Before the release of Overwatch 2, there was a user page on the official Overwatch website that showed some of the current player statistics. Unfortunately, it didn’t keep track of the rank long-term. Other websites did this to various degrees, but none updated their data at regular intervals.
OWStats started as a simple script connecting to an API used to scrape the user page on the official Overwatch site and gather the statistics. The first version collected a lot of data, including the number of games played, damage dealt, damage blocked, healing, deaths, etc. Anything available through the API was logged and saved. Since I made the script for myself, it was only tracking my data and saving it into a CSV file. I’ve set it up to run every 2 hours since the official page only updated once the player finished their play session.
Over time, I started tracking stats for my friends, changed the storage from CSV to SQLite and later to PostgreSQL, and built a simple web interface to view the gathered data and to add new players to track. The amount of data to track has been reduced to SR per role only because that was the only thing that turned out to be relevant.
After the launch of Overwatch 2, Blizzard removed the official user page from the Overwatch website, and the SR system, as it existed in the original Overwatch, was replaced with a different medal system.
Links
Gallery
Features:
- User management
- Regular statistics gathering
- Visual representation of statistics
- Search
Technologies:
- Flask
- PostgreSQL
- HTMX
- Hyperscript
- Bulma