I feel the best way to prepare for the interview is to re-create as much of the Strava backend as I can.
STAGE 2: Creating a server, and service to handle CRUD of athelete activity data. Processing of data and storing the basic metrics.
STAGE 3: Creating a club leader board service. Assuming every athlete in the club is in the same club.
STAGE 4: Creating a segment leader board service. I will also attempt to code the entire local legend service as part of this to test myself more. This state is going to be the hardest.
Other changes if time permits: Scalibility, dockerise it, connect it to my already existing micro frontend, create a load balancer, create an activtity feed service - we already have this code mainly filtering from the other mock strava project..
The following is the design I am implementing. Co-incidently, it is highly inspired from Mike Kasberg's design, on one of the Strava engineering medium blogs.