Upcomer Case Study
“Very communicate, resourceful, the job was well done. We had certain documentation requirements and that also exceeded our expectations.”
Upcomer is the one-stop location for everything esports, from tournaments and matches to players and what’s going on in the industry. Upcomer makes it easy and more engaging to follow eSports thanks to the world’s most comprehensive companion app for following eSports in real-time together with thousands of fellow fans and rivals.
Upcomer lets users follow favorite players, teams, and events with live stats, fantasy leagues, community pages, and coverage from some of the best esports writers in your favorite games. The app keeps users up-to-date on all the biggest news and games in everything from League of Legends to Valorant, CS:GO, Call of Duty, and Overwatch.
- Match schedules
- Tournament brackets and standings
- Fantasy leagues
- Real-time match stats
- Video, breaking news, and in-depth feature stories
- Reminders and notifications
- Community discussions
Requirements & Solution
Legacy codebase handling.
Our client – Enthusiast Gaming, bought Upcomer project from the initial owner and development team. For PLANEKS team, it resulted in an investigation and audit of 10 active Github repositories and complex AWS infrastructure. The first milestone was full ownership of the codebase with adjustment for the needs of a new owner. PLANEKS faced a four-year-old project with no contact or support from the original dev team, which wasn’t a problem, and our team smoothly transitioned the project to the new owner with no loss.
Project bringing-up to date and further improvement.
The original development team started the project back in 2017. If you cannot imagine how the web development world has changed since that time, here are a couple of things that happened in 2017:
- Apple released iPhone X (2021: iPhone 12 and world is waiting on iPhone 13 or whatever it will be called)
- Tesla produced Tesla Model 3 (2021: Elon Musk rides Cybertrack) – Bitcoin broke $2.000 for the first time(2021: fall from 60k to 30k)
- Django released 1.11.29 (2021: PLANEKS actively using v 3.2.3)
To keep the project robust and ready for scaling, PLANEKS had to have all libraries updated as much as possible, refactor the codebase, and follow the best practices and approaches of the current year. And all that considering the mysteriousness level that code got during it has been developed by the previous dev – you know what I mean if you’re a developer and had to take care of someone’s else code after a while.
Optimization and refactoring of slow queries and endpoints.
Until PLANEKS obtained the project, performance wasn’t the focus of the original development team. As a result, we encountered endpoints that took 20+ seconds to respond to the request, far below the expectations. Using best optimization practices and tools like New Relic, we identified and troubleshot the bottlenecks. Outcomes of analysis and optimization positively affected user experience, while the heaviest request now takes 2-4 seconds, while an average response time is less than a second. Among the most popular solution for this challenge were: caching, data limitation, and pagination.
Handling complete infrastructure.
Clients often outsource different software development activities to various service providers. However, in this case, we were responsible for the complete setup. Upcomer’s “household” that PLANEKS has to take care of consists of the following:
- Behind the scene. It is written with Python, Django, Django Rest Framework, and the primary purpose is to provide access to the data for mobile applications and website. It is also used to gather data from the Abios, store the users’ comments, and pull the news from the RSS feeds.
- User-facing part. The original Upcomer’s front-end is written with React.js, TypeScrict, and Redux. This website shows the games’ statics, past and upcoming matches, tournaments.
- News management. Elasticsearch is integrated and contains all added news. For this integration, Upcomer has a separate app written with Flask. Elasticsearch indices being updated by the ETL procedures. The idea is to put the news in the Elasticsearch indices to quickly search for the news using the mobile apps or the web interface.
- Deployment. There are two types of deployment: Elastic beanstalk for the back-end and CircleCI for the front-end. Production deployment requires successful completion of static analyzer test.
- The project files are stored on the S3 bucket, and CloudFront is used to serve these static files.
The heavy part of Upcomer is supposed for user’s communication, which requires immediate moderation. So, for the needs, we have come up with the system to moderate users and comments:
- Implemented the mechanism of blocking the comments if they contain restricted words. Admins can easily modify the list in the admin panel.
- Implemented the mechanism of deactivating the user if the username contains the restricted word. Same as above – it could be easily managed from the admin panel.
- Implemented the mechanism of blocking the user if three comments were flagged as spam.
PLANEKS and Enthusiast Gaming got Upcomer more dead than alive. The project was stabilized, optimized, and refactored by joining forces, so it now aims at one million active users a month. Enthusiast Gaming decided to use Upcomer’s back-end and the data as the power for the new website that will be the most prominent new portal for esports fans!
How our services bring about success
The PLANEKS’ team comes to the table every week prepared with specific ideas on how to overcome the challenges at hand.
PLANEKS was ahead of schedule and built far more advanced than expected!
They meet their customer promises and communicate well.
PLANEKS made sure that everything goes smoothly.
Every deliverable has been finished on time and with great quality.
Agencies will accept any project for money, but PLANEKS did their due diligence to ensure that we would be successful.
Their project management was superb!
From a developer perspective, I was impressed by the extra mile the team went.
PLANEKS is very well organized, and they have a very professional way of working.
Job success rate
only by our clients
raised by our clients