Personal Health — Eigener Health-Stack
Anwendungsfall
Eine Person, ein Stack: alle Health-Quellen (Withings, Samsung Health, ResMed myAir, Health Connect, Telegram-Bot-Inputs) landen lokal auf dem Heim-Server. Tägliche Sicht auf Schlaf, Gewicht, Aktivität und CPAP-Daten in einer einzigen TimescaleDB. Keine Cloud, keine Tracker, alles auf eigenem Iron.
Versionen
- personal-health + healthadvisor v1 — Erst-Generation, läuft live im Daily-Use. Zwei zusammenarbeitende Stacks:
personal-healthist eine Markdown-Wissensbasis mit Telegram-Bot über Claude,healthadvisorein FastAPI-Backend mit TimescaleDB und Android-Frontend. Funktioniert, ist aber Token-hungrig und in zwei Repos gesplittet. - personal-health-v2 — vereinheitlichte Greenfield-Re-Implementierung. Beide Vorgänger-Stacks fließen in ein einziges Token-effizientes System mit unified Postgres und einem gemeinsamen Backend. Status: Spec-Phase abgeschlossen, Migration läuft, noch nicht produktiv.
Bisher erreicht (v1, läuft)
- GDPR-Export-Pipeline für Withings (Waage, Schlaf, Blutdruck)
- Samsung-Health-Sync via Health Connect (Schritte, Herzfrequenz)
- ResMed myAir Login über Okta + AppSync GraphQL für CPAP-Auswertung
- Eigenes Postgres+TimescaleDB-Schema, läuft lokal
- Claude-Bridge für VL-Analysen (
ha-claude-bridge) - Telegram-Bot für konversationelle Eingaben in die Markdown-Wissensbasis
- Android-Frontend für die FastAPI-Sicht
Bisher erreicht (v2, in Arbeit)
- Spec-Phase abgeschlossen (Stand 2026-05-02), alle vier Owner-Decisions resolved
- Vereinheitlichte Architektur aus den zwei Vorgänger-Repos festgeschrieben
- Migration-Plan in fünf Phasen, Sub-A.5 als Implementation-Start
- Token-Strategie definiert (
vision-v2.md) - Backend-Skeleton-Spec für Phase B fertig (
sub-b-prime-backend-skeleton.md)
Aktuell in Arbeit
Sub-A.5 Migration: drei Datenquellen (alte personal-health, alte healthadvisor, neue Direkt-Einträge) werden in unified Postgres zusammengeführt. Phase 0 Setup mit Repo-Init, Schema-Kopie, Postgres-Container. Solange v2 nicht produktiv ist, bleibt v1 das tägliche Werkzeug.