Case study · 1.0

TheVR

TheVR 1.0: we built it live, with the community.

An app for 3 million followers that TheVR's viewers watched come to life, live on Twitch. On launch morning ~10,000 people opened it at the same time, and that same day it became the #1 free app in both stores.

Platform
Native iOS and Android
Development
Live, on Twitch
UI/UX
Soma Szoboszlai
Infrastructure
With the SysCops team
Screens from TheVR 1.0: the schedule with Happy Hour streams, the inventory with coupon codes and a prize draw, and the news feed with a live stream indicator.
  • 3M+followers across TheVR's channels
  • ~10,000concurrent users on launch morning, without a hitch
  • #1free app on the App Store and Google Play on launch day
  • 5★rating from thousands of reviews in both stores

The idea

We've known each other for ten years. It started on a live stream.

We met Jani and Pisti back at startup events in Debrecen. Even then they were demoing VR headsets at a meetup before anyone owned one, while we were building apps and giving talks about the challenges of development.

During a live stream, Jani mentioned they were thinking about an app of their own. We said we'd be happy to help, and at the first meeting we asked them to tell us what they needed, and why.

The goal

A reliable, simple tool for existing fans.

  • They didn't expect new viewers or revenue from the app, but a better way to serve their existing community
  • Everything fans need day to day, in one place
  • Most things update automatically, so the team doesn't have yet another platform to manage

Planning

It could have had countless features. We looked for the lovable ones.

Plenty of things could be useful to a team with a following this size, but they needed a simple system that automates most things. So we deliberately narrowed the scope.

  1. We understood the why

    At the first meeting we didn't start with a feature list, but with what the project was for and why they needed it.

  2. Specification and scope

    We wrote a requirements specification: we came up with new features and dropped earlier ideas, so the app would stay simple and lovable.

  3. Clickable prototype

    Alongside the specification we built a prototype, so the guys could see what they would get before development began.

  4. Options, not questions

    We knew they were always busy with their work, so we came with proposals ready for a decision, not questions that add uncertainty.

“In a process like this, a proactive approach counts for a lot. We try to push it to the max on every project, and it's what our clients like most about us.”
The CodeYard team

The final feature set

Five tabs, all about TheVR.

Soma Szoboszlai turned the prototype into a UI/UX that our developers could work with easily, and that fitted the TheVR brand 100%.

Design: Soma Szoboszlai

An interface built on the prototype and tailored to TheVR's brand identity.

  • News

    The team's posts from various social media platforms in one place.

  • Schedule

    Upcoming streams in calendar form, so no show gets missed.

  • Shop

    The products available in the online shop, grouped into collections.

  • Inventory

    Coupon codes from partnerships, and the home of the prize draws too.

  • Notifications

    Not just about new content: the team can message its followers directly, something no other platform gives them.

Live development

We fell in love with the project, so we built it in public.

We were impressed by the spirit behind it all, so we offered to build it as a community project, live on Twitch, with TheVR's viewers involved. The viewers were very active: we got loads of ideas and feedback during development itself.

Appetite comes
with eating: the app took
shape along the way.

The biggest challenge

Uneven, spiky load.

Websites mentioned during Happy Hour regularly went down under thousands of simultaneous visitors. We didn't want that to happen to us, so we sized the system to stay smooth even if every TheVR follower heard about the app at almost the same moment. The SysCops team, with whom we had already worked on several projects, helped with scaling.

  • a few hundredconcurrent users in an average hour
  • thousandsopen the app at once after a notification about a new video or post
  • 100,000sof near-simultaneous visitors is what we prepared for at launch
  • AWS, with microservices

    The servers run in Amazon's cloud on Kubernetes and Docker, scaling dynamically with the load.

  • Deliberate caching

    We knew at the design stage which data had to be cached. A Redis server helps with that.

  • MongoDB

    A robust, highly scalable database: the obvious choice for this kind of load.

  • Real-time notifications

    With this many users, even sending push notifications isn't trivial. It wasn't our first project like this, so we went in with experience.

  • Native iOS and Android

    Ten years of native mobile development experience, following every change in the platforms.

  • Cost-efficient scaling

    The infrastructure only grows when it needs to, so the budget goes on real usage, not idle capacity.

The launch

It launched live on air, and handled the rush.

We scheduled the launch for a morning Happy Hour: the Android and iOS apps went live during the stream. Thanks to careful planning and experience, the system served ~10,000 concurrent users without any trouble.

We received loads of feedback, thanks and congratulations. In the stores, users gave it 5★ across thousands of reviews. The credit naturally goes to the community, but it felt good to be part of it.

Launch day

#1

among free apps in Hungary, on both the App Store and Google Play.

App Store Google Play

Ahead of, among others, SkyShowtime, which launched that day with a major campaign:

  • BudapestGO
  • MySpar
  • Vinted
  • SkyShowtime

What came next

The lessons of 1.0 gave rise to 2.0: a new home screen, a shop and redesigned notifications.

The TheVR 2.0 case study

Contact

Got a business problem you'd solve with software?

Let's talk. We'll help you see the options and find the solution that fits you best.

  • Free consultation
  • Quick response
  • Straight, expert answers

Or write to us directly: business@codeyard.eu

Széchenyi Plan Plus beneficiary information block: the project is co-financed by the Government of Hungary and the European Union

We value your privacy

We use cookies to enhance your browsing experience, serve personalised ads or content, and analyse our traffic. By clicking "Accept all", you consent to our use of cookies. Privacy policy.

Customise consent preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

Necessary

Necessary cookies are required to enable the basic features of this site. These cookies do not store any personally identifiable data.

Cookie
cy-consent
Duration
1 year
Description
Stores your cookie consent choices so we don't ask again on every page.
Always active
Functional

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytics

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Cookie
_ga
Duration
2 years
Description
Google Analytics: distinguishes visitors with a random identifier to count visits and sessions.
Cookie
_ga_N6NF10ND4V
Duration
2 years
Description
Google Analytics: stores the session state for this website.
Performance

Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement

Advertisement cookies are used to provide visitors with customised advertisements based on the pages they visited previously and to analyse the effectiveness of ad campaigns.

Cookie
_gcl_au
Duration
3 months
Description
Google Ads: links a visit to the ad click so we can measure which ads lead to enquiries.
Cookie
cy_gclid
Duration
90 days
Description
Local storage: the Google Ads click ID of the ad that brought you here, sent along with a contact form message so we can tell which ad led to the enquiry.