No description
Find a file
goose 735df1f15d Research: Phase 1 complete - Executive summary
- Backend: Axum selected (18% faster, 25% less memory)
- Mobile: React Native selected (70-80% code sharing)
- Web: React selected (code sharing, best charts)
- Platform strategy: Mobile-first with web companion
- Implementation timeline: 22-32 weeks (5.5-8 months)
- Next: State management research (Redux vs Zustand)
2026-02-14 11:40:22 -03:00
thoughts/research Research: Phase 1 complete - Executive summary 2026-02-14 11:40:22 -03:00
.gitignore Initial commit: Project setup and documentation 2026-02-14 11:11:06 -03:00
encryption.md Initial commit: Project setup and documentation 2026-02-14 11:11:06 -03:00
introduction.md Initial commit: Project setup and documentation 2026-02-14 11:11:06 -03:00
README.md Research: React Native + React selected for mobile and web 2026-02-14 11:39:08 -03:00

Normogen

Overview

Normogen is a privacy-focused health data tracking and management platform. The name comes from Mapudungun, relating to Balanced Life.

Vision

To record as many variables related to health as possible, store them in a secure, private manner, to be used by you, not by corporations. From medication reminders to pattern analysis, Normogen puts you in control of your health data.

Technology Stack

Backend

  • Framework: Axum 0.7.x
  • Runtime: Tokio 1.x
  • Middleware: Tower, Tower-HTTP
  • Database: MongoDB (with zero-knowledge encryption)
  • Language: Rust

Mobile (iOS + Android)

  • Framework: React Native 0.73+
  • Language: TypeScript
  • Health Sensors: react-native-health, react-native-google-fit
  • Encryption: react-native-quick-crypto

Web

  • Framework: React 18+
  • Language: TypeScript
  • Charts: Recharts

Deployment

  • Docker on Linux

Platform Strategy

Primary: Mobile Apps - Daily health tracking, sensor integration, QR scanning, push notifications

Secondary: Web Browser - Extensive reporting, visualization, profile management

Key Features

  • Zero-knowledge encryption
  • Multi-person profiles
  • Family structure management
  • Secure sharing with expiring links
  • Mobile apps with health sensor integration
  • Web interface for complex visualizations

Security Model

  • Client-side encryption: Data encrypted before leaving device
  • Zero-knowledge: Server stores only encrypted data
  • Proton-style encryption: AES-256-GCM with PBKDF2 key derivation
  • Shareable links: Self-contained decryption keys in URLs
  • Privacy-first: No data selling, subscription-based revenue

Documentation

Development Status

Phase: Planning/Documentation

Completed

  • Project vision and requirements
  • Security architecture design
  • Encryption implementation guide
  • Git repository initialization
  • Rust framework selection: Axum
  • Mobile/Web framework selection: React Native + React

Next Steps

  • State management research (Redux vs Zustand)
  • Authentication system design (JWT with recovery phrases)
  • Database schema design
  • Create proof-of-concept with Axum
  • Implement basic CRUD API
  • Build mobile apps with health sensor integration
  • Build web companion app
  • Add encryption layer
  • Implement sharing functionality

Open Source

Normogen is open-source. Both server and client code will be publicly available.

Note: This project is currently in the planning phase. No implementation code has been written yet.