One normalization layer · no vendor lock-in
Data Connections
Click any source to walk through exactly what is needed to turn on its API connection.
Athlete device onboarding
Oura and Polar never hand over a player's password — each athlete approves access on the provider's own sign-in screen, and the app stores only the resulting authorization. So instead of a password form, send each player their personal link below. It opens a signup screen with their roster spot already selected, then walks them straight into the Oura approval step.
The dots show where each athlete stands: green = authorized and data stored, amber = authorized but nothing synced yet, red = not authorized.
#0 Jordan Butler
/auth?mode=signup&athlete=jordan-butler
#1 Cameron Elwer
/auth?mode=signup&athlete=cameron-elwer

#2 Abijah Franklin
/auth?mode=signup&athlete=abijah-franklin

#3 Jaxson Bell
/auth?mode=signup&athlete=jaxson-bell

#5 Cole Bowser
/auth?mode=signup&athlete=cole-bowser
#6 Nate Wilbourne
/auth?mode=signup&athlete=nate-wilbourne

#7 Mason Smith
/auth?mode=signup&athlete=mason-smith

#8 Collin O'Neal
/auth?mode=signup&athlete=collin-o-neal
#10 Luka Toews
/auth?mode=signup&athlete=luka-toews

#11 Gunnar Lewis
/auth?mode=signup&athlete=gunnar-lewis
#12 Jerrin Samuel
/auth?mode=signup&athlete=jerrin-samuel

#15 Owen Ritger
/auth?mode=signup&athlete=owen-ritger
#23 Marcus Kell
/auth?mode=signup&athlete=marcus-kell
#35 Nikos Koulisianis
/auth?mode=signup&athlete=nikos-koulisianis
#19 Tom House
/auth?mode=signup&athlete=tom-house
#87 Charles Johnston
/auth?mode=signup&athlete=charles-johnston

#77 Davis Molnar
/auth?mode=signup&athlete=davis-molnar
Architected Next
Provider credentials and OAuth tokens are stored server-side and never exposed to the browser. No core logic depends on a single manufacturer — every source normalizes to athlete / date / session / metric / value / unit.
