Why you should believe in your side project, the story of Poker Now
Today, Poker Now, my free online poker with friends no download no registration plataform that brought a different concept to the online poker scene by being free, not requiring any kind of download and registration, and having a clean interface is completing 3 years online (yea, if you already know Poker Now, you probably are surprised by this). To celebrate it I will share with you the details about the journey of a side project with low ambitions going to thousand of daily users showing why you probably should believe in your side project if you believe in this too.
First, let me introduce myself, my name is Samuel Simões, I am a brazilian living in Brazil and working with software development (especially web development) since 2011, although I started to give my first steps on coding from 11 years old, always self-taught because I simply loved the idea of “creating websites” since I saw my cousin’s first web page for cartoons created on the Microsoft FrontPage hosted on GeoCities. I think this is an important highlight because the current Poker Now situation is what I always wanted when I also opened the Microsoft FrontPage (I asked my cousin to give me a copy of the Office suite) for the first time in my life.
Fast forward to years later, in June of 2017 I receive an invite from a good friend called Fellipe to play a poker with his new fancy poker set, this was my first time with poker, and after the initial struggle to understand the rules, I fell in love with the game, there I never could imagine this invite would start one of the craziest software projects of my life so far, and without that invite, maybe all that I will tell here could not even happen.
A certain day I was with other friends besides Fellipe at my house wanting to play poker, but we hadn’t have a poker set, so as a good nerd, I searched some app to play poker with some sort of virtual poker set since I had the cards deck (for card tricks, not poker), and I found some apps, but all of them were clunky to set up the game, so at that night we gave up on the virtual set idea and we played with beans in the place of the missing poker chips. The absence of an easy “virtual poker set” stayed in my head for days, and I decided that I would create an open-source virtual based poker set without any kind of registration and with minimal setup barriers, running in the browser to speed up everything.
In the following days, I created some screens for this app and even started to write the code of poker mechanics, but since I was frequently playing home games with my friends without Fellipe’s poker set, I decided to buy a propper poker set, and then the prototype went to the drawer.
Weeks later my friends and I started a journey to play some poker hands at our cellphones, but in private rooms, and this was a hard task because the majority of apps didn’t support private games on mobile and we always needed to download an app, do lengthy registrations, sometimes someone couldn’t manage to get the app running properly, and in the end, the app wasn’t what we were looking for. At that moment, at my job, I was using a video-conferencing app called Whereby (three years ago it was called Appear.in) that consists in just opening the website and send the link to the other person to start a video chat, super easy to use without any barrier, and I thought that would be deadly nice to have something like this to play poker with my friends and since I had the “virtual poker set” project already started, I changed the direction of this app to be a proper poker game, and then the Poker Now development started around July 2017.
The first release
On 17 of September 2017, I shared with some people the first version of Poker Now, an app made with just React.js, Express and Socket.io running on Heroku, something pretty simple and missing A LOT of poker rules since my experience with poker was pretty limited back then. My group of friends started to use Poker Now and it showed to be a nice project, which incentivized me to publish it on Reddit, and to my surprise it was something that some other people was also looking for too, and the simple and clean user interface was calling the people attention because other poker apps had too complex interfaces with a lot of elements on the screen. This made me super happy because one of my “developer dreams” since the beginning was to create something useful for a bunch of people, and it was starting there. Sadly, since I am a person without any kind of strong online presence and a not too strong network, Poker Now reached just some folks on Reddit and some close friends, staying out of the radar for a long time receiving something like 10 daily people, but this didn’t discourage me because I loved the fact of Poker Now be something that some people wanted, and I continued the development, improving the app in my spare time and it started to slowly grow.
Reaching the first tier: a Twitch streaming out of nowhere
On a day like every other day of June of 2019, I noticed the accesses were increasing at a not normal pace, but I didn’t understand what was happening, and I didn’t give much attention to it, although I was happy about that.
In the next day, a Poker Now Discord member called Ludwig asked me to do an adjustment at Poker Now, I thought him was a regular user like everyone else, but I saw that he was doing live streaming in his Discord status message, by curiosity I clicked and saw a Poker Now table on the thumbnail which made me surprised, and when I checked it, more than 600 people were watching him playing with their friends, and then I realized from where the new access was coming, it was the Ludwig Twitch audience. Boy, I recall it clearly in my head that I was super afraid of Poker Now failing due to some bug or wrong poker rule in front of so many people, but at the same time, I was super proud of what was happening there. Poker Now jumped in some days from 60 daily people accessing it to 300 daily people and growing. I was super pumped, and every improvement that Ludwig asked, I developed as fast that I could to release for his next live game.
Of course this period wasn’t a tale of a flawless period. Despite some little bugs and some wrong poker rules interpretations that I was fixing along the way, one day Poker Now glitched super bad on the live streaming freezing the whole table and forcing Ludwig’s friends to finish their game, I was lucky in this occasion because it was pretty close at the live streaming ending. I fixed it and fortunately this didn’t affect the Poker Now reputation and Ludwig continued to use Poker Now in his streamings without any other major issue until his poker content started to be sponsored by a big poker company, but I am super grateful for the confidence that he put in Poker Now, this helped the project to go to the next tier for sure, but I didn’t know yet that something bigger was coming.
Reaching the second tier: the quarantined people searching a way to play poker easily
In a normal Monday night in March of 2020, I was watching my wife playing soccer and I started to receive notifications on my cell phone of people saying that Poker Now was crashing badly, I immediately started to think that Poker Now could being attacked, I back to home and tried to figure out what was happening without success, then, checking the Google Analytics, the number of accesses was increasing in a pace completely out of the reality in the matter of some days. So I started like crazy to try to fix the situation increasing the server capacity, which at the Digital Ocean (yea, I migrated from Heroku to Digital Ocean to save some bucks) can take one hour, so I decided that the best move would be move back to Heroku because I would have a powerful machine in a matter of minutes. This fixed the situation for some days.
The reason of the accesses surge was because the world was caught by surprise by the current pandemic that we are living forcing us into these social distancing times and a lot of people was in the same situation that I was with my friends back in 2017 searching an easy way to play poker with their friends and family through the internet, Poker Now was what people were searching so it went viral (no pun intended, of course).
The desperate running to scale the app to thousands of concurrent players
The first days after the initial surge hosting Poker Now on Heroku went fine, but every day it was receiving more and more players in an insane pace, and pretty quickly the app’s architecture showed that it wouldn’t handle more players, even in powerful servers (I don’t want to enter in many technical details because these details can generate another giant post by itself that I want to do in a second moment). At that point, the tensest moments of my entire life as a software developer so far started because I hadn’t experience with an app handling so many people in realtime connections, but I started like a mad man studying, analyzing and applying patches to optimize the app, I even needed to redesign some parts of the app’s code to allow it run in multiple processes to better distribute the load since Node.js, in simple terms, is a single-threaded environment and it was limiting the app. I was pretty much coding in production because of the urgency of the next day, fortunately, the majority of those patches did the job, but wasn’t rare the moments that I needed to deny new games to limit the number of players because every patch that I was applying wasn’t enough to handle the next day players quantity and I didn’t know where it would stop causing me a lot of anxiety, a lot of people were even asking me to allow them to play on Poker Now paying me money, super crazy.
During this period I had a lot of issues on the app especially when I migrated to Amazon Web Services searching for an easy way to setup a load balancer. I never had used anything besides of the Amazon’s cloud storage service, and now I was trying to use their advanced services without any prior experience, this was a super crazy ride, but since Poker Now grabbed a lot of attention, a lot of people on Discord were always ready to help me answering my questions and cutting the needing to do too much Google searches, even players that were employees of Google Cloud and Amazon Web Services was offering help! I am super grateful to all of those people and I would to like to mention their names, but I will probably forget someone, so thank you so much Discord friends that still helping me until today! I also want to thank my wife Iasmym that was always by my side giving me support and answering all the people at the social networks (it was a lot), helping me to keep my focus on the code.
In the highest peak, Poker Now received 56k people in one day and around simultaneously 10k connections with around 1k games running, an unbelievable result for an app managed just by one person and with pretty limited resources.
Poker Now reached so many poker players that it had a game between Neymar Jr. (you probably know him), Akkari (a Brazilian poker champion) and Lo Celso (a soccer player of Tottenham, an England soccer team). This was so crazy that I couldn’t even believe it when I saw it! Nonetheless, other pro poker players were recommending Poker Now too like Joey Ingram, and recently Poker Now was mentioned on Ars Technica!
An important sidenote to mention is that a lot of players donated money to the app through Buy Me a Coffee and Patreon, and these people are super important to the project because they are helping until today to cover all the costs of this operation, so without these donations, maintain Poker Now would require other strategies that I think wouldn’t suit well on the current vision that I have for Poker Now that is to keep it free for everyone not requesting any data that I don’t strictly need. Thank you all donators!
After this initial storm, I continued to apply performance patches and the app finally stabilized, and I could relax a bit after weeks of tirelessly working and studying to transform an app that was a bicycle in terms of performance into a spaceship.
A curious fact about this time is that Heroku banned my account “because of gambling app” some hours after I changed the domain DNS to point to Amazon Web Services. The timing couldn’t be more impressive and I was pretty lucky again.
The current situation and the future
Now the app is stable and I am now in the phase of introducing the needs of the Poker Now players, which can generate another post just to talk about how hard it can be to manage feedback and expectations.
After being accessed by more than one million people this year, the app is losing some traction because the majority of “poker home game players” are backing to their normal life, so they are playing mainly on their spare time, which was something that I was expecting, but now the app is in a place that I have a good audience that keeps me motived to deliver more and more, always developing close to the players, hearing and trying to offer the best possible product that I can offer, I very much appreciate and enjoy to develop a product like Poker Now, of course I need to find some way to monetize it to keep all my focus on this, which I think I can do it without killing the core values of the project, but I am not rushing on it since I did some savings to pay the servers because of the donations (which I still receiving, by the way).
I also received a lot of messages of people telling me that Poker Now was/is helping them to keep sane in the quarantine times, theses messages always fill my heart and make me super happy and proud of the product that I built, in some way I managed to do some tiny contribution to the world in a hard time like this. I also learned a lot in many subjects and I met some nice people that still with me until today helping me driving Poker Now.
Some thoughts about the Poker Now growth
When analyzing the Poker Now growth it is kind of anticlimax say this, but I had a lot of luck with Poker Now because every single event happened in the best possible moment for perfect timing, but having a good product for the right time is a thing that worth a highlight.
If you want to start a serious side project, I strongly recommend you to start it and let it on a point where you think it delivers great value for the people, unless you just want to train some kind of development/design skills. I think with Poker Now I did a good job creating some lightweight, simple and that works great (this last point is super important), otherwise Ludwig probably wouldn’t choose Poker Now for his streaming session not helping it step up the first tier, for example.
Another thing that I think that played a major role in the success of Poker Now until today is that I am always trying to be close to “my customers”, I try to answer every single message that I receive on Twiter, Discord and Email. Today people are kind of feed up of big companies with their cold auto answers, so this is a thing that calls attention, especially for a game. Of course it not scale, but if you have a side project, you can do this.
I also believe that out there exists a huge market wanting good apps in the browser that can be used quickly, without the hassle of downloads and registrations. I always believed in these values with Poker Now, even when I was just receiving some few players on it.
Thank you for your attention, feel free to say anything in the comments and don’t forget to follow Poker Now on Twitter.