Webbapp som hämtar kroppsmätningar och aktivitetsdata från Garmin Connect API och visualiserar trender över tid — vikt, kroppsfett, muskelmassa och VO2max. Byggd för att ersätta Garmins egna grafer som saknar historik och trendanalys.
Infrastrukturen är helt kodad i Bicep och driftsätts via GitHub Actions: Azure App Service på Linux-plan med Python 3.11, Azure Blob Storage för användardata (JSON per användare), Azure Key Vault för secrets med Managed Identity, och Azure Easy Auth för Google OAuth-inloggning utan en enda rad autentiseringskod i applikationen.
Projektet är ett experiment i AI-assisterad vibe-kodning — arkitektur, Bicep-mallar, API-integration och Streamlit-UI togs fram i dialog med Claude Code.
Tech stack
Python / StreamlitFastAPIAzure App Service (Linux, Python 3.11)Azure Blob StorageAzure Key VaultAzure Easy Auth (Google OAuth)Bicep (IaC)GitHub ActionsGarmin Connect API