Inspiration

As a kid growing up surrounded by Yugioh cards and Magic: The Gathering decks, I always wanted to consume as much information about the games as I could. Win rates of certain cards, how often some specific strategies were played, but most importantly, the odds for getting the super-rare chase cards from packs.

Over time, I (almost!) grew out of my nerdy hobbies, but recently, I, like many others, got swept up in the Pokemon card craze. With millions of views on instagram, and hundreds of thousands of dollars flooding into the market in exchange for coveted packs, I was certain that the glory days of my youth had come back.

However, it became abundantly clear to me that Yugioh and Magic Pokemon was not. The wealth of information and statistics were replaced by rough guesses and inconsistencies from person-to-person and set to set.

And the ones that do contain the necessary information overload the user and make any beginner trying to learn mode dizzy before they can take another step.

We wanted to create a consolidated bank of information, only for Pokemon, which enough important and relevant numbers and figures to keep a young me busy for a lifetime.

What it does

PokeStats provides valuable information about the most recent sets in a clean and concise manner, cutting away all of the fluff which plagues bigger sites, and having the important numbers which the smaller sites lack.

The information provided is perfect for both min-maxxing pros who want to know the most efficient pack to buy, as well as the humble beginner who's looking to see how much their shiny new cards are worth.

It's tailor-made to provide the most important piece of information at just a click, ensuring that you never need to scroll for more than a moment to find exactly what you're looking for, a rarity in today's landscape.

How we built it

We built the website with the consumer in mind, utilizing a responsive nextjs frontend to clearly present the ten most recent and relevant packs. Additionally, by consolidating scraps of information from various sites and observing pack-openings, we were able to build a formula to accurately predict the price for unique packs.

Lastly, we use dynamic routing in tandem with MongoDB to present the wealth of information. Everything from rarities, pricing, and different printings of the card are readily available at the click of a button.

Challenges we ran into

Our what’s next and our challenges are fairly connected in that the reason we were unable to represent each historical Pokemon set was due to both a lack of data and complications with pull rates. Our algorithm for calculating the expected value of a pack takes into account both the chance of pulling certain rarities as well as the average amount of said rarity in a pack. Unfortunately, throughout its lifetime, both the amount of cards in a pack and the odds of pulling specific cards was incredibly variable, which made making a singular algorithm for all packs an incredibly difficult task. Additionally, while pull rates for more recent packs have abundant data, previous pack odds are not documented to nearly the same extent. While estimates do exist, we wished to preserve the legitimacy of our model, only using pull rates from high sample sets.

Accomplishments that we're proud of

What we learned

While the API and information we had on hand was sub-par, it forced us to improve at database and API management, allowing us to extract as much value as we could from our limited resources.

Additionally, although we were proficient with objects, we had little experience working with the hundreds of objects that this project required. We had to find repeatable, intuitive solutions to implement the hundreds of images and the many facts associated with them. We were encouraged to improve our coding fundamentals and cut no corners in development.

What's next for PokeStats

The next steps for PokeStats are fairly clear in that we would implement our algorithm for every single historical Pokemon set. In the future, we wish for PokeStats to be a viable option for card collectors to evaluate the costs of purchasing packs, making it incredibly important for our site to support all card sets. Additionally, with further time, we would likely have focused on improving the general web UI for our website, adding features such as a ‘sort’ and ‘filter’ function on the home page, similar to what was seen within the individual sets.

Built With

Share this project:

Updates