- Initialize Normogen health tracking platform - Add comprehensive project documentation - Add zero-knowledge encryption implementation guide - Set up .gitignore for Rust/Node.js/mobile development - Create README with project overview and roadmap Project is currently in planning phase with no implementation code yet.
258 lines
7.4 KiB
Markdown
258 lines
7.4 KiB
Markdown
# 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.
|