Skip to content
stevenfackleyPublic

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧬 Axon

.NET C#

The Sovereign Biometric Vault

Build Status

A high-performance, offline-first telemetry engine that unifies Whoop, Garmin, and Oura data into a zero-knowledge, GPU-accelerated dashboard. No cloud. No subscriptions. Total data sovereignty.

Features β€’ Architecture β€’ Getting Started β€’ Roadmap β€’ Contributing β€’ Security


πŸš€ Features

Feature Description
Universal Ingestion Real-time sync from Whoop, Garmin Connect, Oura Cloud, Apple HealthKit, and Android Health Connect β€” all normalized to the Axon Common Schema (ACS).
GPU-First Rendering SkiaSharp-powered telemetry charts running at 120fps. Infinite zoom from a 10-year life view down to a 1-second heartbeat.
Local AI / ML.NET On-device anomaly detection, recovery forecasting, and a drag-and-drop correlation engine. Your data never leaves your hardware for inference.
Zero-Knowledge Storage AES-256 encrypted SQLite (SQLCipher). Keys derived exclusively from your device's TPM (Windows) or Secure Enclave (iOS/Android).
Sovereign Sync Optional peer-to-peer gRPC sync between your desktop Power Station and mobile Satellite apps β€” double-encrypted, zero-knowledge.
HIPAA/GDPR by Design Every data access is wrapped in an audit-logging decorator. A "Nuclear Option" key wipe effectively destroys all local data.
Native AOT Compiled Ahead-of-Time for sub-second startup, minimal memory footprint, and binary-level IP protection.
Air-Gap Mode A single toggle disables all outbound networking while retaining 100% analytical capability offline.

πŸ— Architecture

Axon is built on a Hexagonal (Ports and Adapters) architecture. The core biometric domain is completely isolated from external APIs, UI frameworks, and storage mechanisms.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Axon.UI                             β”‚
β”‚         Avalonia MVVM + SkiaSharp 120fps Rendering         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚  Ports (Interfaces)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                       Axon.Core                            β”‚
β”‚   BiometricEvent Β· ACS Schema Β· ML.NET Β· Business Rules    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚  Adapters
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Axon.Infrastructure                      β”‚
β”‚  SQLite/SQLCipher Β· Whoop Β· Garmin Β· Oura Β· gRPC Outbox    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Axon Architecture

Solution Layout

axon-main/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ Axon.Core/               # Domain: BiometricEvent, ACS types, Port interfaces
β”‚   β”‚   β”œβ”€β”€ Domain/              # Records: BiometricEvent, BiometricType, SourceMetadata
β”‚   β”‚   β”œβ”€β”€ Ports/               # Interfaces: IBiometricDriver, IRepository, IHardwareVault…
β”‚   β”‚   └── Serialization/       # AOT-safe JSON contexts
β”‚   β”œβ”€β”€ Axon.Infrastructure/     # Adapters: Persistence, Ingestion, ML, Security
β”‚   β”‚   β”œβ”€β”€ Ingestion/           # IngestionOrchestrator, vendor drivers
β”‚   β”‚   β”œβ”€β”€ ML/                  # LocalInferenceService, BiometricInputRow
β”‚   β”‚   β”œβ”€β”€ Persistence/         # EF Core DbContext, Repositories, Decorators, Mappers
β”‚   β”‚   └── Security/            # DbAuditLogger, MockHardwareVault
β”‚   └── Axon.UI/                 # Avalonia shell: Views, ViewModels, SkiaSharp Rendering
β”‚       β”œβ”€β”€ Rendering/           # LttbDownsampler, SkiaTelemetryChart, SKSL shaders
β”‚       β”œβ”€β”€ ViewModels/          # DashboardViewModel, SettingsViewModel
β”‚       └── Views/               # AXAML views for Dashboard, Settings
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ PRD.md                   # Product Requirements Document
β”‚   β”œβ”€β”€ PDD.md                   # Project Design Document
β”‚   β”œβ”€β”€ SDD.md                   # Software Design Document
β”‚   └── diagrams/
β”‚       β”œβ”€β”€ architecture/        # System architecture, context, UML class diagrams
β”‚       β”œβ”€β”€ data/                # ER diagram, data normalization primitive
β”‚       └── processes/           # Major process flow, Hybrid Sync, SkiaSharp loop, ML.NET engine
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/          # Bug report & feature request templates
β”‚   β”œβ”€β”€ workflows/               # CI pipeline
β”‚   └── PULL_REQUEST_TEMPLATE.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ CODE_OF_CONDUCT.md
β”œβ”€β”€ SECURITY.md
β”œβ”€β”€ LICENSE
└── Axon.sln

Key Design Patterns

Pattern Where Used Why
Hexagonal Architecture All three projects Isolates domain from frameworks
Repository Decorator AuditLoggingDecorator, EncryptionDecorator HIPAA/GDPR as cross-cutting concerns
Transactional Outbox SyncOutbox table Atomic local-write + eventual remote-sync
ACS Normalization All IBiometricDriver implementations "Data Babel" prevention across vendors
LTTB Downsampling LttbDownsampler in Axon.UI Render millions of points at 120fps
Provider / Strategy IBiometricDriver per vendor Swap/add wearable sources without core changes

Architecture Diagrams

Diagram Description
System Architecture High-level component overview
Context Diagram System context and external boundaries
UML Class Diagram Core domain model
ER Diagram Database schema
Data Normalization Primitive ACS mapping flow
Major Process Flow End-to-end ingestion lifecycle
Hybrid Sync Manager Sovereign Sync / gRPC outbox flow
SkiaSharp Render Loop 120fps GPU rendering pipeline
ML.NET Engine Local inference pipeline

πŸ›  Tech Stack

Layer Technology Version
Runtime .NET Native AOT 10.0
Language C# 14
UI Framework Avalonia UI (MVVM) Latest
GPU Rendering SkiaSharp Latest
Database SQLite + SQLCipher β€”
ORM Entity Framework Core 10
AI / ML ML.NET (ONNX) Latest
Cross-Device Sync gRPC over Protobuf β€”
Serialization System.Text.Json (AOT) β€”
Memory ArrayPool<T>, Span<T> β€”

πŸ”§ Getting Started

Prerequisites

  • .NET 10 SDK
  • Windows 11 (Power Station), or iOS/Android for Satellite builds
  • Visual Studio 2026 or JetBrains Rider 2025.3+ (both needed for .NET 10)
  • (Optional) Android SDK for mobile development

Clone & Build

git clone https://github.com/stevenfackley/axon-main.git
cd axon-main
dotnet restore
dotnet build

Run the Desktop App

dotnet run --project src/Axon.UI

Run Tests

dotnet test

Publish (Native AOT β€” Windows x64)

dotnet publish src/Axon.UI -r win-x64 -c Release /p:PublishAot=true

Publish (Android)

build\build-android.cmd

See build/README.md for the Android build scripts (build/build-android.cmd, build/build-android.sh).


πŸ“± Platform Support

Platform Status Notes
Windows 11 βœ… Primary (Power Station) Native AOT, TPM key derivation
Android 🚧 In Progress (Satellite) Secure Enclave key derivation
iOS 🚧 In Progress (Satellite) Secure Enclave via Entitlements.plist
macOS πŸ—“ Planned Avalonia cross-platform

πŸ”Œ Supported Wearables

Source Status Method
Whoop βœ… Implemented REST API (OAuth 2.0)
Garmin Connect βœ… Implemented REST API
Oura Cloud βœ… Implemented REST API
Apple HealthKit βœ… Implemented (iOS only) Native bridge (iOS)
Android Health Connect πŸ—“ Planned Native bridge (Android)
CSV Import βœ… Implemented Manual legacy import (CsvBiometricImporter)
JSON Import πŸ—“ Planned Manual legacy import

🧠 The Axon Common Schema (ACS)

All vendor data is normalized into a single BiometricEvent record on ingestion. This is the cornerstone of Axon's "Data Babel" solution:

public sealed record BiometricEvent(
    Guid Id,
    DateTimeOffset Timestamp,
    BiometricType Type,       // HeartRate, HRV, SpO2, Sleep, Steps, etc.
    double Value,
    string Unit,              // SI unit string: "bpm", "ms", "%", "W"
    SourceMetadata Source,    // Vendor, DeviceId, ConfidenceScore
    string? CorrelationId = null  // Transactional Outbox correlation
);

A HeartRate event from Garmin is structurally identical to one from Whoop. The UI and ML engine never need to know the origin.


πŸ”’ Security Model

Axon is built with zero-knowledge and compliance-by-design principles.

  • Encryption at Rest: AES-256 via SQLCipher. The database is unreadable without the hardware-backed key.
  • Key Derivation: Keys are derived from the Windows TPM (IHardwareVault) or iOS/Android Secure Enclave β€” never stored in software.
  • Audit Trail (HIPAA): Every read/write operation is intercepted by AuditLoggingDecorator and recorded in an immutable AuditLog table.
  • PII Shield: Domain objects mask sensitive values in ToString() to prevent biometric data from appearing in logs.
  • Air-Gap Mode: A global toggle disables all outbound network I/O. No background telemetry, no analytics, no phone-home β€” ever.
  • Nuclear Option: Destroying the hardware-backed key renders all local data permanently unreadable.

See SECURITY.md for vulnerability disclosure policy.


πŸ—Ί Roadmap

v1.0 β€” Core Kernel (Month 1)

  • Hexagonal architecture scaffold (Axon.Core, Axon.Infrastructure, Axon.UI)
  • BiometricEvent ACS domain model
  • SQLite/SQLCipher persistence with AuditLoggingDecorator and EncryptionDecorator
  • IHardwareVault interface + MockHardwareVault
  • IngestionOrchestrator with System.Threading.Channels buffer
  • Native AOT JSON serialization context

v1.1 β€” Visual Engine (Month 2)

  • LttbDownsampler (Largest Triangle Three Buckets)
  • SkiaTelemetryChart with SKSL stress-zone shader
  • Dashboard ViewModel with live data binding
  • Deep-Time zoom controls (10-year β†’ 1-second granularity)

v1.2 β€” Sovereign Intelligence (Month 3)

  • LocalInferenceService (ML.NET + ONNX)
  • Anomaly detection for resting HR / respiratory rate spikes
  • 24-hour recovery score forecasting
  • Correlation drag-and-drop Lab UI

v1.3 β€” Wearable Drivers (Month 3-4)

  • Whoop REST driver
  • Garmin Connect driver
  • Oura Cloud driver
  • Apple HealthKit bridge (iOS)
  • Android Health Connect bridge

v2.0 β€” Sovereign Sync + Store Launch (Month 4)

  • gRPC Transactional Outbox sync
  • Android Satellite app
  • iOS Satellite app
  • Windows Store MSIX packaging
  • Freemium / Axon Pro licensing gate ($4.99/mo Β· $39.99/yr Β· $79.99 launch lifetime)

🀝 Contributing

Contributions are welcome. Please read CONTRIBUTING.md for the code standards, branch strategy, and Definition of Done before submitting a pull request.

Quick rules:

  • All new IBiometricDriver implementations require 100% unit test coverage on the NormalizationMapper.
  • No reflection-based code that breaks Native AOT.
  • No third-party telemetry, analytics SDKs, or cloud-calling code may be introduced.
  • The hot ingestion path must show zero heap allocations in a memory profiling run.

πŸ“„ License

Axon is proprietary software. See LICENSE for full terms.
Β© 2026 Steven Ackley. All Rights Reserved.


πŸ›‘ Security

If you discover a security vulnerability, please do not open a public issue. Instead, follow the responsible disclosure process outlined in SECURITY.md.


Built with 🧬 by Steven Ackley. No cloud required.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages