Giving a tennis platform the real-time app its users were already trying to use in a browser

About the Client.
40Love is a UK sportstech startup bringing tennis players, coaches, and organisers onto one platform. The product launched as a mobile-first web application, and a large share of its users were already reaching it through phone browsers. The demand for a real mobile app did not come from a strategy document. It came from watching how the tennis community was already using the product.
40%
Improvement in user retention03
Months from kick-off to store release35%
Increase in tournament registrations



The decisions that shaped the product
01
The browser was the ceiling, not the design
The mobile web version worked, but live leaderboards, instant score updates, and push notifications were either restricted or impossible in a browser. Those are the features a tennis community actually wants during a tournament, which made a native app the only honest answer.
02
One codebase, two platforms
As an MVP going to players on whatever phone they already own, the app had to ship on iOS and Android together. Flutter gave a single codebase across both while keeping the interface responsive enough to feel native rather than wrapped.
03
Firebase, chosen for real time specifically
Scores changing during a match, leaderboards reordering, notifications arriving as they happen. Firebase with Firestore was selected because real-time data is the product's core behaviour rather than a feature bolted to the side of it.
04
Three roles, three flows
Players, organisers, and coaches came to the app for different things. Player flows centre on rankings and following tournaments, organiser flows on running matches and scores, coach flows on visibility and engagement, each reachable without walking through the others.
Our process that built a scalable solution
Starting from how the product was already used
Rather than designing an app from the brief, we analysed how users behaved on the mobile web version and found where browser interactions fell short, particularly around navigation, responsiveness, and real-time feedback. An existing user base is research that has already been paid for.
App store reviews as competitor research
We reviewed comparable sports and tournament apps and read their user reviews closely. Reviews tell you what a category's users complain about, which is more useful than what its products advertise, and it sharpened what 40Love needed to be as a mobile product.
Prototypes validated before any code
Clickable prototypes tested the three role-based flows before development started, so refinements happened while they were still cheap. On a cross-platform build, structural changes after development begins cost twice.
Tech stack
What we did
Underneath, Flutter carries one codebase across iOS and Android, and Firebase handles authentication, data, storage, and the real-time updates the product depends on. The architecture is cloud-native, which means updates ship quickly and the platform absorbs a growing user base rather than being rebuilt to accommodate one.

Result and impact

More significant than any single figure: 40Love moved from being a web product people used on their phones to a mobile-led platform. Scores update live, notifications reach players where they already are, and payments happen in the same place as the activity. That is the position the business needed before its next stage of growth, and it arrived as an MVP rather than a full build.
The mobile MVP already shows a lot of potential. It's fast, smooth, and simple to navigate, which makes it easy for members to use. Even at this early stage, the app delivers a clean design and a user-friendly flow, which makes me confident about how the full version will turn out.
Frequently asked questions
Should we build a mobile app or a mobile-friendly website?
It depends on what the product does. 40Love's mobile web version worked until live scores, leaderboard updates, and push notifications became the point, and none of those work properly in a browser. If your product does not need real-time behaviour or notifications, a responsive site is usually the better spend.
How do you handle real-time features like live scores?
By choosing the architecture around them rather than adding them afterwards. 40Love runs on Firebase with Firestore specifically because scores, leaderboards, and notifications updating live is the product's core behaviour.
Can you build a mobile app for a product we already have on the web?
Yes, and having a live web product makes it easier. We analysed how 40Love's users were already behaving on mobile web, which told us what the app had to fix before we designed anything.
How much does a mobile app MVP cost in the UK?
Cost follows the number of user roles, whether real-time features and payments are involved, and how much of the product is already defined. Every project is quoted with fixed scope and price in writing before work starts.
Do you build for iOS and Android separately?
Not usually. 40Love's app was built in Flutter, so one codebase covers both platforms and both ship together. Separate native builds are worth it when a product leans heavily on platform-specific capability, and we will say so when that is the case.
Can you take in-app payments?
Yes. 40Love takes tournament fees through Stripe inside the app. Payment flows need designing as carefully as anything else, because it is the point where people abandon most readily.
What happens after the MVP is in the stores?
Most clients continue with us into iteration, adding the features the MVP deliberately left out. The architecture is built for that, so the next phase adds rather than replaces.
Got an app idea that needs building properly?

Tharsh Thangavadivel
Founder, Exline LabsTell us what you are building. We will scope it and give you an honest view of the right approach and what it will cost.

40Love club management MVP
We also built the 40Love web platform, which secured the client's first investment round. See that case study.
Read the case study →