How sam-eer12/void_factor works
Void Factor is a nutrition-tracking app whose central workflow is meal photo or manual entry, nutrition logging, and daily intake review alongside activity; it also tracks weight and provides model-worded recommendations. Photo analysis passes through an authenticated FastAPI service to a selected vision provider, while recommendations run on-device. The graph preserves the documented profile, health, export/import, reminder, and support capabilities. Flutter source files are not present in the supplied tree, so those nodes use paths explicitly documented in the README; their connections are documented rather than source-verified.
Main entry points: routes.py Analysis routes · screens Meal logging · openai_compatible.py OpenAI-compatible client · projection Trajectory engine
Components 28
Mobile tracking
- Sign-in
lib/features/auth - Meal logging
lib/screens - Food log
lib/features/food_log - Profile
lib/features/profile - Activity tracking
lib/features/health - Weight log
lib/features/weight_log - HealthKit observer
ios/Runner/HealthObserver.swift
Personal insights
- Trajectory engine
lib/features/projection - On-device Gemma
android/gemma_engine - Data transfer
lib/features/data_transfer - Meal reminders
lib/features/reminders - Support links
lib/features/support
Food analysis service
- Analysis routes
microservice/app/routes.py - Token verification
microservice/app/auth.py - Image validation
microservice/app/images.py - Analysis contract
microservice/app/schemas.py - Response parsing
microservice/app/parsing.py - FastAPI app
microservice/app/main.py
Vision providers
- Gemini adapter
microservice/app/providers/gemini.py - OpenRouter adapter
microservice/app/providers/openrouter.py - OpenAI-compatible client
microservice/app/providers/openai_compatible.py - NVIDIA adapter
microservice/app/providers/nvidia.py - Model providers
Model delivery
- Signed model links
microservice/app/models.py - Engine installer
android/app/src/main/kotlin/com/voidfactor/app/GemmaEngineDelivery.kt
Other components
- App user
- HealthKit
- Google signing keys
Connections 32
- App user → Sign-in: signs in
README.md - App user → Meal logging: logs meals
README.md - Meal logging → Analysis routes: submits photo
README.md - Analysis routes → Token verification: verifies caller
microservice/app/routes.py - Analysis routes → Image validation: validates upload
microservice/app/routes.py - Analysis routes → Gemini adapter: dispatches
microservice/app/routes.py - Analysis routes → OpenRouter adapter: dispatches
microservice/app/routes.py - Analysis routes → NVIDIA adapter: dispatches
microservice/app/routes.py - Gemini adapter → Model providers: requests analysis
microservice/app/providers/gemini.py - OpenRouter adapter → OpenAI-compatible client: delegates
microservice/app/providers/openrouter.py - NVIDIA adapter → OpenAI-compatible client: delegates
microservice/app/providers/nvidia.py - OpenAI-compatible client → Model providers: requests analysis
microservice/app/providers/openai_compatible.py - Gemini adapter → Response parsing: parses response
microservice/app/providers/gemini.py - OpenAI-compatible client → Response parsing: parses response
microservice/app/providers/openai_compatible.py - Analysis routes → Analysis contract: validates response
microservice/app/routes.py - Analysis routes → Meal logging: returns analysis
README.md - Meal logging → Food log: saves entry
README.md - App user → Food log: logs manually
README.md - Food log → Trajectory engine: supplies intake
README.md - Weight log → Trajectory engine: supplies weigh-ins
README.md - Profile → Trajectory engine: supplies profile
README.md - Activity tracking → HealthKit observer: observes changes
README.md - HealthKit observer → HealthKit: observes samples
ios/Runner/HealthObserver.swift - Trajectory engine → On-device Gemma: words recommendations
README.md - App user → Data transfer: exports or imports
README.md - App user → Meal reminders: sets reminder
README.md - App user → Support links: opens support
README.md - FastAPI app → Analysis routes: registers routes
microservice/app/main.py - FastAPI app → Signed model links: registers routes
microservice/app/main.py - Token verification → Google signing keys: fetches signing keys
microservice/app/auth.py - Engine installer → On-device Gemma: installs engine
README.md - Signed model links → Engine installer: provides download link
README.md