VGC Team Report↗
Live · ~80 usersA team-building site for competitive Pokémon VGC players. Paste any Showdown team, get a full report: damage maths against the meta, speed analysis, threat coverage, win conditions. Started as a spreadsheet I kept rewriting for myself, then grew into something other players started using.
- StackTypeScript, Postgres, web app
- RoleSolo, design through deploy
- Linkpokemonvgcteamreport.com ↗
Why I built it
Most VGC team-building is repetitive analysis: damage rolls, speed tiers, EV maths, checking your team against the current meta. Players were doing it in spreadsheets or in their heads. I wanted one place that did it for you. Paste a team, get the report.
What it does
- Team report. Paste a Showdown export → instant analysis: damage calcs against the top 30 of the meta, speed tiers, role coverage, and the threats this team is weak to.
- Explore. Browse curated team reports from real tournaments, filterable by regulation, archetype, and Pokémon.
- Compare. Two teams side by side: turn order, common KOs, who wins under Tailwind vs Trick Room.
- Champions. Dedicated section for Pokémon Champions Reg MA, including Mega-form coverage that other tools didn't have when I shipped it.
What's interesting under the hood
- Auto-regulation detection. The site infers which Reg (G / H / I / Champions MA) a team belongs to from the Pokémon used. No manual switching, no wrong analysis.
- Damage calcs in the browser. A port of Showdown's own damage formula runs client-side. No server round-trip per calculation, instant feedback.
- Postgres + full-text search across Pokémon, items, abilities, and tera types. Reports dedupe on a fingerprint of the set so the same team uploaded twice doesn't pollute the explore feed.
- Static where I can be, server-rendered where I have to be. The explore feed and team reports themselves are SSR; static landing pages are pre-rendered.
How it grew
Zero paid marketing. Most of the early traction came from posting my own teams on Reddit. Where most players share a Showdown paste, I'd link a full team report instead, so anyone reading could see the damage maths, speed tiers, and threat coverage I was building around. The reports did the selling; word-of-mouth did the rest. About 80 active players, growing steadily, and the kind of feedback I want: "this saved me an hour of maths before locals."
Inside a team report
The six Pokémon are the easy part. The analysis around them is what I keep coming back to. Below are the sections I lean on when I'm building or matching up.