Full-Stack Developer & Product Manager · Personal Project · 2026
Rawshn's Health Hub
A mobile-first Progressive Web App (PWA) built from scratch to centralize gym performance, body metrics, and recovery telemetry into a unified Notion OS, featuring a RAG-driven AI fitness coach.
- Next.js
- PWA
- Agentic AI
- Notion API
- Recharts
- Vercel
Problem
How to build a unified, private dashboard for personal health tracking across disconnected applications (gym, sleep, body composition), while creating a personal AI fitness coach using RAG and live telemetry.
Metrics
- Centralized 3 disparate health telemetry streams (Strong, FitDays, Zepp) into a single Notion database
- Implemented automated Vision OCR parsing to turn screenshots into structured JSON logs
- Engineered a zero-auth public Preview mode with 90 days of dynamically generated mock health data
Outcomes
- Shipped Coach Stryder: an in-app AI coach using Gemini 2.5 Flash Lite via OpenRouter to deliver contextual coaching from a personal intelligence dossier and live telemetry
- Built an interactive client-side analytics suite utilizing Recharts to map workout consistency, progressive strength overload, sleep cycles, and body fat recomp
- Designed a secure Android/iOS Web Share Target pipeline to upload CSVs and images with idempotent SHA-256 deduplication
Rawshn’s Health Hub
Rawshn’s Health Hub is a mobile-first Progressive Web App (PWA) designed and engineered from scratch to track my personal health telemetry. It acts as a cohesive bridge between various disconnected applications (Strong, FitDays, Zepp) and a unified Notion database, while providing an AI coaching layer to guide fitness progress.
This project was built to demonstrate my ability to move beyond product specifications and actually engineer production-grade, API-driven applications featuring agentic AI workflows.
Access Live Preview Demo →
Public preview with mock telemetry (auth bypassed)
View Progress Dashboard →
Direct link to live interactive charts
The Problem
Tracking health and fitness usually involves juggling multiple applications that don’t talk to each other:
- Strong for gym workouts.
- FitDays for body composition and weight metrics.
- Zepp for sleep tracking and recovery.
Without a centralized dashboard, it is difficult to spot correlations (e.g., how sleep impacts strength progression). I needed a way to ingest this data into Notion securely and automatically, while providing actionable insights.
Core Product Interfaces
1. Coach Stryder (Agentic AI)
Powered by OpenRouter (using Gemini 2.5 Flash Lite), Coach Stryder delivers hyper-contextual coaching. It parses a private Intelligence Dossier (detailing fitness goals, injuries, and dietary preferences) and merges it with the last 8 weeks of live telemetry to provide real-time guidance.
A preview of the Coach Stryder tab, featuring live agentic coaching.
2. Client-Side Progress Analytics
To turn raw database rows into visual signals, the app features a client-side analytics suite rendering workout volumes, sleep cycles, and body composition changes in real-time.
The interactive Progress tab displaying workout consistency, progressive overload, sleep duration, and body composition.
Technical Architecture & Data Flow
The application is built on modern web standards:
- Framework: Next.js 16 (App Router)
- Styling: Tailwind CSS
- Visualization: Recharts (React charts)
- APIs & Data: Notion API (primary database), OpenRouter API (Vision parsing + Coach chat)
- Deployment: Vercel (Edge Lambdas + Cron jobs)
graph TD
A[Strong CSV / FitDays / Zepp Screenshots] -->|Mobile Web Share Target API| B(Next.js Ingestion Layer)
B -->|Vision OCR Parsing / CSV Reader| C(Deduplication Engine - SHA-256)
C -->|Secure API Write| D[(Notion Databases)]
D -->|8-Week Telemetry Rollup| E(Coach Stryder Context)
F[Intelligence Dossier] -->|RAG| E
E -->|Gemini 2.5 Flash Lite| G[Contextual Training Feedback]
D -->|Client Fetch| H[Recharts Progress Dashboard]
1. Ingestion Pipeline
Users paste Strong CSV exports, select screenshots from FitDays/Zepp, or share CSVs directly via the Web Share Target API on Android/iOS.
2. Vision OCR Parser
Extracting structured JSON from sleep and body composition screenshots required extensive prompt engineering with vision models to handle varying device aspect ratios, UI themes, and layouts.
3. Idempotency Engine
Because I often re-upload CSV exports containing overlapping workout history, I built a hashing mechanism to prevent duplicate entries in Notion. Each workout set is serialized and hashed with SHA-256, ensuring that the app remains idempotent.
Enabling the Public Preview Mode
To showcase this application to hiring managers without exposing my private health data or requiring external authentication, I engineered a robust Preview Mode:
- Authentication Bypass: Bypasses Clerk/API tokens when the app detects a Vercel preview environment (
process.env.VERCEL_ENV === "preview"). - Telemetry Mock Data: Intercepts the database fetching layer in
src/lib/notionto return 90 days of dynamically generated, realistic telemetry (workouts with progressive overload, body composition recomp, and sleep metrics). - Interactive Graphs: Because the mock data matches the strict types of real Notion database entries, the client-side Recharts controllers parse and render the graphs seamlessly.
Conclusion
Rawshn’s Health Hub stands as a testament to bridging the gap between product strategy and engineering execution. By building a functional, agent-native PWA, I successfully mapped out the complexities of integrating LLMs with structured databases, giving me deeper empathy and technical insight for managing AI products at scale.