
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.
250+
Players on the platform03
Months from kick-off to store release35%
Increase in tournament registrations



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.
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.
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.
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.
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.
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.
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.


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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

Tell us what you are building. We will scope it and give you an honest view of the right approach and what it will cost.

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