Sunflower's 151 — Bay Area's Largest Pokémon Cosplay Meetup
- Tech Stack: React, TypeScript, Vite, Tailwind CSS, Google Sheets, Netlify
- Live site: sunflower-151.netlify.app
I built this site for Sunflower's 151, the largest cosplay photoshoot event of the year in the Bay Area — a fan-made Pokémon meetup where hundreds of people dress up as Pokémon.
The site lets everyone see which Pokémon are still available to cosplay. Data comes from Google Sheets, so organizers can update availability without touching code.
Unofficial fan project. Not affiliated with Nintendo or The Pokémon Company.
What I built
Landing page
Event info up front, with a clear call to join and links into the Pokémon lineup.
Pokémon still available
Lists every Pokémon still open to cosplay. Organizers flip the
available value in the Google Sheet and the site
updates automatically.
Who's That Pokémon?
Claimed Pokémon move here. The site matches each one to the cosplayer's Instagram handle so attendees can see who's taking on each character.
Powered by Google Sheets
Two sheets drive the app so organizers stay out of the codebase:
Sheet 1 — Pokémon availability
- National Dex #
- Pokémon name
-
available(TRUE/FALSE) - Image URL
Sheet 2 — Cosplayers
- Pokémon name
- Instagram handle
- Signup information
The React app combines both sheets:
- Fetch the Pokémon availability sheet.
- Fetch the cosplayer sheet.
-
TRUEPokémon → show as available. -
FALSEPokémon → move to Who's That Pokémon? - Match claimed Pokémon with the cosplayer's Instagram handle.
- Ignore non-Pokémon signups (e.g. Nurse Joy or Team Rocket Grunts).
If someone claims Pikachu, the organizer only changes Pikachu
from TRUE to FALSE in the spreadsheet.
No code changes required.
Event
- When: September 13, 2026, 12pm–7pm
- Doors: 11:30am
- Where: South San Francisco
- Who: 18+
- Ticket: Required
- Host: Sunflowercos + Mimi, Sonic, Dame & Poppy
Run it locally
npm install
npm run dev