• Smogon Premier League is here and the team collection is now available. Support your team!
  • The moderator of this forum is jetou.
  • Welcome to Smogon! Take a moment to read the Introduction to Smogon for a run-down on everything Smogon, and make sure you take some time to read the global rules.

Smogon's Unofficial Archives Website

Sakharu

I COULD BE BANNED!
Hi everyone,

I wanted to share a project I’ve been working on for quite some time and that is now largely complete: an unofficial Smogon Archives website. A few years ago, I wanted to make YouTube videos about Smogon players and their competitive history, so I started building a database containing (almost) every match from every official tournament, in order to document their history as precisely as possible. Unfortunately, I didn’t have time to make more of one of it and kind of dropped everything

So, after a few years I finally took some time and a lot of energy to update the data and build a website that showcases everything. The goal now is to preserve and explore Smogon’s competitive history in depth and much more easily than through forum browsing, with a lot of features, while remaining as neutral as possible.

Main features:
  • Full player history for anyone who played in official Smogon tournaments: achievements, titles, detailed stats, team tournament performances, and their most important matches with associated replays directly embedded in the website
  • A global Hall of Fame, as well as solo and team-specific Hall of Fames
  • Advanced interactive rankings: global, by tier, by year, by tournament type, by solo/team, by era, and special tiebreak rankings (best team tour performances, best streaks), sortable by score, winrate, wins, majors won, etc
  • Complete tournament pages with recaps, brackets, player records (for team tours), and embedded replays
  • Yearly recaps with solo & team champions, yearly rankings, and the most viewed or longest embedded replays
  • A really powerful replay crawler/search engine allowing filtering by tier, time period, players, Pokémon, moves, statuses, and weather, with sorting by importance, newest, oldest, most popular, or longest.

The link is here: https://smogon-unofficial-archives.com


ezgif-2faa153b58619437.gif
Unfortunately, I don’t have the time to make it mobile friendly so I strongly recommend a desktop PC for the best experience. I’ll most likely not have the time to maintain it and update it with new tournaments and data, but I would be completely open to handing over the project to a trusted member of the community as long as it keeps the same philosophy. (If you’re interested shoot me a DM)


Disclaimers / Notes

Some data may be inaccurate, there are some errors in there for sure. All information is extracted from forum threads and spreadsheets, and occasional inconsistencies, posting errors or my own mistakes can propagate into the database
A small amount of historical data is still missing, including: Round 1 of WCOP 2013, matches from the first OST (except the final), matches from the very first WCOP, matches from the Smogon Frontier, the Doubles Open and the Official Doubles Smogon Tournament. In some uncommon cases, replays may be assigned to the wrong matches
If you notice errors, missing data, or inconsistencies, feel free to report them in DMs.

(PS: I robbed the background from aim's randomizer page and forgot to change it since I started the website years ago, I'm sorry :zonger:)
Technical stack:
  • Backend: Python 3 with FastAPI (API + server-side rendered pages)
  • Database: SQLite (unfortunately)
  • Frontend: Jinja2 templates, custom CSS, and vanilla JavaScript
  • Data processing: Custom Python scripts for scraping, parsing, normalization, and advanced statistics
  • Server & deployment: Nginx (reverse proxy) + Uvicorn (ASGI), self-hosted on a Linux VPS
So basically Python, SQL and HTML/JS/CSS, nothing too fancy
 
Last edited:
Hey congrats on this the website its really impressive.

Ive just a question about the replay crawler, how does it fetch matchups based on smogon usernames ? is it fully automated or semi manual ?

edit: I faced a similar issue and did the thing based on winpost only so i cant link a PS! alt and a smogon user if they only lose games on that alt so i miss some losses for some users unfortunatly >_<

edit2: some replays are not in the right order you can get upload time in epoch in the replay json to sort them out
1769901784796.png
 
Last edited:
Hey congrats on this the website its really impressive.

Ive just a question about the replay crawler, how does it fetch matchups based on smogon usernames ? is it fully automated or semi manual ?

edit: I faced a similar issue and did the thing based on winpost only so i cant link a PS! alt and a smogon user if they only lose games on that alt so i miss some loses for some users unfortunatly >_<

edit2: some replays are not in the right order you can get upload time in epoch in the replay json to sort them outView attachment 804934
Hop in DMs we'll talk about it if you want to
 
Last edited:
Back
Top