Come raccogliere dati da Garmin, Apple Health e Whoop in un unico posto senza mal di testa
Immagina questo: hai deciso di creare un fitness tracker o un'app di biohacking. E poi inizia il "divertimento". Per integrare il tuo servizio con Garmin, devi attraversare sette gironi dell'inferno con la loro API. Per Apple Health, dovrai scrivere codice nativo per iOS. Per Google Health Connect — per Android. Alla fine, invece di costruire funzionalità interessanti, passi sei mesi a gestire autorizzazioni OAuth, formati JSON diversi e conversioni da miglia a chilometri.
Il progetto Open Wearables sta cercando di risolvere questo problema in modo radicale. Il team sta costruendo una piattaforma open-source che gestisce tutto il lavoro di integrazione complicato con i wearable. Ottieni una singola API unificata, mentre tutta la complessità dei vendor rimane dietro le quinte.
Perché Questo Quando Ci Sono SDK Già Pronti
Di solito gli sviluppatori scelgono tra due percorsi: costruire le integrazioni da soli o pagare aggregatori cloud come Terra o Rook. La prima opzione è lenta e costosa da mantenere. La seconda significa dipendenza da un servizio esterno e bollette mensili per utente.
Open Wearables offre una terza via: una soluzione self-hosted. Esegui la piattaforma sul tuo server, i dati restano con te e non paghi nessuna tariffa. Inoltre, il progetto non si limita a passare i dati — li normalizza a uno standard unificato. Non importa se la frequenza cardiaca arriva da orologi Suunto o da un anello Oura — nel tuo backend avrà un aspetto identico.
Cosa Può Fare la Piattaforma Ora
Il progetto è in fase iniziale, ma lo scheletro di base è già piuttosto funzionale. Ecco cosa puoi provare subito:
- Dashboard sviluppatore unificata. Dopo il lancio tramite Docker, ottieni un pannello di amministrazione dove puoi gestire utenti, generare chiavi API e monitorare lo stato di sincronizzazione dei dati.
- Flussi di autorizzazione già pronti. La piattaforma gestisce il balletto OAuth con Garmin, Polar e Suunto. Devi solo generare un link per l'utente, loro effettuano il login con il loro provider e i dati iniziano a fluire nel tuo database.
- SDK mobile. Per chi lavora con i dati direttamente sul telefono, ci sono librerie native per iOS (Swift), Android (Kotlin) e persino un wrapper Flutter. Questo è fondamentale per Apple Health, i cui dati non possono essere recuperati semplicemente tramite una richiesta cloud.
- Sincronizzazione in background. Questa è gestita da FastAPI e Celery. Il sistema esegue automaticamente il polling dei provider e aggiorna le metriche di attività e allenamento.
Stack Tecnologico e Architettura
Gli sviluppatori non hanno reinventato la ruota e hanno costruito il progetto su strumenti collaudati. Il backend è scritto in FastAPI — lo standard per i servizi Python moderni, veloce e con un'ottima auto-documentazione Swagger (disponibile subito dopo il lancio).
PostgreSQL viene utilizzato per l'archiviazione dei dati e Redis per le code di attività e la cache. Il frontend del pannello di amministrazione è costruito con React usando TanStack Router. Un punto interessante: gli autori sottolineano che la piattaforma è progettata come single-tenant. Questo significa che un'istanza serve una sola organizzazione. Nessuna complessità extra con la separazione dei diritti di accesso tra diverse aziende all'interno di un singolo database.
Funzionalità AI: Piani Futuri
La cosa più interessante sulla roadmap è Health Insights. Gli sviluppatori pianificano di aggiungere un livello di automazione basato sul linguaggio naturale. L'idea è che puoi scrivere una condizione in testo: "Se la frequenza cardiaca a riposo di un utente è aumentata del 20% in tre giorni, invia un webhook." Il sistema interpreterà autonomamente questa condizione e configurerà il trigger.
Promettono anche un AI Health Assistant — un widget di chat che puoi incorporare nella tua app. L'utente potrà chiedere: "Come ho dormito questa settimana rispetto alla scorsa?", e l'AI analizzerà i dati accumulati dal database di Open Wearables.
Come Lanciare e Testare
Se hai Docker installato, puoi far partire il progetto in letteralmente un paio di minuti. Le istruzioni sono semplici:
- Clona il repository:
git clone https://github.com/the-momentum/open-wearables.git cd open-wearables - Copia le configurazioni di esempio:
cp ./backend/config/.env.example ./backend/config/.env cp ./frontend/.env.example ./frontend/.env - Avvialo:
docker compose up -d
Dopo di che, il portale si apre sulla porta 3000 e l'API sulla 8000. Per evitare di cercare dispositivi reali per i test, puoi eseguire il comando make seed, che popolerà il database con utenti e allenamenti finti.
Chi Dovrebbe Dare Un'Occhiata a Questo Progetto
Open Wearables è una scoperta fantastica per le startup Health & Fitness. Se stai costruendo un portale di benessere aziendale, un'app di coaching o un progetto di ricerca che ha bisogno di raccogliere dati da dispositivi diversi, questo ti farà risparmiare centinaia di ore di sviluppo.
Naturalmente, il progetto è ancora giovane (versione pre-1.0) e l'API potrebbe cambiare. Ma il codice open source e la capacità di self-hosting superano questi rischi. Se non vuoi consegnare i dati medici riservati degli utenti a servizi proprietari di terze parti, questo strumento è probabilmente la cosa migliore attualmente disponibile in open source per tali compiti.
A proposito, il team ha una community Discord attiva dove puoi chattare direttamente con i manutentori. Se decidi di implementarlo — dai un'occhiata, rispondono piuttosto rapidamente.
Progetti correlati