All Projects // #0002 Personal

Fortyone

RustRedisAxumYewWebsocket

Back in the good old days, I used to play the 41 rummy card game with my friends all the time. It was always full of laughter, chaos, and fun moments that made the game memorable. Nowadays, those moments mostly live in memory, and that nostalgia inspired me to recreate the experience as an online multiplayer game.

Of course, playing online can never fully replace sitting together with friends in real life, throwing cards around, and doing silly things during the game. Still, I wanted to capture at least a small part of that experience through this project.

This project was quite challenging for me, especially because I was still relatively new to Rust when I started building it. Besides implementing the game rules and multiplayer logic, one of the hardest parts was dealing with concurrency, implementing WebSockets, and shared game state management. Rust forced me to think carefully about ownership, lifetimes, and thread safety in ways that were very different from languages like Python.

Even though it is “just” a simple card game, building it taught me a lot about real-time systems, asynchronous programming, and multiplayer architecture. We only used Redis to store the game data.

In the end, this project became more than just a game for me. It was both a technical learning journey and a nostalgic attempt to bring back a small piece of those old memories.

 

Tech Stack:

  • Rust
  • Yew
  • Axum
  • Redis
  • Docker