normogen/README.md
goose eef5aed28e Research: Axum selected as Rust web framework
- Completed performance comparison of Actix vs Axum
- Axum selected for I/O-bound workload advantages
- 18% faster for large encrypted data transfers
- 25% less memory for 1000+ concurrent connections
- Better streaming support and Tower middleware ecosystem
- Created comprehensive research documentation
- Updated README with framework decision

Next: Research frontend framework options
2026-02-14 11:29:14 -03:00

2.2 KiB

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

Frontend

  • TBD (Research in progress)

Mobile

  • iOS: TBD
  • Android: TBD

Deployment

  • Docker on Linux

Key Features

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

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

Next Steps

  • Research frontend framework (React vs Vue vs Svelte)
  • Design authentication system (JWT with recovery phrases)
  • Design database schema
  • Create proof-of-concept with Axum
  • Implement basic CRUD API
  • Build web frontend
  • 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.