# Normogen Research Summary

**Date:** 2026-01-05  
**Status:** Research Complete, Ready for Implementation Planning

---

## Executive Summary

The Normogen project has been researched and scoped. The project is currently in the **conceptual phase** with only a design document (`introduction.md`). The MVP has been defined and technical research has been completed for mobile health framework integration.

**Key Decisions:**
1. **MVP Scope:** Authentication + Basic Health Tracking (weight, height, manual entry)
2. **Phase 2:** Mobile app with Apple HealthKit & Google Health Connect integration
3. **Available Health Data:** 50+ data types from both mobile platforms

---

## Research Documents Created

### 1. Initial Codebase Assessment
**File:** `thoughts/research/2026-01-04-1739-normogen-codebase-documentation.md`

**Key Findings:**
- Project is pre-implementation (only design document exists)
- No source code, configuration, or project structure
- Comprehensive vision in `introduction.md`

**Recommendation:**
- Initialize Git repository
- Create project structure
- Begin MVP implementation

---

### 2. MVP Definition
**File:** `thoughts/research/2026-01-04-1840-normogen-mvp-definition.md`

**MVP Scope (Phase 1):**
- **Authentication:** Register, login, password reset, JWT tokens
- **Health Tracking:** Manual entry for weight and height
- **Multi-person:** Support for family members (children, elderly care)
- **Visualization:** Basic charts for trends
- **Platform:** Web-only (responsive)

**MVP Success Criteria:**
- Users can register and login
- Create person profiles
- Add weight/height measurements
- View historical data with charts
- Data persists securely

**Out of Scope (Future Phases):**
- Lab results, medications, appointments
- Period/pregnancy tracking
- Mobile apps
- Plugin system
- Advanced encryption for data sharing

---

### 3. Mobile Health Frameworks Research
**File:** `thoughts/research/2026-01-05-mobile-health-frameworks-data.md`

**Comprehensive Data Available (50+ types):**

**Apple HealthKit (iOS):**
- Body: Weight, height, BMI, body fat, lean mass
- Vitals: Heart rate, blood pressure, temperature, SpO2, glucose, respiratory rate
- Activity: Steps, distance, active energy, workouts
- Sleep: Duration, stages (REM, light, deep)
- Nutrition: Calories, macros, vitamins, hydration
- Reproductive: Menstrual flow, ovulation, basal temp
- Medical: Lab results, medications, allergies, conditions
- Apple Watch: ECG, AFib, fall detection

**Google Health Connect (Android):**
- Body: Weight, height, body fat, BMR, bone mass
- Vitals: Heart rate, HRV, blood pressure, SpO2, temperature
- Activity: Steps, distance, exercise sessions, swimming
- Sleep: Sessions, stages, latency
- Nutrition: Hydration, calories, macros
- Cycle tracking: Menstruation, ovulation, cervical mucus

**Common to Both (15 core types):**
Weight, height, steps, distance, heart rate, blood pressure, sleep, active energy, temperature, glucose, SpO2, respiratory rate, nutrition, exercise, body fat

**Integration Complexity:**
- iOS (HealthKit): ⭐⭐⭐ Medium
- Android (Health Connect): ⭐⭐⭐⭐ Medium-High

**Timeline:**
- Phase 1 (Manual Entry): 4 weeks
- Phase 2 (Mobile Foundation): 4 weeks
- Phase 3 (Health Framework Integration): 4 weeks
- Phase 4 (Expanded Data Types): 4 weeks

**Total to Full Mobile Integration:** ~16 weeks

---

## Updated MVP Definition

### Phase 1: Manual Entry (MVP) - 4 weeks
- Web-based authentication
- Manual weight/height entry
- Basic visualization
- Multi-person profiles

### Phase 2: Mobile Foundation - 4 weeks
- iOS and Android apps
- Mobile authentication
- Manual data entry on mobile
- Server sync

### Phase 3: Health Framework Integration - 4 weeks
- Apple HealthKit integration
- Google Health Connect integration
- Top 5 data types: weight, heart rate, blood pressure, sleep, steps
- Background sync (15-30 min intervals)
- Historical data import (30 days)

### Phase 4: Expanded Data Types - 4 weeks
- All 50+ data types
- Exercise tracking
- Nutrition tracking
- Advanced sleep analysis
- Menstrual cycle tracking

---

## Data Model

### MVP (Phase 1)
```sql
users (id, email, password_hash, timestamps)
persons (id, user_id, name, birthdate)
health_metrics (id, person_id, metric_type, value, unit, recorded_at)
```

### Phase 2 (Mobile Integration)
```sql
-- Enhanced health_metrics
ALTER TABLE health_metrics ADD COLUMN metric_source;
ALTER TABLE health_metrics ADD COLUMN source_device_id;
ALTER TABLE health_metrics ADD COLUMN accuracy;
ALTER TABLE health_metrics ADD COLUMN metadata JSONB;

-- New tables
health_metric_sources (platform, device_name, sync timestamps)
sync_history (import records, conflicts, errors)
```

---

## Open Technical Questions (Priority 1)

### Blocking for MVP Start:

1. **Rust Web Framework**
   - Actix vs Axum vs Rocket
   - Need: Performance comparison, ecosystem maturity

2. **Database Selection**
   - PostgreSQL vs MongoDB vs SQLite
   - Need: Data modeling approach, hosting costs

3. **Authentication Library**
   - Custom JWT vs existing crates
   - Need: Security audit status

4. **Frontend Framework**
   - React vs Vue vs Svelte vs plain JS
   - Need: Bundle size, learning curve

---

## Security & Privacy Requirements

### Data Protection:
- **Encryption at rest** (database level)
- **Encryption in transit** (TLS 1.3)
- **No plaintext passwords** (bcrypt/scrypt/Argon2)
- **Per-user encryption keys**

### User Privacy:
- **Granular permissions** (user chooses what to share)
- **Easy data deletion** ("nuke option")
- **No third-party data sharing**
- **Transparent data usage**

### Compliance:
- GDPR (Europe)
- HIPAA (if handling PHI in US)
- CCPA (California)
- App Store & Play Store policies

---

## Recommended Next Steps

### Immediate (This Week):
1. **Research Priority 1 questions** above
2. **Initialize Git repository**
3. **Choose tech stack** based on research

### Short-term (Month 1):
4. **Create project structure**
5. **Implement authentication** (register, login, JWT)
6. **Design database schema**
7. **Build basic CRUD API** for persons and metrics

### Medium-term (Month 2):
8. **Create web frontend** (auth + health tracking)
9. **Add chart visualization**
10. **Test end-to-end flows**
11. **Deploy MVP**

### Long-term (Months 3-4):
12. **Build mobile apps** (iOS + Android)
13. **Integrate HealthKit & Health Connect**
14. **Implement background sync**

---

## File Structure

```
normogen/
├── introduction.md                              # Project vision
└── thoughts/
    └── research/
        ├── 2026-01-04-1739-normogen-codebase-documentation.md
        ├── 2026-01-04-1840-normogen-mvp-definition.md
        └── 2026-01-05-mobile-health-frameworks-data.md
```

---

## Key Takeaways

✅ **MVP is clearly defined** - Manual health tracking with authentication  
✅ **Mobile path is clear** - HealthKit & Health Connect with 50+ data types  
✅ **Timeline is realistic** - 4 weeks MVP, 16 weeks to full mobile  
✅ **Technical questions are identified** - Ready for research/decision  

⚠️ **Action needed:** Choose Rust framework, database, and frontend stack before starting implementation  

🚀 **Ready to proceed:** All research complete, can begin implementation planning  

---

## Contact & Questions

All research documents are available in `thoughts/research/`.  
Review the three main research documents for detailed findings.

**Ready to start implementation?** Begin by researching the Priority 1 technical questions above, then proceed with Git initialization and project structure.
