I built an animated Pokémon TCG Simulator with Next.js & Tailwind

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MyrinNew
    Senior Member
    • Feb 2024
    • 5175

    #1

    I built an animated Pokémon TCG Simulator with Next.js & Tailwind

    Hey developers! 👋


    I've been working on a side project for the past few weeks, and I'm excited to finally share it with you all.


    TL;DR: I built PokeSuite, an all-in-one Pokémon toolkit that focuses on UI/UX and satisfying animations instead of just static text lists.


    🚀 I just launched on Product Hunt today! If you like the project, I'd really appreciate your support:

    👉 Support PokeSuite on Product Hunt





    💡 The Motivation

    As a long-time Pokémon fan, I noticed that most "randomizers" or "team generators" out there are functionally great but look like spreadsheets from 2005.


    I wanted to build something that felt like a modern web app—responsive, dark mode by default, and interactive.


    🛠️ The Tech Stack

    I built this using the modern React ecosystem. Here is what's under the hood:
    • Framework: Next.js 14 (App Router) – For SEO and performance.
    • Styling: Tailwind CSS – Made building the dark mode UI incredibly fast.
    • Data Source: PokeAPI – The holy grail for Pokémon data.
    • State Management: React Context + LocalStorage (No login required for users).
    • Deployment: Vercel – Zero-config deployment.


    ✨ Key Features

    1. TCG Pack Simulator: This was the fun part. I used CSS animations to mimic the feeling of ripping open a booster pack.
    2. Competitive Team Builder: It includes filters for VGC and Smogon tiers (OU/UU), which required some complex data filtering logic.
    3. Spinning Wheel: A physics-based wheel to pick random Pokémon.


    🧠 The Challenge

    The hardest part was handling the massive amount of data from PokeAPI without slowing down the UI. I had to implement efficient caching strategies and optimize the images to ensure the "Pack Opening" animation remained smooth on mobile devices.


    🔗 Try it out

    It is completely free, open to everyone, and requires no sign-up.

    I'd love to hear your feedback on the code structure or the UI interactions. Let me know what you think in the comments! 👇




    More...
Working...