Inspiration
I play a lot of tennis. I've played 184 competitive matches since I started playing in the leagues in 2019. Between January 2024 and June 2025, I played 94 matches! And then I ruined my shoulder 😢
I've recently had shoulder surgery and currently going through rehab 💪Since I can't play tennis, it made think. What can I do to prevent this? I've wanted a proper way of tracking my progress - I had used some poorly designed apps (which aren't free anymore) and more recently Google Sheets. But I needed something better.
Goal
Since I was doing this as part of Bolt's hackathon, one of the goals was to build a beautiful production grade application - this means a separate codebase for the website, backend and the mobile app; and to do it under 20 million tokens! More on this below.
What it does
TennisPros is app designed for recreational players to track their matches. It's designed to be free for basic match tracking. The plan:
Phase 1
- match tracking
- simple stats
- achievement badges (coming soon)
Phase 2
- sync with local leagues - in London alone there at least 3 different leagues, each with their own league tables. TennisPros will sync these leagues into a single app to make it even easier to keep track of your progress
- integration with MyFitnessPal and fitness trackers to help you understand how your performance is affected by food, recovery and physical exertion - paid feature
Phase 3
- coach mode - allow coaches to sign up and view the progress of their students - potentially paid feature.
- friendly play - find fellow players all over the world. As digital nomad, I've travelled with my tennis racket and depending on where in the world I am, sometimes it's difficult to find fellow tennis players
Production Quality Product
You might have heard the general misconception that Bolt and other browser based code editors are good for MVPs only and furthermore, it's assumed that they can't do backend. My goal here was to prove this wrong. I wanted to build a production grade with separation of concerns:
- a nestjs backend hosted on AWS
- single page website promoting the app (React/Vite) running on AWS Amplify
- Expo (React Native) mobile - this was absolutely beautiful. I gave Bolt an overall feature document and asked it to implement it using mock data only. As and when my API was ready, I configured the Expo app to talk to my API directly and build each and every component
My second goal was to build all of the above using 20 million tokens only. It cost me slightly more - 23 million tokens, roughly $43 ($23 after the promo code from Bolt). This is amazingly low cost to build a scalable mobile app within 50-60 hours!
Note: I'm currently awaiting the app stores to approve the app. In the meanwhile, you can try out the app here: https://tennispros.s3.eu-west-2.amazonaws.com/tennispros-v1.1.0-prod.apk
Built With
- amazon-web-services
- expo.io
- nestjs
- react-native
- serverless
- typescript
Log in or sign up for Devpost to join the conversation.