Introduction
When it comes to unusual educational startups, just like the Run It Once (RIO), we often tend to go “all in”. Initially, we were only asked to join an already existing small developers’ team to provide our expertise in mobile and desktop development. Over time, however, we transitioned to RIO's CTO, and became their main technological partner. Would you like to know more details regarding our software for RIO?
Feel free to read the following project’s case study below.
In this article:
- Introduction & Client's Background Go to text
- Research & Collaboration Go to text
- Design & Development Go to text
- Results & Impact Go to text
- Conclusions Go to text
Introduction & Client's Background
Run It Once (RIO) is a Malta-based startup dedicated to poker education.
Founded at the end of 2012 by two close friends, Phil and Dan, it aims to explain poker fundamentals, improve players' mental resilience, and allow users to beat previously unthinkable games via online-hosted courses.
At that time, few digital products helped poker players to maintain focus, manage their emotions, and make rational choices under pressure.
All of those are essential to better performance – just like in sports.
At the beginning of their journey, RIO launched a daily fantasy sports site called Draftboard. This move has equipped Dan and Phil with the necessary experience in digital product development, leading them to their first financing rounds, followed by the creation of their first app.
This was also a starting point for our long-lasting business partnership.
During this project we managed the entire software development process, additionally supporting the RIO’s UX/UI design phase. Eventually, we also expanded our role to include web development segment and comprehensive testing. This was our first product written specifically for the gaming/gambling industry and based in Flutter.
Research & Collaboration
Our collaboration with RIO began with extensive research on our client’s business goals and needs. This phase also included the analysis of the existing app, which they built mainly thanks to their first successful round of funding.
Additionally, we closely collaborated with Phil and Dan to gain the best understanding of the poker world.
As we quickly found out, poker's complexity derives from the number of possible hands (card patterns in a player’s hand).
For instance, in Texas Hold'em poker variation, a standard deck of 52 cards can yield almost 2,6 million distinct five-card combinations. Moreover, all of them are ranked from the highest (a royal flush) to the lowest (a high card) – determining the winner in each round.
Just to remind you – we still speak only about hands in the most popular poker variation. Each version has its own rules and comes with its distinctive features – exponentially enlarging the possible scenarios.
To put it simply:
Poker is a diverse and strategic card game based on a blend of skills, psychology, and chance. All those elements had to be covered in our software.
Having this in mind, our team started to collaborate with RIO’s small in-house developer’s team, consisting of Pedro, Zach, Craig, Drew, Aaron, and Mikey.
Our solution had to not only provide massive libraries but also empower users to conquer challenging games. We wanted not only to boost players’ confidence but also expand their capabilities.
After all, psychological resilience in poker is as important as the player’s technical skills.
During this stage, we noted the following issues and challenges regarding Run It Once's existing software:
- Unstable implementation of individual application modules.
- Low performance of the client application.
- Qt Widgets reliance, which slowed animation and development.
- Poor server performance.
- Low source code quality.
- Demand for new functionality.
Design & Development
One of our initial roles during development was to make the front-end of this project as accurate as possible, so that it would match the design assumptions. We mainly focused here on the quality and responsiveness of graphic elements.
During this project phase, we placed great emphasis on appealing colors, numerous animations, and the comfort of using the application – so the user can easily manipulate the layout of the game tables.
Such features are very important for advanced players.
As RIO grew, securing additional funding, they eventually got acquired by RUSH Street Interactive (RSI).
The new vision for the RIO was much bolder.
The RSI had the ambition of creating the most fun, friendly, and fair online gaming platform in the Western world. This resulted in many technical readjustments within the project.
The most important one?
Successful and efficient transition to Flutter.
Fortunately, new project owners decided to sustain the contract with us, repositioning Milo Solutions as the whole project’s main technological partner.
RSI asked us to make our software able to handle over 400,000 users. Such decisions during the development stage often pose a significant complication, however, we delivered the solution in a timely manner.
From continuing our support from the initial C++ and QT development to becoming the primary team for Flutter mobile app development – we played a pivotal role in the whole process.
From stabilizing existing functionalities, through repairing bugs or rewriting a given solution, up to the verification and optimization in terms of resource consumption – amid the development of both RIO apps (mobile and desktop), we provided many services.
Our developers’ team was, as always, focused on code quality.
Ensuring accurate code reviews when publishing pull requests – was a must.
At this point, it is worth mentioning that we reconstituted a significant part of the existing application to QML, followed by numerous code refactoring/use of asynchronous REST API queries.
Since Run it One is a financial application where real money is used, we paid special attention to the security and financial logic of the game.
We delegated an organized team of testers to verify the user-friendliness of the software.
Our team tried to adapt to the conditions in which players typically use the application, such as traveling on a train with mobile internet, various devices, and hardware configurations.
Our thorough testing strategy translated into the overall success of the RIO application and customer satisfaction.
Throughout the whole development stage, we used technologies like:
- C++/Qt,
- QML,
- TCP,
- WebSockets,
- REST API,
- Protocol Buffers,
- cpprestsdk,
- gtest,
- Google Breakpad,
- PHP,
- REDIS.
Results & Impact
Our close collaboration and technical expertise were instrumental post-acquisition.
Run It Once turned out as a mobile & desktop online poker gaming app with a variety of original functions.
Our journey with RIO evolved from handling initial mobile and desktop solutions to becoming their main technological partner post-acquisition. We adapted their existing project into a new Flutter-based mobile app, ensuring scalability and user engagement for a large user base.
Moreover, we delivered the whole app on time, by the client's requirements.
Our expertise and experience enabled seamless adaptation and scalability of future RIO's software solutions.
At present, it is possible to play two types of poker – Texas Hold'em and Omaha.
The software supports Windows and OS X platforms and has an auto-update module that provides immediate access to the latest version of the software.
It is also worth adding that we carry out systematic tests and implementation in connection with new versions of the application.
Throughout many years, we maintained a strong partnership with the RIO founders. Our team even met them in Malta a few years back. This perfectly showcases the fact that today’s success stories can be built not only remotely but also face-to-face – and we like it.
Conclusions
This entry in our portfolio underscores our commitment to maintaining strong client relationships and delivering reliable, scalable solutions on time – no matter the challenges.
Looking for a reliable technological partner experienced in the gaming/gambling industry?