Pokemon Legends: Z-A learnsets are now on the site
- Pokemon Legends: Z-A learnsets are now on the site. Every Z-A species has its level-up moves, TM moves, and Reminder moves available on the per-Pokemon detail page. Open any Pokemon and switch to the Z-A tab to see what it learns in the game, at what levels, and which TMs apply.
- The Reminder system is a Z-A mechanic that lets you re-teach a Pokemon moves it has previously known or moves natural to its species. Pokepedia captures these as a fifth method alongside level-up, TM, egg, and tutor so they slot into the moveset display the same way.
- This covers all 364 species in the Z-A roster, including the Mega Dimension additions like Mr. Mime and Mime Jr. Regional variants that appear in Z-A (Alolan Meowth, Galarian Slowking, Hisuian Arcanine, and the rest) are stored under their own slugs so each one's moveset can surface independently when the form-switcher view lands later.
BDSP encounter data is live across the site
- Pokemon Brilliant Diamond and Shining Pearl now have full encounter data across the site. Every wild Pokemon spawn from the 30 Sinnoh routes plus every dungeon, lake, city, and the Grand Underground hideaways shows up on the relevant Pokemon detail page with version flags, levels, methods (grass, surf, fishing tiers, swarm, Trophy Garden Backlot rotation, Poke Radar), and per-time-of-day rates.
- Fixed-encounter legendaries are also wired up. Dialga and Palkia at Spear Pillar, Heatran at Stark Mountain, Regigigas at Snowpoint Temple, Giratina at Turnback Cave, Darkrai at Newmoon Island, Arceus at Hall of Origin, plus all the Mystery Slate Pokemon at Ramanas Park (Mewtwo, the legendary birds, the legendary beasts, Lugia, Ho-Oh, Latias, Latios, Kyogre, Groudon, Rayquaza, the Regis) all show with the correct version availability and level.
- A few cleanups along the way. Nidoran female and Nidoran male were previously sharing a slug because of how the gender symbols got stripped, so neither gender's BDSP page showed locations. Both work now. Hideaway visible encounters where the rate varies by Statue effect now read 'Varies' instead of '0%'. Fixed-encounter legendaries read 'One-time' instead of '0%'.
A Pokepedia newsletter, finally
- There is now a Pokepedia newsletter at /newsletter. One email when there is something genuinely worth telling you about, like game news, new features on the site, the occasional deep dive. No daily digest, no upsell, no fluff. The kind of thing a returning fan actually wants in their inbox.
- It is double opt-in, which means after you sign up you get a confirmation email and the actual subscription only happens once you click the link inside. That protects against bots and against anyone putting your email on lists you never asked for. Easy to leave at any time, an unsubscribe link sits in every email and at /newsletter/unsubscribe.
- The signup form is also linked in the footer Resources column, so you can find it from any page on the site.
DLC Pokedexes now count, plus a tighter tracker toolbar and shareable game links
- Fixed a long-standing gap where the four post-launch DLC games (The Isle of Armor, The Crown Tundra, The Teal Mask, The Indigo Disk) showed zero Pokemon across the site. The tracker pills for those games now show real counts: 211, 210, 200, and 243 respectively. Per-Pokemon detail pages now list those DLC games in the Appearances sidebar when the species is in them. So Calyrex finally shows up as appearing in The Crown Tundra, Kubfu in The Isle of Armor, Regieleki in The Crown Tundra, and so on. The sitemap got a corresponding boost so search engines can now discover those per-Pokemon DLC pages.
- Why the gap existed: PokeAPI rolls DLC moveset data into the parent version-group instead of giving the DLC its own. So our membership lookup was returning empty for those games even though every other piece of data was correct. The fix routes every "is this Pokemon in this game" decision through one canonical helper that checks both the regional Pokedex and moveset coverage, so DLC entries surface alongside the rest.
- The Pokedex Tracker's active game now persists in the URL. /pokedex-tracker?game=pokemon-blue lands you directly on the Blue scope, refreshing keeps the same view, and you can copy or share that URL to point a friend at a specific game's tracker.
- Tracker toolbar tightened up. The Search box sits on the same row as Audio, Sync, and Clear instead of taking its own line below. Removed the redundant status text since the active-game banner already shows the game name and total at the top of the table.
Tracker level column, modal redesign, favorites page polish, and social updates
- Added a Lvl column to the Pokedex Tracker when a game is selected. Each row gets a small numeric input where you can record the level you caught a Pokemon at, clamped 1-100, saved automatically. Levels are per-game (a Pikachu caught at level 12 in Yellow is independent from one caught at level 56 in Sword) and they flow through the existing Sync menu's export and import.
- The per-Pokemon Notes cell is now clickable in per-game view too. Click it and the same edit modal opens, so you can update a Pokemon's note without leaving the per-game scope. Notes themselves are still general (one note per Pokemon, shown across all games), which is what most trainers actually want.
- Renamed "All Entries" to "All Pokemon" in the Quick Filter sidebar so it matches how players talk.
- Redesigned the per-Pokemon tracker modal. Each Pokemon's modal now has a type-colored hero with the Pokemon's artwork, a faded italic dex-number watermark behind, type pills colored to match the detail page, a prominent "View full Pokedex" link, and a cleaner per-game catch grid with hover and caught states. Same data, much better feel.
- Capture button on per-game pages now shows a grey Pokeball when the Pokemon is uncaptured and a red one when caught, so the state reads at a glance instead of using the same red icon for both.
- Favorites page (/pokedex-favorites) now uses the same browser as every sub-pokedex page. You get search, sort, type and stage filters, the pixel-mode toggle, and a clean 4-column grid. Empty state and Clear-all flow are still there.
- Updated the social links in the footer. Corrected the Facebook URL, added X (https://x.com/the_pokepedia) and Reddit (https://www.reddit.com/r/thePokepedia/). All six profiles also flow into the site's Organization schema so search engines pick them up as official Pokepedia channels.
Tracker now syncs with detail-page captures across every game
- Fixed a sync bug between the catch tracker and Pokemon detail pages. Capturing a Pokemon on a per-game detail page (the Capture button in the sidebar) now reliably reflects in the tracker, regardless of whether the species is in that game's regional Pokedex.
- The example that surfaced the bug: Victini is playable in Pokemon X, Y, Sun, Moon, Ultra Sun, Ultra Moon, Sword, and Shield, but Victini doesn't appear in any of those games' regional Pokedex lists. Capturing Victini on the per-game page used to silently store the catch, but the tracker filtered to that game would never show Victini. Now it does.
- The tracker's per-game total count is now broader (it counts every species with moveset data for that game, including transferable species, not just the native regional dex). This makes "complete the X Pokedex" milestones harder but more accurate to what is actually catchable in the game including legitimate transfers and event Pokemon.
- Sub-pokedex pages, the team builder, the random generator, and the main Pokedex grid keep their regional-dex-only behavior. Those surfaces are about the curated native roster, which is what users expect there.
Sub-pokedex dex numbers and tracker classification fixes
- Fixed a quiet bug where sub-pokedex grids (every page like /pokemon-sword-pokedex, /pokemon-sun-pokedex, /pokemon-kanto-pokedex etc.) sometimes showed the wrong regional dex number for Pokemon that appear in multiple regional dexes for the same game. For example, Pikachu in the Sword grid could show its Isle of Armor number (85) instead of its Galar number (194), depending on database row order. The grid now respects the canonical slug priority (Galar before Isle of Armor before Crown Tundra) so the displayed number matches what players see in-game.
- The catch tracker's Quick Filter for "Shiny" used to look at a list of Gen 1 game slugs that included a stale entry pointing at a slug we don't actually use. Cleaned that up. The user-facing behavior is the same; just less dead code under the hood.
- Added a developer-only data-gap warning in the per-game movesets pipeline. When a move is supposed to have a TM/HM/TR code but the underlying data is missing, the page used to show a quiet "dash" with no explanation. The dash still shows for users, but the server now logs a clear warning so we can backfill the data instead of finding out months later via user reports.
Generation tabs and fun-facts now match real game availability
- Per-generation tabs on Pokemon detail pages were missing for many species in unfair ways. Pikachu had no Gen V tab even though Pikachu is playable in Black, White, Black 2, and White 2. Victini only showed a Gen V tab even though it is playable in Gen VI, VII, and VIII games. The check was using regional Pokedex membership, which is a curated subset, not a complete roster of what is in each game.
- The fix uses moveset data as the authoritative source. If a species has any moveset entry for a generation in our data, the tab shows. Pikachu now has all nine generation tabs. Victini now correctly shows V, VI, VII, and VIII (and stays excluded from I-IV and IX).
- Same fix cascaded site-wide. The Pokemon detail page sidebar games list now correctly includes Black, White, Black 2, White 2 for Pikachu (and similar for hundreds of other species). The "first appeared in" prose, the "appeared in N games" fun fact, the Compare Pokemon page's per-Pokemon games row, and the per-Pokemon modal in the tracker all switched to moveset-data reality.
- Tab link target also got smarter. Each gen's tab now points at the latest game in that gen the species is actually in, instead of always pointing at the absolute latest. Victini's Gen VII tab now opens its Ultra Moon page, not Let's Go Eevee where Victini does not appear.
- Sitemap got the same treatment. Newly visible per-game URLs like /pokedex/pikachu/pokemon-black now get submitted to search engines. Several hundred per-game-per-Pokemon URLs that the app already renders are now actually discoverable.
- Sub-pokedex pages, the tracker bulk-mark action, the team builder, the random generator, and the main Pokedex grid keep their existing behavior intentionally. Those surfaces are about the curated regional Pokedex, which is what users expect there.
Favorites and a reverse team builder for countering opponent teams
- New favorites system across the site. Tap the heart icon next to any Pokemon's name on its detail page to save it to your favorites. A live count appears as a badge on the heart icon in the top navigation. Click that to open your full favorites gallery at /pokedex-favorites. Everything is saved in your browser, no signup, with the same bring-your-own-storage privacy model as the catch tracker.
- The Pokedex Tracker has a new "Favorites" entry in the Quick Filter sidebar. Click it to narrow the tracker table to just your favorited Pokemon, useful for cross-referencing "favorited but not yet caught" or planning a personal nuzlocke run.
- The team builder at /pokemon-team-builder now has two modes you can toggle at the top. "Build my team" works exactly as before with defensive type coverage analysis. "Counter a team" is new. Enter the team you want to beat, like a gym leader or Elite Four lineup, and Pokepedia suggests 6 Pokemon that counter it. The picks use a greedy set-cover algorithm to spread coverage across as many opponents as possible.
- The counter mode also shows a per-opponent type breakdown under the suggested team. For each opponent it lists which types are super-effective, with each type linked to its full Pokemon list, so you can browse alternatives if the suggested 6 aren't available in your game.
- Detail pages got a smaller follow-on. Each Pokemon's "is strong against" and "is weak against" sections now show a one-row sentence under the section header explaining which types beat that section, with type names linked to the per-type pages.
Mobile drawers, swipeable tabs, and matchup rosters on every Pokemon page
- Pokedex grid pages now hide the long filter sidebar behind a "Filters" button on mobile. Tap to open a drawer, pick types or stages or games, and the Pokemon grid stays visible right where you expect it. Active filters also show as removable chips above the grid so you always see what's currently filtered.
- The Pokedex Tracker on mobile keeps Quick Filter (All, Caught, Missing, Shiny, Shiny Missing) visible at the top, and tucks Milestones, Game Archives, and Region Archives behind a "Stats & Archives" button. Tap it to open a drawer with the full breakdown.
- On Pokemon detail pages, the row of generation tabs at the bottom of the hero now scrolls horizontally on mobile instead of wrapping onto a second line. Swipe left or right to flip through every game generation that Pokemon appears in.
- New section on every Pokemon page: a row of 6 Pokemon this species is strong against, and a row of 6 it is weak against. We pick a mix across all relevant types and prioritize fully-evolved species, so the row shows worthy opponents instead of random first stages. Each Pokemon links to its full Pokedex entry.
Header search modal, default OG card, gradient persists across generation tabs
- Added a magnifying-glass search icon to the top navigation, right before the Tracker button. Click it to open a modal with the same instant-autocomplete search as the homepage. Find any of the 1,025 Pokemon, ~900 moves, or ~300 abilities, with arrow-key navigation, Enter to open, and Esc to close.
- Every page that doesn't have its own designed share card now picks up a Pokepedia-branded default card when you paste the link on Facebook, Twitter, LinkedIn, WhatsApp, Discord, iMessage, or any other platform that scrapes Open Graph tags.
- Per-game Pokemon pages now reuse the species' designed share card. Pasting /pokedex/pikachu/pokemon-yellow on Facebook now shows the yellow Pikachu card instead of a blank preview.
- The type-colored gradient on Pokemon detail pages (yellow for Electric, orange for Fire, blue for Water, etc.) now stays consistent when you click between the General tab and any generation tab. The whole top of the screen, header, breadcrumbs, hero, keeps the Pokemon's color identity uninterrupted.
Pokedex entries redesigned with type-colored heroes + shareable cards
- Every Pokemon detail page (/pokedex/[slug]) now opens with a type-keyed hero background: yellow for Electric, orange for Fire, blue for Water, purple for Ghost, and so on for all 18 types. The gradient flows uninterrupted from the top of the page through the header and breadcrumbs area so the whole top of the screen reads as "this Pokemon's type" at a glance.
- Nav arrows between Pokemon swapped from red circles to clean chevron icons in dark slate, with a gentle zoom on hover.
- Dex-number watermark behind the hero lightened so the foreground content reads crisper.
- New social-share cards: every detail page now serves a 1200x630 designed image at /pokedex/[slug]/pokedex-entry.png with the Pokemon's artwork, name, dex number, type pills, stats, and the URL baked in. Scraped automatically by Facebook, Twitter, LinkedIn, WhatsApp, Discord, iMessage, and Google Images whenever someone pastes or shares a Pokemon URL.
Fixed: TM and HM numbers were missing from per-game pages
- Per-game Pokemon detail pages (like Staryu in Pokemon Yellow) now show the TM and HM number next to every machine move. Before this fix, the TM/HM column was always a dash, even though the data was sitting in the database. TMs now sort before HMs before TRs, each in numeric order, so Staryu in Yellow reads TM06 Toxic, TM09 Take Down, TM10 Double-Edge, all the way through HM03 Surf and HM05 Flash.
- Also removed the three Japan-only launch variants (red-japan, green-japan, blue-japan) from Pokemon detail pages. PokeAPI tracks them as separate version-groups, but we don't have Japanese flavor text or sprites for them and they duplicate the English Red/Blue entries. They're now filtered out everywhere by default.
Stat radar on compare pages, tighter nav and footer, better titles
- Every Pokemon comparison page now opens with a hexagonal stat radar. Two profiles overlaid, one per Pokemon, with each axis auto-scaled to the taller stat line. Reading which Pokemon wins which category is now a glance instead of scanning a table row.
- Homepage hero tagline reworked around the angle that matters: the Pokemon trainer's swiss army knife, including the most beautiful Pokedex. No account required. The Pokemon count and game count are still on the same line.
- Footer picked up the same tagline plus a quiet built-by-a-returning-fan attribution. Footer link spacing tightened so each column reads as one block instead of a loose list.
- Pokedex card watermark number shrunk so the full three-digit dex number fits inside the 4-column layout on smaller screens.
- Top-nav Pokedex submenu trimmed back to the reference pages (Types, Moves, Abilities, Natures). Starters, Legendary, and Mega Evolution moved out of the submenu because they already have their own home in the footer Pokemon column.
- Per-generation Pokedex page titles now cover both search phrasings: Generation I Pokedex and Every Generation 1 Pokemon. That captures roughly 6x the addressable search volume per generation page.
Regional Pokemon pages and a nicer interlink deck
- Four new keyword-pure landing pages for regional variants: /alolan-pokemon, /galarian-pokemon, /hisuian-pokemon, and /paldean-pokemon. Each shows only that region's variants with a nav bar to the other three plus the hub.
- The interlink cards at the bottom of every collection page were redesigned to match the homepage Tools for Trainers rail. Slate background, red kicker, italic H2, clean white tiles.
- Footer text size reduced so the link columns read tighter on desktop.
- Footer column titles are no longer H4 tags, which keeps the heading hierarchy clean across every page.
New collections: Regional Forms, Shiny, Gigantamax
- Three new reference pages built on the same interactive pattern as Pokemon Mega Evolution.
- Regional Forms covers every Alolan, Galarian, Hisuian, and Paldean variant with filter pills per region.
- Gigantamax lists all 30 G-Max forms with hover-to-transform reveals.
- Shiny Pokemon covers all 1,025 species using the 3D HOME sprites and their shiny counterparts, filterable by type and generation.
- Every collection page has interlink cards at the bottom linking to the other collections so it is easier to jump between them.
- The Eevee Evolutions page was redesigned with a fading-sprite hero strip and a 3x3 tree grid with the base Eevee in the middle.
New pages: Mega Evolution, Natures, Starters, Legendary
- New /mega-evolution page showing every Mega Pokemon form in a grid. Hover (desktop) or scroll a card into view (mobile) triggers a Mega Evolution flash animation that reveals the Mega sprite in place of the base. 3-column layout.
- New /pokemon-natures hub with all 25 natures in a sortable table, separate neutral-natures block, plus 25 per-nature detail pages showing stat modifiers and Poke Puff flavor preferences.
- New /pokemon-starters page listing all 27 starter Pokemon across every main-series generation. Each region section links to the full generation Pokedex.
- New /legendary-pokemon page with filterable grid covering Legendary, Sub-Legendary, Mythical, Ultra Beast, and Paradox categories.
- All four pages added to the Pokedex dropdown in the top navigation and to the site footer.
DLC pages: cleaner encounter lists and labels
- Teal Mask, Indigo Disk, Isle of Armor, and Crown Tundra pages now collapse identical spawns from their paired versions into a single entry, cutting duplicate rows roughly in half.
- True version-exclusive spawns still stay split because their spawn data actually differs.
- DLC callout badges on the Games page show which main game each DLC belongs to (Sword/Shield or Scarlet/Violet).
- Spawn rate chips now clearly label weight-based rates as wt and percent rates as percent so numbers read consistently across generations.
3D-era game pages now show proper artwork
- Pokemon X/Y, Omega Ruby/Alpha Sapphire, Sun/Moon, and Ultra Sun/Ultra Moon never had traditional pixel sprites because those games are fully 3D.
- Instead of broken image icons, those game pages now show the official HOME render for each Pokemon.
- Back-view sprites and other variants that never existed are hidden cleanly instead of 404-ing.
- Also filtered Emerald back sprites and FireRed/LeafGreen Gen 2+ sprites that PokeAPI never hosted.
Pokemon Colosseum and XD rosters added
- Pokemon Colosseum and Pokemon XD: Gale of Darkness now have full Pokedex coverage on Pokepedia.
- 48 Shadow Pokemon for Colosseum and 83 for XD, pulled from Serebii's canonical lists.
- The tracker's game filter, the Pokemon detail "Games" sidebar, and the /pokemon-colosseum-pokedex and /pokemon-xd-pokedex grids all light up automatically.
- Per-game detail pages render with moveset data intact. Location sections show a short note (Caught as a Shadow Pokemon from trainers throughout Orre) since these games use the P*DA Strategy Memo rather than a traditional Pokedex.
Legends: Arceus and Legends: Z-A locations live
- Hisui: 83 area pages, 1,729 encounters. Every zone in the five Hisui regions now shows where each Pokemon spawns with base + scaled level ranges.
- Kalos (Legends: Z-A): 22 area pages, 269 encounters. Wild Zones 1-20, Hotel Z, and the Kalos Research Lab.
- Time-of-day and weather conditions display as colored pill badges so you can tell at a glance when a Pokemon is actually available.
Trainer Card Maker rebuilt end to end
- Moved to /pokemon-trainer-card-maker. Old /trainer-card URL redirects.
- Removed money, playtime, and Trainer ID rows. Removed the "Pokepedia" label next to the header.
- Card title is now editable (defaults to "TRAINER CARD").
- Pick Pokemon directly on the card: click any slot and a modal opens with search, shiny toggle, level, and nickname.
- Party size is adjustable from 1 to 24 slots via plus/minus controls.
- Two custom-named sections on the card. Rename them anything ("Pokemon", "Team", "Badges", "Medals", "Ribbons") or leave empty to hide the label.
- Layout selector: badges floating top-right, both sections stacked at the bottom, or side by side.
- Aspect ratio selector: Wide 8:5, Square 1:1, Portrait 4:5, Story 9:16.
- Four font choices: Modern, Classic, Retro, Mono.
- Backgrounds: 12 gradient presets, a custom gradient editor with two colors plus angle, a solid color mode, or upload your own image.
- Paste image URLs for the background, trainer portrait, or badges. Badge URLs accept a whole batch at once, one per line.
- Show-frames toggle strips both the tinted backgrounds and borders around the trainer and party images.
- Export to PNG or copy the image straight to the clipboard.
- Auto-saves every tweak to localStorage so nothing gets lost on refresh.
- Reset button restores everything to defaults with a confirm prompt.
- Footer links straight to Bulbapedia's trainer art and gym badge pages with a note on how to grab the files.
Pokemon Champions roster added
- New /pokemon-champions-pokedex page with the complete 187-Pokemon roster plus 63 Mega Evolutions for the current regulation (v1.0.2).
- Champions appears in the top navigation instead of the main Games grid, since it uses a curated competitive roster rather than a regional Pokedex.
- Page refreshes automatically when Game Freak rotates regulations, a single script re-syncs species, Mega forms, and the version stamp.
- Tracker, per-Pokemon sidebar, and all roster lookups light up automatically for every rostered Pokemon.
Random Pokemon Generator overhauled
- Moved to /random-pokemon-generator. Old /random URL redirects.
- Multi-select dropdowns for Legendaries (Sub-Legendary, Legendary, Mythical, Paradox, Ultra Beasts) and Forms (Alternate, Mega, Gigantamax).
- Region and Generation are now multi-select too, so you can roll across several regions at once.
- Type filter gets the full 18-type icon row straight from the homepage, with each type as a colored pill.
- Tighter layout: Generate button and live match count sit up top instead of buried at the bottom.
- Placeholder cards render in the results grid before the first roll so the page doesn't jump when you hit Generate.
- Reset button clears every filter back to the defaults in one tap.
Installable as a PWA
- Pokepedia can now be installed to your phone home screen or desktop
- Manifest with Pokepedia icons (192×192, 512×512, Apple Touch) and brand colors
- Offline-capable service worker caches recent pages, sprites, and game assets
- Home-screen shortcuts: jump straight to Pokedex, Catch Tracker, or Pokemon Quiz
- Works on Chrome, Edge, Safari iOS ("Add to Home Screen"), Firefox Android
Notes: Saved indicator, sidebar placement, Games heading
- Every note textarea now shows a small Saved indicator as you type. A red pulsing dot reads Saving… while you write, then flips to a green checkmark and Saved once it hits localStorage. Fades out on its own after a moment. Same indicator on the Pokemon detail pages, the per-game pages, and the tracker modal.
- Tracker modal notes now save on every keystroke instead of waiting for you to click out of the field. Matches the detail page behavior and removes a category of bug where fast edits followed by immediate closing lost the note.
- Custom Notes moved into the sidebar on Pokemon detail pages, right above the games list. Compact textareas that fit the 280px rail. Per-game pages still show a full-width note under Locations.
- Renamed the Appearances section to Games, with a subtitle that reads "[Pokemon] has appeared in these games" for clarity.
Pokemon detail pages: Trainer Notes, Custom Notes, and locations on Teable
- Trainer Notes section on every Pokemon detail page. Editorial prose you add per Pokemon in the POKEMON CUSTOM table (custom_lore field) renders as a red-accented block between the auto About section and Battle Statistics. Hidden when empty. Lets the site's voice come through on the Pokemon that matter most, without writing 1,025 entries.
- Custom Notes section on Pokemon detail pages. Any note you added in the Pokedex Tracker now shows up on the matching detail page and is editable in place. Two modes: on /pokedex/pikachu the section lists every game where you've written a note and hides entirely when you haven't. On /pokedex/pikachu/pokemon-yellow a single textarea is always visible for that game's note. All writes go to the same pokepedia-tracker-v1 localStorage key the tracker uses, so edits sync across the tracker page, detail page, and per-game page instantly.
- Locations now served from Teable. Per-game Pokemon pages used to fetch the PokeAPI encounters endpoint live on every render. Now they read from the ENCOUNTERS table (44,993 rows, already populated for all 1,025 Pokemon). Faster page loads, no external dependency per render, and a foundation for filling coverage gaps later.
- npm run sync always pulls encounters. The main sync pipeline now runs the encounters and abilities-junction scripts automatically at the end of every run. No more separate commands or --all flag.
Tracker sync between devices, honest offline scope
- Tracker toolbar now has a single Sync panel. Share opens your phone's share sheet for AirDrop, Messages, iCloud Drive, Google Drive, or Mail. Download saves a plain JSON file you can drop in any cloud folder. Copy to clipboard dumps the same JSON for pasting anywhere. Works the same on desktop and mobile.
- Import file still lives in the same panel, for pulling a tracker file from the other device.
- No accounts, no backend. Pokepedia never touches your tracker data after it leaves the page.
- Offline mode narrowed and made honest. Cache the tracker button downloads the tracker page plus every Pokemon sprite, about 5 MB. After that the tracker works on a plane or anywhere without internet. Catches save to your device and sync across the Sync panel when you're back online.
- Install to home screen card updated to describe what it actually does: a one-tap launcher with no browser chrome. Removed the old claim about ads and full offline, which was aspirational.
Ad-Free upgrade system
- New /ad-free page with $1/month and $10 lifetime pricing
- Stripe Checkout integration for payment
- Stripe Customer Portal for self-cancel
- Signed JWT cookie tracks ad-free status across the site
- AdSlot component hides ads for ad-free users site-wide (intro, mid-round, results, footer)
- "Go Ad-Free" link in footer Resources and bottom bar
- LICENSES table stores every purchase for audit
- Stripe webhook handles renewal, past-due, cancellation
Three quiz games
- /pokemon-quiz, 10-question trivia quiz. 8 question types: primary type, weakness, generation, region, evolution, legendary ID, stat comparison, sprite identification. Biased 60% toward sprite ID. /pokemon-quiz?gen=1 limits questions to Kanto, ?gen=2 to Johto, etc. (9 SEO variants, one URL)
- /whos-that-pokemon, classic silhouette reveal game, 5-25 rounds, selectable generation range
- /name-all-pokemon, 15-minute typing sprint. Type names, match 1,025 Pokemon before the clock runs out. Selectable duration (5/10/15/20/30 min or no timer) and generation range
- Added to homepage in a dedicated 3-card section
- Added to footer as a Quiz column
Blog launched
- New /posts index with 3-column card grid
- Article template at /posts/[slug] supporting cover image, intro, numbered listicle items, outro
- Top-N post template: add rows to POST ITEMS table with post_slug + position + name + image + blurb
- BlogPosting + ItemList JSON-LD on every article for Google rich results
Pokedex Pixel Mode
- New toggle on the main Pokedex switches every Pokemon sprite to its Gen 8 pixel-art version
- Preference persists across sessions via localStorage
- Gen 9 Pokemon without pixel art fall back to normal artwork automatically
- Search bar redesigned: centered directly under the POKEDEX title, straddling the red/gray seam
- Breadcrumb + pixel toggle moved to a single row below the search
Type pages restructured for SEO
- URLs moved from /pokemon-water-type → /water-type-pokemon (keyword-first)
- Old URLs 301-redirect to the new structure
- H1 simplified to "{Type} Pokemon", matches primary search intent
- FAQ block auto-generated per type: "What is Water Pokemon weak against?", "What resists Water Pokemon?", etc.
- FAQPage + ItemList + WebPage JSON-LD emitted for every type page
- All answer text dynamically computed from the TYPES table, never stale
Pokedex detail pages moved to /pokedex/[slug]
- All 1,025 Pokemon detail pages now live at /pokedex/bulbasaur, /pokedex/pikachu, etc.
- Per-game sub-pages moved to /pokedex/[slug]/pokemon-[game]
- Old URLs (/bulbasaur, /bulbasaur/pokemon-red) 301-redirect to the new structure
- Type pills on each detail page are now clickable links to the matching type page
- Every internal link across the site updated, no more 301 hops during normal navigation
Homepage redesign
- Completely rebuilt homepage around the Pokedex Console pattern
- Live-autocomplete search across 1,025 Pokemon, 900+ moves, 300+ abilities
- Pokemon of the Day, rotates daily, different every visit to the site
- New starter showcase: 9 cards (Gen I–IX) with flagship game cover art
- Clickable chips for all 18 Pokemon types and all 9 generations
- Full @graph JSON-LD for SEO (WebPage, CollectionPage, ItemList × 2)
- Random Pokemon secondary CTA in hero
Pokémon Abilities pages
- Every ability now has its own page at /pokemon-abilities/{ability} with the full effect and every Pokémon that has it.
- The ability list at /pokemon-abilities shows all main-series abilities, filterable, with a short excerpt for each.
- Pokémon detail pages now list abilities inline with cross-links to the ability pages. Hidden abilities get their own amber tag.
Pokémon Moves database
- New at /pokemon-moves: every move across every generation in one table. Search by name or effect, filter by type and category (Physical / Special / Status), sort by power, accuracy, or PP.
- Per-move pages at /pokemon-moves/{move}: full stats, effect, flavor text, and every Pokémon that can learn that move.
- Click any move from a Pokémon's page to see who else learns it.
Pokémon Type Chart
- Full 18-by-18 type matchup matrix at /pokemon-type-chart. Hover a cell to see the exact multiplier, click any type to dive in.
- Each type gets its own page at /pokemon-{type}-type with defensive matchup, offensive matchup, and the complete list of Pokémon of that type.
- Linked from the new Types entry in the top menu.
Top menu reshuffle
- Types, Moves, and Abilities added to the top menu.
- Random, Trainer Card, Merchandise, Help, and About moved to the footer to keep the top menu focused.
- Team renamed to match the tool it opens.
Help Center refreshed
- 20 new articles covering Team Planner, Compare Pokémon, Trainer Card Maker, Games, Merchandise, and Contact.
- Every article in the same section now cross-links to related articles at the bottom.
- Help article headers redesigned to match the rest of the site: red banner with the category eyebrow and the article title.
About, Contact, and footer updates
- New About page at /about covering what Pokepedia is and who builds it.
- Contact link in the footer opens a form you can use for bugs, takedowns, and feature requests.
- Site positioning line updated: "an independent swiss army knife for Pokémon fans."
Shop becomes Pokémon Merchandise
- The shop moved to /pokemon-merchandise with a clearer name.
- Old /shop URLs automatically redirect to the new path.
Detail pages fully redesigned
- Hero redesigned: two-column centered layout with big Pokemon artwork, name, ID + genus pills, and height/weight/catch rate/exp stats.
- Artwork now zooms and tilts on hover.
- Battle statistics displayed as colored bars, two columns per stat.
- Gender ratio shown as male and female cards with filled icons.
- New Strengths & Weaknesses grid: all 18 types as colored tiles with effectiveness badges (2x, 4x, 1/2x, 1/4x, immune) and a hover zoom.
- Evolution chain added, with trigger labels like "Happiness" or "Thunder Stone" between nodes. Current Pokemon highlighted with a green ring.
- Alternate Forms gallery added, pulling Mega/Gigantamax/regional/cap variants straight from the data.
- Related Pokemon section added, suggesting other species that share a type.
- Every section has its own icon, a refined small-caps heading, and auto-generated prose that describes what you're looking at.
Per-game Pokemon pages
- Each Pokemon now has a dedicated page for every main-series game it appears in, reachable at /[pokemon]/pokemon-[game].
- Retro Game Boy-style device renders the Pokedex entry and game-specific sprites side by side, with shiny variants tagged with a small sparkle icon.
- Moveset table with search, a tab selector (Level Up / TM/HM / Egg / Tutor), type-colored moves, and a requirement column.
- Locations section fetched live from the PokeAPI encounter data: every spot to catch it, with method pills (Walking, Surfing, Fishing), level ranges, conditions, and a color-coded encounter chance bar.
- Sidebar with nav shortcuts to each section and a Capture / Release button that updates your Pokedex Tracker.
- Auto intro paragraph at the top describes what's on the page.
- Game selector tabs at the top flip you between games in the same generation without losing your scroll position.
New pages: Games, Team Planner, Trainer Card, Shop, Compare
- Games index at /games lists all 46 main-series titles with real cover art, release dates, platforms, and generation badges.
- Team Planner at /team-planner lets you pick a game, build a party of six, see defensive coverage, get suggestions for what types to add to fix weaknesses, and randomize the whole team.
- Trainer Card Maker at /trainer-card builds a downloadable PNG trainer card with gradient or image backgrounds, uploaded trainer portraits, and a six-Pokemon party.
- Pokemon Shop at /shop with 35 curated Pokemon gifts and collectibles, each rewritten in a more honest voice than the usual product blurb.
- Compare Pokemon moved to /compare-pokemon with SEO-friendly matchup URLs like /compare-pokemon/pikachu-vs-raichu. Now includes move overlap (which moves both learn), game availability overlap (games where both appear), and auto-generated stat/type analysis.
- Old /compare URLs redirect automatically.
Breadcrumbs, cleaner nav, faster pages
- Breadcrumb trail on every page for easier navigation.
- Sub-pokedexes (per-game, per-region, per-generation) now link back to the main Pokedex.
- Footer gained social icons (Facebook, Pinterest, YouTube, Google).
- Top nav reshuffled: Pokedex, Games, Tracker, Compare, Team, Random, Trainer Card, Shop, Help.
- 50px bottom spacer on every page so content doesn't butt up against the footer.
- Scroll position preserved when switching between games in a Pokemon's detail page.
- Pages now cache and serve faster thanks to incremental rendering.
- Favicon added across all pages.
Detail page: bigger sprite, keyboard navigation
- The #NNN number behind each Pokemon is now larger and italicised, matching the main Pokedex cards.
- Left and right arrow keys now cycle between Pokemon on any detail page, no more clicking through 1,025 of them.
- Generation tabs redesigned as connected rectangular pills that clearly attach to the content below.
Tracker updates
- Table header is now dark navy blue with rounded top corners.
- Shiny and Unique Shiny counters render in gold, matching the shiny marker.
- Removed the Orre region from the sidebar (Colosseum / XD aren't catch-log relevant).
- Japan-only versions of Red, Blue, and Green removed from game lists and filters.
- Wordmark changed from POKEPEDIA to POKEDEX TRACKER so the page says what it is.
- New "Learn how to use it" link under the title that goes to the Help center.
Homepage rebuilt
- Landing page now opens with a hero, a 12-card benefits grid, a numbers block, a three-step "how it works" flow, and a persona section (speedrunners, collectors, shiny hunters).
- Icons got an upgrade, more expressive set including a d20 for Random, a gamepad for keyboard use, and sparkles for shinies.
Pokedex browsing is faster and smarter
- Sidebar filters added: Type, Evolution Stage, and Games. You can combine them.
- Sort by ID or Name, either direction.
- Search by name, national dex number, or type.
- Left and right arrow keys flip between pages.
- Hover sounds on Pokemon cards, with a mute toggle that remembers your preference.
- Cards shrunk 40% so more of them fit per screen; italic #NNN numbers now spill off the edges.
Fair Use and Changelog pages
- Fair Use / Legal Disclaimer page published at /fair-use.
- Changelog page launched. You're on it.
Pokepedia launched
- All 1,025 Pokemon, every main-series game (41), every region (11), indexed and browsable.
- Catch tracker that saves in your browser, no account, no login.
- Random Pokemon generator with filters for type, region, stage, nature, gender, and more.
- Help center with step-by-step guides.
- Detail page for every Pokemon with stats, type matchups, evolution chains, fun facts, and per-game movesets.
