From React Native to Kotlin: Building a Birthday Game App

Martin Tomášek
March 17, 2025

In this blog post, I want to take you through my journey of learning Android development with Kotlin, even though I’m not entirely new to mobile development. I’ve worked with React Native and have a bit of experience with Swift, but this is my first time diving deep into the world of Android specifically.

The idea behind the app is simple yet engaging: it’s a game where the celebrant can play casino-style games to win prizes, which are provided by their family or friends. The concept is perfect for those looking to make their birthday celebrations even more interactive and memorable. In this post, I’ll walk you through how I came up with the idea, the technologies I used, and how you can contribute to or customize the app.

Please note that this article will be edited further!

The Idea Behind the App

Birthdays are special, and often, we give gifts to make the day memorable. But what if we could gamify the experience, turning it into something interactive and fun for everyone involved?

That’s how this app came to life! The celebrant can spin a virtual wheel or play casino-style games to win different types of prizes. The twist is that family and friends provide the prizes, so the celebrant can win something they truly appreciate.

Why Kotlin and Android?

Having worked with React Native for cross-platform development, I’ve always been curious about native app development for both iOS and Android. While I’ve built cross-platform apps before, I wanted to dive deeper into the native Android ecosystem. Kotlin stood out as a modern and more concise alternative to Java, and as the preferred language for Android development, it felt like a natural next step for me.

Kotlin’s syntax is relatively easy to pick up, especially with my background in JavaScript and Swift. It felt like the perfect time to give Android development a real try.

Combining Fun with Learning Kotlin

The app I’m building is designed to bring more fun to birthday celebrations. It’s a simple casino-style game where the celebrant can spin a prize wheel to win rewards. The prizes are provided by their family and friends, making it a more personal and interactive experience.

Leveraging My Mobile Development Experience In Kotlin

1. Adapting to Kotlin

React Native uses JavaScript (or TypeScript), which felt quite different from Kotlin’s static typing and Android’s XML layout system. But I was able to transfer some of my problem-solving skills from React Native to figure out things like layout management and handling app state.

2. Implementing the Prize Wheel Game

One of the first features I tackled was the prize wheel. Coming from React Native, I was familiar with building interactive components, but implementing animations in Android was new. I had to learn how to use Android’s View system and animations to make the wheel spin and randomly select a prize.

Image of Wheel of Fortune

Challenges Faced (and Overcome)

While things went relatively smoothly overall, I did face a few challenges:

  • Random prize selection: Implementing fair randomization in the prize wheel was more complex than I expected.

What I’ve Learned So Far

  • Kotlin is a joy to work with. Its concise syntax makes it easier to write and understand than Java (at least for me), especially when coming from a JavaScript or TypeScript background.

Sharing My Code on GitHub

Even though I’m still learning, I’ve decided to share the source code for this app on GitHub. My goal is to not only show you how I’ve built the app but also provide something you can learn from and contribute to.

If you’re interested in seeing how the app works or if you want to contribute, you can find the GitHub repository here. I’m open to feedback, improvements, or just chatting about Android development with anyone who’s also learning!

Conclusion

Even though I’m not a full-time Android developer, this project has shown me how much you can accomplish when you apply your existing knowledge to a new domain. Whether you're coming from React Native, Swift, or another framework, diving into Android development with Kotlin can be a fun and rewarding challenge. I’ll continue sharing my learning journey, and I hope you find it helpful or inspiring in your own endeavors!

About author

An enthusiastic developer with experience across multiple platforms and technologies. Passionate about learning, building, and sharing open-source projects to contribute to the tech community. Continuously exploring new challenges.