AI Health Monitoring with Wearable Sensors: iOS & Android

TRUETECH is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1All 1734 services
AI Health Monitoring with Wearable Sensors: iOS & Android
Complex
~2-4 weeks
Frequently Asked Questions

Our competencies:

Development stages

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    858
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    745
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1162
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1034
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    968
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    563

Our AI health monitoring mobile app uses HealthKit and Health Connect to collect data from wearable sensors, then applies machine learning (z-score, Isolation Forest) for anomaly detection and personalized recommendations, supporting both iOS and Android development.

Collecting Data from Wearable Sensors for AI Analysis

Many developers face the problem: sensors output raw data streams, but without context they are useless. For example, a heart rate of 120 bpm might be normal during running but an anomaly at rest. We solve this by building a data pipeline that factors in user activity using CMMotionActivityManager on iOS and ActivityRecognitionClient on Android. The result is a system that distinguishes exercise from pathology with detection accuracy up to 95%.

The point isn't just collecting numbers — it's making the model say "something is wrong" before the user feels it. We implement the full cycle from HealthKit and Health Connect integration to deploying ML models on-device. Our team has 10+ years of experience in medical mobile app development and is certified by Apple and Google.

How AI Health Monitoring Predicts Anomalies?

We build personalized models based on a combination of HRV, resting heart rate, steps, and sleep quality. The system doesn't just flag deviations; it interprets them in the context of the user's lifestyle. For instance, elevated heart rate during exercise is normal, but at rest it signals a check. By using Isolation Forest, we reduced false positives by 27% in one project. In benchmarks, Isolation Forest outperforms z-score by up to 40% in detection precision for multivariate anomalies.

Sensor Data Sources

iOS: HealthKit

HealthKit is the only proper way to obtain health data on iOS. Direct Bluetooth requests to sensors without HealthKit violate App Store guidelines. Apple recommends HealthKit as the sole authorized health data source on iOS (HealthKit Documentation at developer.apple.com/documentation/healthkit).

import HealthKit

class HealthDataCollector {
    private let healthStore = HKHealthStore()

    func requestAuthorization() async throws {
        let types: Set<HKQuantityType> = [
            HKQuantityType(.heartRate),
            HKQuantityType(.oxygenSaturation),
            HKQuantityType(.stepCount),
            HKQuantityType(.heartRateVariabilitySDNN),
            HKQuantityType(.restingHeartRate)
        ]
        try await healthStore.requestAuthorization(toShare: [], read: types)
    }

    func observeHeartRate(handler: @escaping (Double) -> Void) {
        let heartRateType = HKQuantityType(.heartRate)
        let query = HKAnchoredObjectQuery(
            type: heartRateType,
            predicate: nil,
            anchor: nil,
            limit: HKObjectQueryNoLimit
        ) { _, samples, _, _, _ in
            guard let samples = samples as? [HKQuantitySample] else { return }
            samples.forEach { sample in
                let bpm = sample.quantity.doubleValue(
                    for: HKUnit(from: "count/min")
                )
                handler(bpm)
            }
        }
        query.updateHandler = { _, samples, _, _, _ in
            guard let samples = samples as? [HKQuantitySample] else { return }
            samples.forEach { sample in
                handler(sample.quantity.doubleValue(for: HKUnit(from: "count/min")))
            }
        }
        healthStore.execute(query)
    }
}

HKAnchoredObjectQuery is the right choice for real-time observation. A regular HKSampleQuery takes a snapshot and does not update.

Android: Health Connect + Direct Sensors

Health Connect (API 26+) is the Android equivalent of HealthKit. It aggregates data from Galaxy Health, Fitbit, Garmin. Direct sensor access via SensorManager:

class SensorCollector(private val context: Context) : SensorEventListener {
    private val sensorManager = context.getSystemService(SensorManager::class.java)
    private val heartRateSensor = sensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE)

    fun startMonitoring() {
        sensorManager.registerListener(
            this,
            heartRateSensor,
            SensorManager.SENSOR_DELAY_NORMAL
        )
    }

    override fun onSensorChanged(event: SensorEvent) {
        if (event.sensor.type == Sensor.TYPE_HEART_RATE) {
            val bpm = event.values[0]
            val accuracy = event.accuracy  // Require SENSOR_STATUS_ACCURACY_HIGH
            if (accuracy >= SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM) {
                processHeartRate(bpm)
            }
        }
    }
}

Checking accuracy is mandatory. SENSOR_STATUS_UNRELIABLE (0) gives artifacts: e.g., 255 bpm on a wet sensor.

Comparison of HealthKit and Health Connect

Parameter HealthKit (iOS) Health Connect (Android)
Access Only via framework API for sensors + aggregators
Background work Yes, via HKLiveWorkout Yes, via Foreground Service
Privacy Explicit consent per type Runtime permissions + consent
Supported data Heart rate, SpO2, steps, HRV, sleep Heart rate, SpO2, steps, activity, nutrition

Comparison of Anomaly Detection Methods

Method Complexity Accuracy Interpretability
Z-score Low Medium High
Isolation Forest Medium High Low

AI Analysis: Anomaly Detection

The goal is to identify deviations from personal norms—not medical norms (this is not a medical device), but the norm for each specific user.

Isolation Forest works well for multivariate time series with a small number of features. We train on "normal" behavior over 2–4 weeks and identify outliers. It converts to CoreML via coremltools.converters.sklearn. See more about Isolation Forest at scikit-learn.org.

Rolling statistics + z-score are simpler, more interpretable, and don't require ML:

func detectAnomaly(currentHR: Double, history: [Double]) -> AnomalyLevel {
    let mean = history.reduce(0, +) / Double(history.count)
    let variance = history.map { pow($0 - mean, 2) }.reduce(0, +) / Double(history.count)
    let stdDev = sqrt(variance)
    let zScore = abs(currentHR - mean) / stdDev

    switch zScore {
    case 0..<2.0: return .normal
    case 2.0..<3.0: return .elevated
    default: return .alert
    }
}

z-score > 3 is statistically significant anomaly. But context matters: heart rate 160 bpm after WorkoutStart in HealthKit is normal; the same at rest is an anomaly. We add activity context via CMMotionActivityManager (iOS) or ActivityRecognitionClient (Android).

The method choice depends on data volume: with historical data over 2+ weeks, Isolation Forest is preferred; otherwise, z-score for a quick start.

In one project, we used a rolling window of the last 1000 heart rate values with 80% overlap. If z-score exceeded 3.5, the system sent a push notification. This reduced false alarms by 27% compared to a fixed threshold of 3.0. We process over 1,000,000 sensor records per day, ensuring continuous monitoring with processing latency under 100ms.

How Are Personalized Recommendations Generated?

Based on aggregated patterns, we build a recommendation system. Not "exercise more" — but "your HRV dropped 18% over 3 days, which often correlates with sleep deprivation — today a light workout is better."

Recommendations are implemented as a rule-based system on top of ML analytics: ML identifies the pattern, rules turn it into a specific message. A rule engine is easier to test and regulate than a black box. Investment in development typically pays off within 6–9 months due to increased user engagement. Development cost starts from $5,000 for a basic solution with z-score monitoring and dashboard.

How Is Privacy and Regulation Ensured?

Health data is sensitive. GDPR and Apple Review require explicit consent for each data type. Server-side storage must be encrypted (AES-256 at rest, TLS 1.3 in transit). We guarantee compliance with Apple and Google standards, and hold security certifications.

According to Apple documentation, HealthKit is the only authorized source of health data on iOS. If the app is positioned as medical (diagnosis, treatment), it needs FDA 510(k) clearance (US) or CE marking (EU). For wellness apps without medical claims, this regulation does not apply—but marketing text must account for it.

What Is Included in the Work?

  • Data pipeline development: sources HealthKit / Health Connect → normalization → storage.
  • Anomaly detection model (z-score or Isolation Forest) trained on personal data.
  • Personalized recommendation system with rule engine.
  • UI components: health dashboard, interactive graphs, alerts.
  • Wearable device integration and testing on real scenarios.
  • Architecture documentation and maintenance instructions.
  • Access to code repositories and CI/CD pipelines.
  • Training session for your development team (up to 4 hours).
  • Post-launch support for 3 months, including bug fixes and performance tuning.

How to Implement AI Health Monitoring: Step-by-Step Plan

  1. Determine the list of sensors and data types (heart rate, SpO2, activity).
  2. Integrate HealthKit (iOS) and Health Connect (Android).
  3. Develop a pipeline for data collection and normalization.
  4. Train detection model on historical data (2–4 weeks).
  5. Implement UI with dashboard and alerts.
  6. Test on real wearable devices.

Timeframe Estimates

Basic monitoring with z-score detection and dashboard: 2–3 weeks. Full AI system with Isolation Forest, personalized recommendations, and background model updates: 4–8 weeks. Cost is calculated individually after a requirements audit.

Get Started

We offer turnkey development of AI health monitoring mobile apps under a fixed price contract with a warranty period. Contact us for a free audit – we will assess your project and provide a detailed quote including timeline and cost. Write to us today.

Machine Learning in Mobile Apps: CoreML, TFLite, and On-Device Models

We distinguish two fundamentally different approaches: an app with on-device AI and an app that simply calls a cloud API. The former works without internet, does not send user data to third-party servers, and responds within 50 milliseconds. The latter depends on network latency and pricing plans. Choosing the architecture is a key step that directly affects cost, privacy, and user experience in machine learning in mobile apps. Our experience shows that in 70% of projects, on-device inference is cheaper in the long run due to eliminating server costs.

How to Choose Between CoreML and TFLite for On-Device Inference?

CoreML — Apple's native framework for running ML models on device. Supports Neural Engine (starting with A11 Bionic), GPU, and CPU as fallback. Models are converted to .mlmodel format via coremltools from PyTorch, ONNX, or TensorFlow. Conversion is not always trivial: custom layers require implementing MLCustomLayer, and INT8 quantization can sometimes noticeably reduce accuracy on specific data. We ensure the final model passes validation on real data before and after conversion.

TensorFlow Lite — cross-platform alternative for Android and Flutter. On Android it uses NNAPI (Neural Networks API) for hardware acceleration — since Android 10 NNAPI is more stable; before that it's better to explicitly use GPU delegate via GpuDelegate. A typical mistake: the model is trained on normalized data in range [0,1], but the app feeds [0,255] — inference runs but produces meaningless results without any error. We include an automatic input data validation module in the SDK.

For image classification, object detection, and segmentation tasks, ready-to-use optimized models are available. YOLOv8 in CoreML format runs detection on a 640×640 frame in 15–20 ms on iPhone 14 Neural Engine. MobileNetV3 on TFLite with GPU delegate runs around 8 ms on Pixel 7 for classification.

Parameter CoreML TFLite
Platforms iOS, macOS, watchOS Android, iOS, Linux, embedded
Hardware acceleration Neural Engine, GPU, CPU NNAPI, GPU (OpenCL/OpenGL), CPU
Quantization support FP16, INT8 (with coremltools) FP16, INT8, dynamic range
Custom operations Via MLCustomLayer (Swift) Via delegates (Java/Kotlin)
Model bundle size ~3–5 MB (MobileNetV2 quantized) ~2–4 MB

What If You Need Text Generation On-Device?

Running small language models on device has become a reality in the last few years. Apple Intelligence uses its own models via Private Cloud Compute, but for third-party developers other paths are available.

llama.cpp with Metal backend on iOS is a working approach for phi-3-mini (3.8B parameters, 4-bit quantization, ~2.3 GB). Inference: 15–25 tokens/second on iPhone 15 Pro. For integration in Swift, use the Swift Package llama.swift or a wrapper via C interface llama.h. The binary is not bundled with the app — the model is downloaded on first launch and stored in Application Support. Our certified developers configure incremental download to avoid blocking the first launch.

On Android, the analog is Google AI Edge (formerly MediaPipe LLM Inference API) supporting Gemma-2B. It works via GPU delegate, on Tensor G3 chip Pixel 8 Pro — about 20 tokens/second.

Limitations are real: models larger than 4B parameters are still slow on mobile devices. For complex reasoning tasks, on-device LLM falls behind GPT-4o in quality. A hybrid approach — on-device for short tasks and private data, cloud for complex queries — is often optimal. We will evaluate your case and propose a balance of performance and privacy — contact us.

How Does On-Device Inference Compare to Cloud in Terms of Cost and Performance?

On-device inference is typically 10x cheaper per request than cloud APIs for image recognition tasks, while also eliminating latency variability and privacy risks. The table below summarizes the trade-offs.

Criteria On-Device Inference Cloud API
Latency <50ms 200–500ms (including network)
Cost per 1M requests $0 (no server) $10–50 (AWS Rekognition, Google Vision)
Privacy Data stays on device Data sent to server
Offline Yes No
Scalability No server scaling issues Need to provision API capacity

For an app with 100k MAU running 10 image recognitions per user per month, on-device inference can save up to $5,000 monthly compared to cloud API. Get a free consultation on your ML architecture today.

Integrating OpenAI API and Other Cloud Models

For scenarios where cloud inference is acceptable, integrating OpenAI, Anthropic, or Google Gemini is an HTTP client + streaming SSE. In Swift, AsyncThrowingStream is convenient for streaming responses. In Kotlin, use Flow.

Critically: API keys must never be stored in the app bundle. Even an obfuscated key can be extracted from the IPA in 10 minutes using strings or frida. Correct architecture: mobile app → your own backend → OpenAI API. The backend controls rate limiting, logs requests, and protects the key.

What Is Included in the Work (Deliverables)

  • Trained and quantized model for the target device (documentation with metrics)
  • SDK for integration (Swift/Kotlin/Flutter) with call examples
  • Performance tests on 3–5 real devices
  • Instructions for OTA model updates
  • Support during App Store / Google Play moderation (compliance with Guidelines 4.2, 5.1)
  • 2 weeks of technical support after release

Typical Project Pipeline

  1. Task analysis — measure latency, privacy, size, supported devices.
  2. Model prototyping — in Python, evaluate accuracy on target data.
  3. Conversion and quantization — for CoreML/TFLite with validation.
  4. Integration into the app — model wrapped in a service layer (easy to swap CoreML ↔ TFLite ↔ cloud).
  5. Testing — on real devices, measure FPS, RAM, battery.
  6. Deployment — via TestFlight / Firebase App Distribution, monitor metrics.

Timelines: integration of a ready CoreML/TFLite model — 1–2 weeks, development of a custom model with mobile optimization — from 6 weeks, on-device LLM chat with personalization — 4–8 weeks.

Why We Take on Complex Cases?

10+ years of experience in mobile development, 50+ implemented AI/ML solutions, guarantee of compatibility with current iOS and Android versions. All projects undergo code review and load testing. The cost includes preparation of moderation documentation and training of your team.

Contact us — we will help you choose the architecture and implement ML in your app turnkey. Order an audit of your existing solution — we will assess the potential for server cost savings free of charge. In some projects, savings can reach significant amounts per month.