Return to site

🏃♂️☕ How a CONNECTED HEALTH APP really works: DEVICE → API → BACKEND

Your fitness app rarely talks directly to every wearable. ⌚➡️☁️

November 6, 2026

TL;DR: A connected health app usually relies on an integration platform such as Spike to normalize data coming from Garmin, Strava, Polar, Fitbit and others, then exposes that data to your backend through APIs and webhooks.

🔸 WHAT IS A CONNECTED HEALTH APP?

A connected health/sport app consumes data produced by external devices or platforms:

▪️ Steps

▪️ Cycling/running distance

▪️ Heart rate ❤️

▪️ Calories

▪️ Sleep

▪️ Workouts

▪️ Weight and other health metrics

The challenge?

Every provider has its own APIs, authentication, schemas, units and synchronization model.

Supporting Garmin + Strava + Polar + Fitbit yourself quickly becomes an integration project of its own.

🔸 WHY USE A PLATFORM LIKE SPIKE?

Instead of implementing:

Your App → Garmin

Your App → Strava

Your App → Polar

Your App → Fitbit

You can build:

Garmin ─┐

Strava ─┤

Polar ──┼→ Spike API → Your Backend

Fitbit ─┘

Spike acts as an abstraction and normalization layer.

Your application can work with concepts such as:

▪️ steps

▪️ distance

▪️ distance_cycling

▪️ heartrate

▪️ activity_type

without understanding every provider-specific payload.

🔸 HOW THE DATA FLOWS

A typical integration looks like this:

1️⃣ Theuser connects a provider

Your application starts an OAuth/integration flow with Garmin, Strava, etc.

2️⃣ The integration platform connects to the provider

The provider authorizes access to the user's permitted health data.

3️⃣ The provider synchronizes data

The wearable sends data to its ecosystem.

Example:

Forerunner → Garmin → Integration Platform

4️⃣ The platform continuously INGESTS and NORMALIZES data

An activity may become a normalized record such as:

activity_type = cycling

distance_cycling = 13036.69

5️⃣ A WEBHOOK notifies your backend

Instead of constantly polling:

"Do you have new data?"

the platform can tell your system:

"New data is available."

6️⃣ Your backend queries the API

For example:

GET /provider_records

or a statistical query such as:

distance_cycling by day

7️⃣ Your application applies BUSINESS RULES

The normalized health data can finally become:

▪️ Challenge points

▪️ Rankings

▪️ Progress dashboards

▪️ Rewards

▪️ Corporate wellness statistics

🔸 WHERE DOES JAVA FIT? ☕

Java is perfectly suited for the backend side.

A typical stack could be:

▪️ Spring Boot for the API

▪️ Spring WebClient for external API calls

▪️ OAuth 2.0 / JWT for authentication 🔐

▪️ REST + JSON for data exchange

▪️ Webhooks for asynchronous notifications

▪️ Kafka for event-driven processing at scale

▪️ PostgreSQL for normalized business data

▪️ Redis for caching

▪️ Resilience4j for retries and circuit breakers

▪️ OpenTelemetry/Micrometer for observability

🔸 THE HARD PART IS NOT THE HTTP CALL

The difficult engineering problems are usually around:

▪️ Eventual consistency

▪️ Duplicate activities

▪️ Retries and idempotency

▪️ Time zones

▪️ Unit conversion

▪️ Device vs manual input

▪️ Provider-specific delays

▪️ Data provenance

▪️ Privacy and consent

▪️ Mapping technical metrics to business rules

A 200 OK only means the API call succeeded.

It does NOT necessarily mean the metric you expected was actually available.

That distinction is crucial when debugging connected applications.

🔸 TAKEAWAYS

▪️ Wearables are usually only the first layer of the architecture.

▪️ Aggregators reduce provider-specific complexity dramatically.

▪️ Webhooks + APIs create an asynchronous synchronization pipeline.

▪️ Java/Spring fits naturally on the backend side.

▪️ Observability is essential: you need to know where data disappears.

▪️ In connected systems, "the device has the data" does not mean "the app has the data."

#Java #SpringBoot #API #Wearables #HealthTech #FitnessTech #Architecture #Backend #RESTAPI #OAuth2 #Kafka #SoftwareArchitecture #Developer

Go further with Java certification:

Java👇

Spring👇

SpringBook👇

JavaFullstackBook👇