A few years ago I made an app that calculates your Eddington Numbers from your Strava activities. If you are unfamiliar with Eddington Numbers, I have done my best at explaining it on the app, but it is admittedly confusing to explain. Wikipedia defines it as “the maximum number E such that the cyclist has cycled at least E miles on at least E days.”
My app calculates the Eddington Number for each Strava activity type. So you can have a Run Eddington Number, a Ride Eddington Number, and so on.
These are my Eddington Numbers. Log in with your Strava to calculate yours. Make your page public to share with others!
To allow athletes to share their page required a few refactors:
- Previously, the home page of the app was the logged-in athlete’s page. You logged in, you saw your numbers. Sharing that URL with someone else prompted them to log in to see their own numbers. Now each athlete has a unique URL.
- Athlete accounts can now be set to Public or Private. The default is Private. It needs to be Public for someone else to be able to view it.
- The way data was loaded in the request pipeline needed to change to allow for the logged-in athlete to be different from the requested athlete page.
- With additional pages, the app required additional UI. There’s now a minimal navigation bar at the top, with either a link to log in for a non-logged-in user, or links to the logged-in-user’s page and settings.
- An action to toggle Public/Private added to the Settings view.
- Additionally, there's language on the logged-in athlete’s own Numbers page to indicate if their page is public or private.
- BONUS! For browsers that support the Web Share API, a logged-in athlete sees a “Share” button on their own Numbers Page.