UNIT 03/12 — HEALTHTECH · NUTRITION
Mealner
The nutritionist-in-an-app that plans, logs and re-plans your eating around real life
- ROLE
- Founder · sole engineer
- CLIENT
- Mealner Ltd
- SECTOR
- HealthTech · Nutrition
- PLATFORM
- iOS
- YEAR
- 2026 — present
- STACK
- Swift 6 · SwiftUI · Go · PostgreSQL · Flyway · AWS Lightsail · CDK · ML models
- STATUS
- IN BETA · TESTFLIGHT
[ FIG.01 ] BRIEF
Mealner does the managing for you, tells you how sure it is (measured, estimated, best read) and never makes you feel judged for what you ate. Built as a company, not a side project: 1,350 commits in three and a half months across an iOS app, seven Go microservices plus auth, a Postgres schema, an ingestion pipeline and AWS infrastructure, all mine.
[ FIG.02 ] DATA
The catalogue is assembled nightly by 27 connectors over public food-composition datasets (USDA, Open Food Facts, CIQUAL, CoFID and others) into 6.7M foods with licence-aware provenance and GTIN-normalised barcode lookup; the scanner reads GS1 DataBar, DataMatrix and Digital Link codes as well as EANs.
[ FIG.03 ] INTELLIGENCE
Five models run in production behind a Go-gated API: dish recognition from photos, natural-language food logging, constraint-based meal planning, a recommender, and the re-planner. Allergen and dietary filters are fail-closed, and a clinical knowledge layer governs what the models may say.
[ FIG.04 ] ARCHITECTURE
The iOS app is Swift 6 and SwiftUI (47k lines plus 42k of tests, 2,200 tests); the services are Go in a DDD layout (52k lines, 900 tests); hosting is cost-first on Lightsail with the upgrade path kept to a config swap. The app is in TestFlight with the public launch checklist in progress.
UNIT 03 — IOS BUILD
[ FIG.SYS ] ARCHITECTURE
SYSTEM SCHEMATIC — AUTO-GENERATED FROM SPEC
[ FIG.OUT ] OUTCOME
FOODS IN THE CATALOGUE, BARCODE-SEARCHABLE
DATASET CONNECTORS FEEDING IT NIGHTLY
TESTS ACROSS SWIFT AND GO
ML MODELS IN PRODUCTION
VERDICT:IN BETA — TESTFLIGHT · PUBLIC LAUNCH NEXT[ OK ]
NEXT UNIT
Aevenna
Calm time orchestration — life goals become time-estimated tasks on your day