Summon The JSON: From Fantasy to Functionality — The Evolution of Coding Decks

Tom Smykowski
10 min readNov 19, 2024

--

The journey of Summon The JSON began with a spark of creativity — combining programming education with the magic of card games. Over the years, this project has evolved into something truly unique: a series of beautifully designed flashcards and games that make coding accessible, engaging, and, above all, fun.

You may have already heard, because it’s big news in a very niche community, that I’ve released a new deck. In fact, it’s more than that. But let me walk you through it.

Several years ago, I started working on a project called Summon The JSON. The name is a playful twist, combining the idea of summoning something magical — which gives it a fantasy vibe — and JSON, a format for data. This alone hints that the project is something quite different.

And indeed, it is. My idea was to use gamification to offer a new way to explore coding through a blend of fantasy and card games. Sounds complicated? Well… in short, it means flashcards and games about programming.

Here’s an example: the Python deck.

But as a true geek, I couldn’t stop there — I had to go further. I created more decks for JavaScript, C#, Java, React, Git, C++, PHP, Rust, TypeScript, HTML, Golang, Angular, Vue, Ruby, and Kotlin. In total: 16 decks. Along the way, I’ve gathered valuable feedback and received fantastic reviews. In fact, on Etsy, I’ve made 50 sales with a perfect 5/5 rating!

But the product is niche. It’s never going to be as popular as other card or board games because it specifically appeals to programmers who enjoy fantasy and want to learn new things.

That said, the deck is also innovative. For the language decks, it combines a function name with an illustration and a creative description, making it easier to remember what the function does. The overall packaging is designed to appeal to creative people who see programming as a tool to create amazing things.

Moreover, as you can see on the card above, it includes points and a superpower — because it’s also a game for 2–4 people.

After finishing the work on the decks, I thought, why stop there? I decided to create a desk mat. But not just any desk mat — a large desk mat with keyboard shortcuts for VSCode, IntelliJ, Windows, macOS, and more. However, I noticed that the desk mats currently on the market are, frankly, lame. Lame visually, too small — just lame. So, I designed my own.

This is also a niche product. A desk mat for programming IDEs isn’t going to dominate the market. Maybe the Windows and macOS keyboard shortcut desk mats will find a broader appeal. But I didn’t stop there — I took it a step further and designed language desk mats, so people learning a new language can enjoy something both aesthetically pleasing and practical.

With this project completed, I decided it was time to return to the decks. Based on feedback, I realized there were a few key issues I needed to address:

  • Not everyone likes fantasy
  • Not everyone can afford expensive products
  • Not everyone speaks English

Now, let’s break down how I tackled each of these issues.

Breaking the Fantasy Mold: New Styles for Every Taste

I completely understand — not everyone is into fantasy. For those who aren’t, there’s usually a love for Sci-Fi (at least in my geeky way of seeing the world). So, I created a Sci-Fi deck:

When I was working on this deck, I implemented several improvements. For example, the box design is completely different from the fantasy deck, as is the card design.

But I didn’t stop there — I completely redesigned the function descriptions and superpowers.

Now, the descriptions include:

  • A short explanation of what the function does
  • The arguments and return value of the function
  • A brief example

This way, the deck provides more detailed information than the fantasy deck, which was something many people had requested.

Another major change was the superpowers — a big one. Previously, the game mode was somewhat disconnected from programming, with heroes, food, animals, and interactions between them.

Now, I’ve gone full Python and built the superpowers around what the functions actually do.

For example:

The card for the hasattr() function has a superpower that nullifies the effect of the delattr() superpower. This means you can counter an opponent's superpower—like someone trying to delete an attribute, and you respond, "No, you can't do that because the attribute is there."

You won’t believe how much time it took to create 60 unique superpowers that interact with other cards — sometimes even combining with two or three. It took me several weeks to get everything balanced and functioning properly.

But the result is worth it. The game is balanced, so anyone can play (you don’t even need to know what these functions do to enjoy it). And the more you play, the more you start to understand what programming is all about.

Since the superpowers changed, I had to update the instruction manual too. And because I was revising it anyway, I decided to completely redesign it.

Just a heads-up — this version of the instruction manual was printed on my home, cheap inkjet printer. Can you believe that? I’ll share more about the printable version soon, but I just wanted to show you how amazing it looks even when printed yourself:

The new instruction manual has a cleaner, more aligned design. It includes a Quick Start Guide, an illustration explaining the card layout, and, on the following pages, updated rules for the game and a learning mode for one or two players.

The rules have been revamped to make the game more dynamic and balanced, ensuring everyone has a fair chance to win. The victory now depends on a mix of luck and skill, with more tactical opportunities. Instead of just aiming for four points, you play several cards in a round, allowing you to create better combos. This makes each game unique and more strategic than before.

From a visual perspective, the inside of the instruction manual looks much more polished as well.

So, if fantasy isn’t your thing, you can opt for the Sci-Fi deck. Or, if you prefer something more neutral, there’s also the Neutral deck — designed without fantasy or Sci-Fi elements, offering generally pleasing visuals.

Now, everyone can find a deck that suits their style.

Let’s move to the second point:

Making It Affordable: Options for Every Budget

DIY deck

Everything is expensive. I won’t go into too much detail, but when you’re manufacturing something niche, the costs are easily ten times higher than if you were producing millions of units. Maybe that’s why it’s so much easier to buy mass-manufactured items than handmade ones.

That said, manufacturing these decks is costly. Over the years, I’ve explored every possibility to reduce expenses, but the reality is that no matter what route you take, the costs end up being the same — you just pay for different things.

This means there’s very little flexibility on the price, and I completely understand that for some people, $49.99 (before discounts) might feel too steep. Especially when you consider that people often expect express delivery, yet niche products like this aren’t stockpiled and are only produced in small batches. Express shipping comes at a premium, and delivery outside the U.S. can take time, making it operationally impossible to meet every market demand.

Here’s a breakdown of what goes into delivering a physical product:

  • Printing all the pieces
  • Cutting them out
  • Gluing the box and stitching the instruction manual
  • Packing everything
  • Shipping (including the delivery cost)
  • Insuring the delivery
  • Paying manufacturing fees
  • Covering taxes
  • Paying Stripe, Shopify, and Etsy fees
  • Handling operational costs
  • Profit

When you look at all of this, it’s clear that it’s impossible to match mass-manufactured product prices or hit that instant-buy cart value.

But here’s the thing: I’m thinking about educators and students from all over the world. This project was never about making a fortune. If I wanted to earn more, I’d simply take frontend coding gigs or consult on AI or design systems.

By the time I finished designing the 15th deck, I realized something: I just love creating transformative, useful, innovative, and fun products that make a difference. My goal is to make enough from this project to keep doing what I love and bring more great ideas to life.

So, I needed to find a way to support everyone who wants to use these decks. A few years ago, I explored an idea, and now I’ve finally brought it to market.

The concept is simple: What if we removed all the physical production costs and allowed coding students, educators, or anyone in the world to access the deck quickly and affordably?

The answer? Printers. You don’t need any fancy equipment to create the deck yourself — even the cheapest printer will do. That led me to create the printable deck, currently available for $19.99 (before discounts).

When you buy the printable PDF, you can simply print it, and within an hour, you’ll have your own deck. I was initially worried about the quality of this solution, but just look at what my cheap inkjet printer was able to produce:

I didn’t round the corners of the cards — it’s worth it because this way, the cards won’t fold or wear out as quickly. But just look at the details and quality. Sure, it’s not manufactured with linen texture, UV coating, or cut by a steel blade, but still — for me, it’s beyond my expectations.

That’s why I’ve enhanced the offer with a printable version, which you can now order with the Python deck.

Preparing the printable version was an adventure in itself. It drained almost all of my savings. Adjusting the printouts to ensure everything aligns perfectly on any printer and still looks great took far more time than I expected. But, honestly, I should have expected it — because printers are printers.

The most exciting (and challenging) part was figuring out how to print the backs of the cards so they align exactly with the fronts. Thankfully, Python helped me achieve that 🙂 (but that’s a story for another article).

Now, anyone can choose between the options: if someone has the budget, they can order a physical product; if not, or if they don’t want to wait, they can order the printable version, print it, and have the deck ready in under an hour.

In short, everyone who wants the deck can have it.

Protip: If you’re on a budget use your printer or ask friend or in your work if you can print it. Ink and paper is usually way cheaper than ordering the print from a print company.

And now, onto the last point:

Speaking Your Language: Expanding Global Reach

English is the lingua franca of programming, but that doesn’t mean people everywhere use English in their day-to-day communication, especially within teams or among friends. When it comes to games, people naturally expect them to be in their native language. After all, if you’re playing with friends — who may not be coders or multilingual — it’s important that everyone can understand and enjoy the experience.

Offering the decks in more languages allows for greater adoption worldwide. That’s why I’ve prepared versions in 11 languages so far:

  • English
  • German
  • Swedish
  • Portuguese
  • Polish
  • Norwegian
  • Japanese
  • Italian
  • French
  • Dutch
  • Czech

If there’s demand, I’ll expand to include decks in even more languages. The goal is simple: everyone, wherever they live, should be able to use and enjoy these decks.

A Fresh Look: Redesigned Website and Visuals

In the meantime, I’ve also redesigned the website — so be sure to check it out — and set up a better space to take high-quality pictures of the decks and create visualizations in Blender. There was a lot happening behind the scenes in these areas, and I had to dive deep into learning Shopify, Etsy, and Blender to make it all work. But that’s a story for another article!

Looking Ahead: Final Thoughts and Thanks

That’s the summary of changes that have brought me to this point. Now, people can choose from physical Python decks, printable decks, fantasy decks, sci-fi decks, and neutral decks, all available in 11 languages.

This means that anyone learning Python, whether a data scientist or programmer, can now enjoy a Summon The JSON deck tailored to their preferences.

The decks have already started catching attention, with some of my favorite comments on social media including:

  • “Where can I find these cards? Looks pretty.”
  • “These are so cool. I’m gonna have to get a set at some point.”
  • And my personal favorite: “This is so geeky it’s incredible! The project looks pretty on fleek (couldn’t think of a word more apt) for what it is. Seems high quality. Will be taking a look.”

Such comments — and the encouragement I’ve received here on Medium — have kept me going over the years with this project. Thank you for every comment, clap, like, share, and purchase!

Let’s spread the word and grow the Summon The JSON community together! If you write articles, have a social media presence, or know colleagues who might love these decks, I’d greatly appreciate your support. Reach out to me at contact@tomasz-smykowski.com, and I’ll offer you an exclusive review discount for the printable Python deck.

Your help in showcasing these unique cards can make a huge difference. Whether it’s a shoutout, a review, or simply sharing the project with your network, every bit of support counts — and I’d love to have you join me on this journey!

Cheers!

--

--

Tom Smykowski
Tom Smykowski

Written by Tom Smykowski

🚀 Senior/Lead Frontend Engineer | Angular · Vue.js · React | Design Systems, UI/UX | Looking for a new project! 📩 contact@tomasz-smykowski.com

Responses (1)