# Normogen Project Introduction

## Naming & Origin

**Normogen** comes from Mapudungun (the language of the Mapuche people), relating to "Balanced Life." The commercial name is yet to be defined.

---

## Purpose & Vision

### Vision Statement
> "To empower individuals with complete control over their health data through secure, private, and open-source technology."

### Mission Statement
> "Build the most comprehensive, secure, and user-friendly health data platform that puts users in control, not corporations."

### Core Purpose
To record as many variables related to health as possible, store them in a secure, private manner, to be used by **the user**, not by corporations. From reminding about medication, to comparing data changes over time, and finding emerging patterns.

---

## What Makes Normogen Different

### 🔒 Privacy-First
- **Zero-knowledge encryption**: Your data is encrypted and only you hold the keys
- **No data selling**: We will never sell your data to third parties
- **Open-source**: Full transparency in how we handle your data

### 👤 User-Centric
- **You own your data**: Complete control over your health information
- **Easy sharing**: Share specific data with healthcare providers, family, or caregivers
- **Self-hostable**: Run your own instance if you prefer

### 🌐 Community-Driven
- **Open-source**: Built by the community, for the community
- **Transparent**: All code is publicly auditable
- **Collaborative**: Bug fixes and features from open-source contributors

---

## Business Model

### Sustainable, Not Surveillance

Normogen's revenue will come from **user subscriptions**, not from using or selling data.

**Why subscriptions?**
- Aligns our incentives with user privacy
- Funds ongoing development and maintenance
- Provides predictable, sustainable revenue
- No pressure to monetize user data

**Why open-source?**
- The architecture is complex enough that users will want to pay for a hosted service rather than setting it up themselves
- Bug fixes and features from the open-source community offset potential lost income
- Builds trust and transparency
- Encourages community contributions

### Target Audience

#### Primary: Privacy-Conscious Individuals
- Age: 25-45
- Tech-savvy
- Concerned about data privacy
- Wants to track medications and health stats
- Values control over their data

#### Secondary: Family Caregivers
- Age: 30-55
- Managing health data for dependents (children, elderly)
- Needs easy data sharing
- Wants medication reminders
- Manages family health history

#### Tertiary: Health Enthusiasts
- Age: 20-40
- Tracks fitness, sleep, nutrition
- Uses wearables and sensors
- Wants data analytics and insights
- Interested in health trends

---

## Architecture

### Client-Server Architecture
- **Server**: Linux Docker container (Rust backend)
- **Clients**: Web application and mobile apps (iOS, Android)
- **Database**: MongoDB 7.0 with encryption

### Technology Stack

#### Backend
- **Language**: Rust 1.93 (performance, safety)
- **Framework**: Axum 0.7 (async web framework)
- **Database**: MongoDB 7.0 (flexible document storage)
- **Security**: JWT authentication, PBKDF2 password hashing, AES-256-GCM encryption

#### Frontend
- **Web**: React 19.2.4 + TypeScript 4.9.5
- **Mobile**: Native iOS (Swift) and Android (Kotlin) - planned
- **UI**: Material-UI (consistent design)

### Security Architecture
- **Encryption at rest**: All sensitive data encrypted
- **Zero-knowledge**: Server cannot access user data
- **Shareable links**: Secure sharing with time-limited access
- **Comprehensive**: See [encryption.md](./encryption.md) for details

---

## Application Features

### User Structure
- **User accounts**: Secure authentication with JWT
- **Person profiles**: Multiple profiles per account (e.g., parent managing child's data)
- **Family structure**: Link related individuals (parents, children, elderly under care)

### General Features

#### Health Data Management
- **Lab results storage**: Store and track lab results over time
- **Medication management**:
  - Pill shape and identification
  - Duration of treatment
  - Timetable and reminders
  - Drug composition and interactions
- **Health statistics**: Track weight, height, blood pressure, etc.
- **Medical appointments**: Schedule and track appointments
- **Regular checkups**: Preventive care tracking
- **Period tracking**: Menstrual cycle tracking
- **Pregnancy tracking**: Pregnancy milestones and health data
- **Dental information**: Dental records and appointments
- **Illness records**: Track illnesses and recoveries

### Phone App Features

#### Core Features
- **Pill reminders**: Never miss a medication dose
- **QR code reader**: Quick access to lab results and medical data
- **Health statistics import**: From phone's Health API and connected devices:
  - Steps and physical activity
  - Breathing and respiratory data
  - Sleep patterns
  - Blood pressure
  - Temperature and other vitals
- **Regular sync**: Sync data back to main server at regular intervals
- **Privacy control**: Instant nuke option to delete all local data

#### Sensor Integration
Most sensors will have a common interface or data will be accessible through the phone's Health API, but plugin support for custom sensors will be available.

### Data Import/Export

#### Plugins System
- **Lab results**: Import from various labs (non-standard format)
- **Wearables**: Import data from fitness trackers and health devices
- **EHR systems**: Export/import from electronic health records (planned)
- **Pharmacies**: Medication data and refill information (planned)

---

## Success Metrics

### User Engagement
- User adoption rate
- Active user retention
- Data entry frequency
- Feature utilization

### Privacy & Security
- **Zero** data breaches (target)
- Security audit results
- Encryption coverage
- User trust scores

### Technical Excellence
- API uptime (target: 99.9%+)
- Response times
- Test coverage (target: 90%+)
- Bug fix time

### Community
- Open-source contributors
- GitHub stars/forks
- Community engagement
- Feature requests

---

## Current Status

**Phase**: 2.8 - Drug Interactions & Advanced Features (Planning)  
**Backend**: 91% complete  
**Frontend**: 10% complete  
**Deployment**: Production-ready (Docker on Solaria)

See [STATUS.md](./STATUS.md) for detailed progress tracking.

---

## Roadmap Highlights

### Phase 2.8 (Current - Planning)
- Drug interaction checking
- Automated reminder system
- Advanced health analytics
- Healthcare data export (FHIR, HL7)

### Phase 3 (Planned - Q2 2026)
- Complete frontend web application
- Dashboard with health overview
- Medication management UI
- Data visualization

### Phase 4 (Future - 2027)
- Mobile apps (iOS, Android)
- AI/ML features for predictions
- Third-party integrations
- Wearable device support

See [ROADMAP.md](./ROADMAP.md) for complete roadmap.

---

## Open Source Philosophy

Normogen is open-source because:

1. **Transparency**: Users can verify how their data is handled
2. **Trust**: Public code builds trust in security practices
3. **Collaboration**: Community contributions improve the product
4. **Flexibility**: Users can self-host if they prefer
5. **Innovation**: Open development accelerates feature development

### Contributing
We welcome contributions from developers, designers, and users. See [development/README.md](../development/README.md) for guidelines.

---

## Privacy Commitment

### We Promise
- ✅ **Never** sell your data to third parties
- ✅ **Never** use your data for advertising
- ✅ **Always** encrypt your data at rest
- ✅ **Always** give you control over your data
- ✅ **Always** be transparent about data practices

### We Don't
- ❌ Sell user data
- ❌ Share data without consent
- ❌ Use data for advertising
- ❌ Track users across websites
- ❌ Retain data longer than necessary

---

## Contact & Community

### Documentation
- [Product Documentation](./README.md)
- [Development Status](./STATUS.md)
- [Project Roadmap](./ROADMAP.md)
- [Security Architecture](./encryption.md)

### Community
- **Repository**: [GitHub/Forgejo URL]
- **Issues**: Report bugs and request features
- **Discussions**: Ask questions and share ideas
- **Contributing**: See [development/README.md](../development/README.md)

---

**Last Updated**: 2026-03-09  
**Maintained By**: Project maintainers  
**Version**: 0.2.8 (Phase 2.8 Planning)
