MythicHub: A Personal Journey
Hey, my name is Mateusz, and I am the creator of MythicHub. I'm excited to announce that the first version of MythicHub is now live and publicly available! In this blog post, I want to share the journey of how I brought MythicHub to life.
Behind the Scenes
I drew heavily from my own Magic: The Gathering experiences while working on MythicHub. I used to play Modern in my LGS and loved every moment of it, but as life became busier, I found less time to play. Advancing my career and becoming a dad took priority, and I transitioned from a software developer role into a leadership and management position.
I missed both Magic and programming, so I decided to combine these two passions. I decided to trade my modern collection to buy commander staples and was looking to do trades. I started to track my collection and I traded through Facebook groups. Yet, the process of finding trades was frustrating, searching through links, screenshots, and text lists felt chaotic. This motivated me to create something that could streamline those experiences and bring value to the MTG community.
The Inspiration Behind MythicHub
Around five years ago, I came up with the idea to create a Magic: The Gathering tool for collection management and deck building. At the time, Moxfield had just launched (though I wasn't aware of it back then), and the most popular deck brewing app was TappedOut. However, TappedOut already felt outdated, and I didn't enjoy using it. For collection tracking, I relied on Deckbox, but it had several limitations. Its card categorization didn't align with the widely accepted standard set by Scryfall, which made syncing with other platforms challenging. Additionally, Deckbox used its own pricing system, making it difficult to assess collection value based on marketplaces like TCGPlayer or Cardmarket.
Other tools like MTGGoldfish and Top8 also served their purposes. MTGGoldfish provided excellent content and a clean deck presentation but lacked an intuitive deck editing tool and a robust collection tracker. Top8 remains a go-to for browsing the metagame, but its functionality is quite specific.
Trading also played a significant role in shaping MythicHub. Back then (and even now), a lot of my trading happened through Facebook groups. The community is fantastic, built on fairness and trust despite trading with strangers. However, one thing I found frustrating was the lack of proper search functionality in these groups. Some users posted links, others uploaded images or screenshots, and some just shared lists in plain text. I often thought: that if people could provide a link to their wishlist and tradelist, and I could instantly compare my wants against their haves, it would make trading so much simpler and faster.
Looking back, Scryfall and Moxfield set the gold standard for what modern MTG tools should offer. Scryfall is the definitive search engine for Magic and a top provider of MTG-related data through its API. Interestingly, Scryfall also has a deck builder tool, but it seems to have been left behind. Moxfield, on the other hand, is the leading deckbuilding tool that also offers collection management. The first time I tried Moxfield, I loved it, and I still do. Its execution is outstanding and a source of inspiration for MythicHub.
Design Goals
My main goal for MythicHub as my hobby project was to create a platform that makes managing collections, card search, and deckbuilding easier.
I had three main ideas in mind when developing MythicHub:
1. Support all platforms for deckbuilding and binder management
Support all platforms for deckbuilding and binder management: Paper, MTGO, and Arena each have different card pools, and I wanted to support all of them. This also ties into other features, like how the deck builder handles collection status or how binders are managed for each platform.
2. Support all languages
Support all languages: When viewing a card's page, you'll see all of its language variations listed. Additionally, when adding cards to decks or binders, you can select the card's language. I made sure that only valid language variations for a card can be added. Setting the language for a card also ensures that the card tooltip is displayed in that language.
3. Support multiple marketplaces and make price comparisons easy
Support multiple marketplaces and make price comparisons easy: MythicHub provides estimated prices for five different marketplaces/shops: TCGPlayer, Cardmarket, CardKingdom, CardSphere, and Cardhoarder. For Arena, it displays the required wildcards instead of prices, which is unique to that platform. Users can set their preferred marketplace in their profile, but it's always easy to switch on the go if you want to compare prices.
Ideas that did not make it
Building MythicHub has been an incredible learning experience, but it hasn't been without its challenges. Balancing development with my professional life and family responsibilities often means late nights and stolen hours.
Some of the features I initially planned for didn't make it into the first version. Here's what I decided to put on hold:
- Metagame: While very valuable, this feature requires a fully developed deck builder and collection manager to get the most out of it. It felt more like a "next step" than a launch priority.
- Social Features: These depend entirely on having an active user base, which is difficult to achieve at the start. Additionally, as a solo developer with limited time, I can't realistically manage content moderation for a social platform.
Managing Data Complexity
The most critical part of the app, and one that will define how easy it is for me to add new features and maintain existing ones, is where and how I get my data from. In the beginning, I worked with the Scryfall API. I created a proof-of-concept version using it and began iterating. I knew I would need to sync the data daily to maintain up-to-date prices and Scryfall provides a bulk endpoint that returns a large JSON file with all the data.
One of the biggest challenges with Scryfall was dealing with cards that have multiple faces, like double-faced cards, split cards, meld cards, etc. Scryfall nests the data for other faces within the initial card data, and I struggled to figure out how to properly query and filter by those properties. That's when I discovered MTGJson. After researching how they structure their data, where each card face is a separate entity, I was convinced. Additionally, MTGJson gets its core data from Scryfall but offers more data sources, such as pricing from multiple marketplaces, preconstructed decks, and sealed data. I adjusted my code to work with MTGJson, and it has been smooth sailing since.
Another recurring challenge I faced, and sometimes still do, involves cards that change, whether it's due to changing some of the set details (Scryfall occasionally does this) or cards having temporary names during spoiler season. Instead of deleting these cards, I mark them as outdated. This way, they no longer appear in search results but remain visible in decks or binders where they still are relevant. This approach ensures that users' collections stay intact while keeping the app's data up to date.
MTGJson aggregates data from multiple sources, streamlining my process significantly. It serves as a reliable, single source of truth. You might wonder why I don't fetch data directly from TCGPlayer or Cardmarket. The answer is simple, those platforms no longer provide easy access to their APIs. MTGJson fills the gap by supplying the essential data, including estimated prices for cards and finishes.
Features Overview
Let's go through some of the key features of MythicHub.
Extensive MTG Database
MythicHub offers an extensive and comprehensive database of Magic: The Gathering cards, sets, artists, preconstructed decks (including Commander decks!), and Secret Lairs. The easy-to-use search bar is accessible via the top navigation. By default, it allows you to search by card name containing a given string, and this search also includes flavor text and names in other languages. From here, you can dive into the advanced search. I'm particularly proud of how this feature turned out! Most of the fields are self-explanatory, but one I'd like to highlight is the printing preference. This option lets you filter cards by:
- Latest non-promo: The newest printing of a card, excluding any promotional versions (if available).
- Latest: The latest printing, even if it's a promo version.
- Initial: The first occurrence of the card.
- All versions: Instead of grouping cards by name, this will display all variations.
Set Details
In addition to cards, MythicHub offers a detailed list of sets grouped by parent set (similar to Scryfall). You can view all cards from a set, and if there are any associated preconstructed decks, there's a handy link to explore them.
Celebrating Artists
I believe Magic's artwork is exceptional, and I want to give credit to the talented artists who bring it to life. MythicHub treats artists as first-class citizens. You can explore a dedicated artist page where cards are grouped by unique art and displayed in a grid or table, similar to how sets are shown.
Secret Lair Drops
Wizards of the Coast has released a huge number of Secret Lair drops, this page makes it easy to search and browse them. You can explore these drops similarly to how you browse decklists and also view the secondary market prices for the cards included in each drop.
Comprehensive Collection Management
The Collection Management feature is the one I use the most and the reason I initially built MythicHub. Collection Binders are designed to help you organize and manage your Magic: The Gathering collection with ease. You can group cards into binders and even assign prices to each card. What makes this feature stand out from other collection management tools is how the price assignment works, as it varies depending on the binder type.
There are three binder types available to categorize your cards:
- 📗 Collection - Store cards you own. The price you assign here is the purchase price, and you will see red/green indicators showing if the price has increased or decreased since you bought the card.
- 🎁 Wishlist - Use this binder for cards you want to buy. The assigned price is the desired price, and you'll see red/green indicators showing whether the market price is higher or lower than your desired price. A blue indicator shows if the desired price is set but the market price is not available.
- 📦 Tradelist - Use this binder for cards you want to sell. The assigned price here is the sell price, and if a sell price is set, it will be displayed on the binder page regardless of the marketplace. If no sell price is set, it defaults to the market price.
Importing Collections
To make the onboarding process easier for new users, I've implemented the option to import collections from other platforms. Currently, you can import collections from:
- Moxfield
- Deckbox
- ManaBox
- MTGArena Pro
- MTGO
Some of these sources may have limitations, so refer to the help page for more details. If some cards cannot be found, a handy popup will display the cards that weren't added, and you can copy this list to manually add them.
Binder Comparison
One of the most powerful features of MythicHub is Binder Comparison. This feature allows you to compare the contents of your binder with someone else's. The idea behind the different binder types is to enable users to easily share their collections, whether it's a Collection, Wishlist, or Tradelist, and compare them against each other. In order to compare binders, navigate to the profile of the user whose binder you want to compare and select their binder. Click the "Compare" button and choose any of your binders for comparison.
Comparison Details:
- No Restrictions: Any binder, of any type and game type, can be compared with each other.
- Resulting List: The comparison will show cards from the other user's binder that are also in your binder.
- 🟨 Orange Match Icon: An inexact match, meaning the card name matches, but the printing, finish, language, or amount may differ.
- 🟩 Green Match Icon: An exact match, where the card name and printing details are identical.
Deckbuilder
Mythichub features a deck builder that supports all popular formats. It shows the decklist in a clear and intuitive layout, categorizing cards by type. In addition to the decklist, MythicHub provides helpful statistics, including the deck's estimated value. If you're logged in, it also calculates the cost to complete the deck based on the cards you already own.
Creating or Importing Decks
You can create a new deck from scratch or import one from other popular deckbuilding tools like Moxfield or Archidekt. MythicHub also supports direct imports from MTG Arena, making it versatile for players across different platforms.
Format and Game Type Validation
When creating a deck, you'll select the format and game type upfront. This ensures that any cards you add are:
- Legal in the selected format (e.g., Standard, Commander, Modern).
- Available in the chosen game type (Paper, Arena, or MTGO).
Commander Support
Supporting Commander was crucial for me when developing MythicHub, as it's the most popular format. A key aspect of this support is ensuring compatibility with the various partner commander types. These mechanics are widely used in Commander and require careful handling to be implemented properly.
Decklist Errors
If there are any issues with the current decklist based on the selected format and game type, a red exclamation mark button will be visible. Clicking this button will open a dialog with a list of all errors.
Collection Status
One feature that makes MythicHub unique and really stand out from other deckbuilding tools is the Collection Status. This feature is seamlessly integrated with the Collection Manager.
Since you can create binders for different game types, Paper, Arena, or MTGO, I needed a way to represent the collection status accurately. It wouldn't make sense to show that you can build a deck using cards from both Paper and Arena at the same time. That's why, when you view a deck, you can select which platform you want the collection status to check against. This aggregates all the cards in binders for the chosen game type and visually represents the results using colored square indicators.
These indicators provide a clear overview of how your collection aligns with the decklist requirements:
- 🟩 Exact Match: Indicates that you own the required quantity of the exact printing specified in the decklist.
- 🟦 Partial Match: This status applies in two cases: when you own the exact printing of the card but not in the required quantity, or when you own the required number of cards but with a different printing.
- ⬜️ No Match: Indicates that the card is completely missing from your collection. These are cards to acquire if you want to complete the deck, marked with a gray background.
- 🟧 On Tradelist: Identifies cards in your collection that match but are currently assigned to your tradelist.
- 🟪 On Wishlist: Highlights cards already added to your wishlist.
Market Price Changes
MythicHub gives you valuable insights into how card prices change over time on the two most popular marketplaces—TCGPlayer and Cardmarket. When you navigate to the Markets page, you'll see two tables side by side: one showing the top price increases for a selected period and the other showing the top price decreases.
You can adjust the displayed data based on various filters:
- Period: Choose between daily, weekly, or monthly changes.
- Format: Filter by card legal in the selected format.
- Finish: Toggle price changes for foil and non-foil cards.
Each table shows both the actual value change and the percentage change.
Keeping MythicHub Free
From the start, I was determined to keep MythicHub ad-free. Intrusive ads, flashy banners, and annoying pop-ups are, in my opinion, the cancer of the internet. I want no part of that.
My goal is to ensure MythicHub remains clean, focused, and free from distractions. As of now, there's no Patreon or similar funding option for MythicHub. I may consider introducing one in the future, but only as a way for users who truly value the app to support its ongoing development voluntarily. Currently, affiliate links are the only form of monetization. They're unobtrusive and help cover server costs without compromising the user experience.
A Look Into the Future
I have many ideas I'd love to work on, but time is always a limiting factor! Here are some of the features I hope to add soon:
- New collection import sources: Expanding compatibility with platforms like EchoMTG, Dragonshield app, TCGPlayer app, and Cardsphere to make importing collections easier.
- New marketplace: Adding Cardtrader as another marketplace to track and analyze prices.
- Deckbuilder enhancements: Improving the deckbuilder with features such as deck visual representation, the ability to set all prints to match your collection, and options to set prints to the cheapest available.
- Binder value over time: Introducing a feature to track the value of your binders over time, offering valuable insights into the changing worth of your collection.
- Combined binder view: Providing a combined view for binders of the same type and game type to streamline collection management.
Reach Out and Stay Updated
Thank you for taking the time to read! I hope you found this insight into MythicHub valuable. I encourage you to explore MythicHub!
You can connect with us on Facebook and Instagram for updates. If you have any questions, feel free to reach out to me directly at matt(at)mythichub.com. Alternatively, you can share your feedback through this form.
Your thoughts and feedback are invaluable, they help me improve and build the best possible experience. Thanks for being part of this journey!