Back to Portfolio

Project

Adaptive IoT Wellness Platform

Built a native iOS research prototype that syncs real wearable health data over Bluetooth and converts it into uncertainty-aware, action-oriented AI wellness coaching.

Jan 2026 - Present

Technologies

SwiftSwiftUIiOSBluetooth LEIoTGeminiFirebase AI LogicNode.jsPythonFAISSRAGJSON
Screenless ES02 wearable used to collect wellness data for the WatchProbe research prototype
The ES02 wearable used for physical-device Bluetooth and health-data sync testing. Select the image to view it at full size.
WatchProbe Coach screen with an AI-generated wellness message and prioritized daily actions
Coach view: AI guidance and a focused daily checklist.
WatchProbe Plan screen with wellness actions grouped into categories including Fuel and Move
Plan view: actionable recommendations organized by wellness category.

Overview

Developed WatchProbe, a native iOS companion app for an ES02/Veepoo-compatible wearable, as part of research with Professor David Zaretsky at Northwestern University. The project explores how low-cost IoT sensors and AI can turn passive wellness measurements into practical daily actions.

I integrated the manufacturer BLE SDK to scan for the wearable, establish and verify connections, restore the preferred device, read battery state, and serialize health-data sync operations. The app stores timestamped research snapshots locally as JSON and loads recent records for longitudinal analysis.

I designed a coach-first SwiftUI experience organized around Coach, Plan, Progress, and Profile views. Instead of leading with raw sensor dashboards, the interface explains available context and generates realistic actions across hydration, movement, stress management, sleep, and recovery.

The AI layer sends a compact health context to Firebase AI Logic or a local Gemini proxy and requests structured summaries, category scores, correlations, warnings, and suggested actions. Analyses are cached using a SHA-256 fingerprint and refreshed only when the synced context or coach settings change.

An earlier research prototype used Python, Flask, sentence-transformer embeddings, and FAISS to retrieve context from PDF, text, and Word documents for a RAG chatbot. That work informed the AI pipeline before the project shifted to a native iOS architecture required by the wearable SDK. The current prototype has demonstrated physical watch discovery, verified BLE connection, multi-day local sync, AI-backed explanations, and reminder-ready action plans. Wellness measurements are presented as non-diagnostic signals with explicit uncertainty and data-quality guidance.

Project Context

This ongoing graduate research project investigates an adaptive IoT platform for proactive wellness under Professor David Zaretsky in Northwestern University's Department of Electrical and Computer Engineering. My work spans wearable integration, mobile development, research data collection, and uncertainty-aware AI coaching.

Key Features

  • Native iOS integration with a physical ES02 wearable through the Veepoo BLE SDK
  • Reliable scan, connection, password-verification, reconnection, and serialized sync workflow
  • Timestamped local JSON snapshots for multi-day research data inspection
  • Coach-first SwiftUI interface with Coach, Plan, Progress, and Profile views
  • Structured AI analysis through Firebase AI Logic or a local Gemini proxy
  • Context-hash caching that avoids regenerating unchanged AI analyses
  • Action plans and local reminders across fuel, movement, mind, and recovery
  • Early RAG prototype using document parsing, sentence transformers, and FAISS

Challenges

  • Integrating a device-only manufacturer SDK with limited documentation
  • Serializing BLE data commands to avoid unstable concurrent watch operations
  • Normalizing partial, delayed, or unsupported consumer-wearable measurements
  • Communicating uncertainty without overwhelming users with raw sensor data
  • Securing AI credentials while testing a phone-to-local-development proxy

Results

  • Verified discovery, connection, password state, and battery reads on a physical ES02 wearable
  • Synced real multi-day watch records into persistent local research snapshots
  • Generated structured explanations, warnings, scores, and daily actions from synced context
  • Delivered an end-to-end prototype spanning wearable sensing, iOS persistence, AI analysis, and user action