How Creating A Bad Poker Game Taught Me About How Crucial Customer Testing Is

So where to start

I was always into poker, be it good ol’ five card draw or Texas Hold Em’. Before the pandemic, most of my friends and family and I played it with physical cards and chips, but after the pandemic and when we were far apart, we mostly played games that were pay to win, like WSOP and Zynga which were built more for online playing with strangers where you can buy chips with real money(you do get some free but they are few and far between).

So I basically became Thanos and said, “Fine, I will do it myself”.

Tech Stacking Up

The crew for my poker game were the usual. Cue heist planning music

  • Java - Even though we had a rough start, Java became my go to language for building web apps. Simple, because it has a trick up its sleeve, Spring Boot. Spring Boot made Java way more bearable by minimising the need for writing a lot of boilerplate code.
  • React - Unlike Java, I have little to no experience in React but I do know the community has a lot of support for this framework.
  • Postgres - Open Source, ACID compliant, reliable.
  • Railway - The Platform As A Service where I can host my game.

And last but not least

  • Claude Code - My new addiction. Recently I bought a subscription for it to make some MVPs at work. But I decided to use it for my personal projects. For Java, I didn’t use much of it other than writing one complicated loop method. For React, I vibe coded the entire thing with it. Like I said I barely know much about React or any frontend library and that kept me from actually finishing my earlier projects. I bought Claude to create MVPs’ frontend and its decent enough to create a serviceable frontend.

The Disaster

So I finished building the game, tested it by myself as much as I could. The login, room creation and the gameplay worked good enough so I thought, hey its ready for deployment (Famous words before the disaster). I launched the app on Railway and invited two of my friends to play it with me.

Verdict

My friends said the UI was good enough and liked the retro aesthetic but then the problem arose. The UI didn’t communicate the game properly for people who are not familiar with poker and my friends who are not into poker didn’t understand the game had a hard time wrapping their head around it. Then another bug arose, the states were not properly being changed, the turns were inconsistent across betting rounds and sometimes during edge cases like high cards for all, a random person won. My friends didn’t like the experience and I felt, well, motivated.

Eh? Motivated? By failing to deliver?

Yes, I was motivated because I was building in a vacuum with no idea if this was working or not. Once the app was out and was tested by people, the holes became more prominent and now I have a clear list of issues that I need to work on.

Learnings

  • Test Quicker - Testing with beta testers(my friends in this cases) early on and set the proper trajectory of the app you’re building.
  • Keep track of issues - Every issue you see during that testing should be tracked properly.
  • Be motivated to make it better - Once your testers see the lows, the path forward if charted properly will impress them even more than the last iteration.
  • Be open to feedback- Feedback can provide ideas on how to better your product. After all, you are building for customers and customer’s suggestions and feedback is paramount.

I will use all these learnings to better my poker game and my upcoming app project.

Recent Posts