The Idea

Around 2023–2024 we worked on a game where we had to build TeenPatti and Rummy from scratch (you can check it out here). We went from scratch because the existing libraries and packages were either paid or just not good enough. Many of them were old and no longer maintained, and on top of that we needed something lightweight.

So once the game was finished, we figured: why not make the core available to the public? There were already plenty of places selling ready-made templates for this, but they were tightly coupled — you couldn’t use one part without dragging along or working around the rest. Our goal was to give people something they could use however they needed, so that the next person wouldn’t have to spend as much time on it as we did. 😅

Making it Open Source

When you build something open source, you have to remember you’re not making it just for yourself — you’re making it for anyone to use publicly. That means following certain standards and best practices, and writing good documentation.

First we made card-games-utils for the backend logic of TeenPatti and Rummy. It’s written in TypeScript and follows a modular approach, where almost every method and object can be used without affecting any other part. So if someone only wants TeenPatti, or only Rummy, they can take just that. In fact, if they only want the shuffleCard method, they can use just that too. It’s also easy to override any method and drop in your own custom logic. Overall it gives you a skeleton you can build the rest of your game on top of.

Then we made CardEase. To some devs this might look basic — and that’s exactly the point. The asset is built to do one simple thing: provide a card drag-drop and grouping system. Sure, someone could build something similar in a day or two. But that’s why it exists — to save the one or two days of repeated work every dev would otherwise have to redo themselves.

On both projects we tried to follow best practices and put together solid documentation, so anyone can learn from them and use them.

The Result

Both projects got a nice response from the community. In total we picked up 16 stars on GitHub, around 100+ likes, and 1k+ installs. We even got some code contributions that pointed out minor bugs, and a few people suggested new ideas for the projects.

That kind of response is exactly what pushes us to do more open source. We don’t technically earn from it, but it helps the community — and for us that’s more than enough.

The Future

We’re really looking forward to building more open-source projects, and some are already in development. We’ll be posting more about them in the future. And if you’d like to contribute to one of our open-source projects, or join in on its development, let’s talk.

See you in the next blog. Bye bye. 👋