Smash Theater
A searchable archive of 46,000+ Super Smash Bros. Ultimate tournament VODs. A daily GitHub Action scrapes seven YouTube channels and parses players and characters from video titles.
ReactTypeScriptViteYouTube Data APIGitHub Actions
Step 1 of 5
YouTube channels
VGBootCamp, Beyond the Summit - Smash, 2GGaming, ClubSmashTV, CLASH, まえだくん (Maesuma) and Tamisuma.jp.
Step 2 of 5
Scraper
A command-line scraper uses the YouTube Data API. The first pass covers tens of thousands of uploads and takes hours, so it saves progress and picks up the next day when the daily API quota runs out.
Step 3 of 5
Title parser
Works out the players, characters and tournament from each video title, including common character nicknames. Anything outside the official Ultimate roster is skipped.
Step 4 of 5
archive.json
One static file with titles and YouTube links. No videos are downloaded, and visitors don't need an API key.
Step 5 of 5
Website
Filter by player, character, stage or tournament, and expand a set for the game-by-game breakdown. Hash-based routes mean it works on any static host.
What it is
A searchable archive of Super Smash Bros. Ultimate tournament VODs, modelled on Replay Theater. Filter by player, character, stage or tournament, and open a set to see each game's characters and stages.
Keeping it up to date
A GitHub Action runs every day at 06:00 UTC. It only looks at the last three days of uploads, stops as soon as it reaches a video that's already archived, and commits anything new.
Keeping it clean
Only the official Ultimate roster is stored. VODs for other games, custom workshop characters or names the parser doesn't recognise are skipped, and a scrub script removes any that slip through.
History
-
Archive passed 46,000 VODs. A GitHub Action now checks for new uploads every day at 06:00 UTC.