Building a team
I built PokeTeams with Next.js and PokeAPI. The current team lives in React context. The builder loads Pokémon and type data from the API, then shows the selected team’s sprites, types, abilities and stats.
Weakness analysis and export
The analysis reads damage relations from PokeAPI and multiplies weaknesses and resistances across the team. It then marks weak and very weak matchups. Levitate has a separate rule: Ground damage is zero for a Pokémon with that ability.
The app exports the assembled team in Pokémon Showdown format.
Saved teams
You can use the builder without an account. Supabase authentication is only needed to save or edit a team.