emealia docs · internal 2026-08-06

The product

What emealia is, who it is for, what it refuses to do, and how the core loop actually runs. This is the layer everything else answers to — when a market opportunity and a non-negotiable conflict, the non-negotiable wins.

Canonical sources: emealia-mgmt/1-strategy.md · prototype feedback 2026-07-03 and part 2 · founder decisions through 2026-08

The frame

For most people, eating is meant to be intuitive. Modern diet culture turned it into math.

Calorie counters, macro spreadsheets, good-food/bad-food, weigh-everything regimes — these built strict behavioural patterns around eating that mostly do not serve the people using them. They create guilt, they are unsustainable, and they chase a single optimal number that was never meant for everyone. People quit, then feel like they failed.

emealia's answer is not a better calorie counter. It is a different posture toward food.

What
AI nutrition companion — free-text input, honest ranges, calm bands, one forward-looking tip
What it isn't
Calorie counter · barcode scanner · diet app · judgment tool
Posture
Intuition over arithmetic. Eat by feel, not by math. Companion, not referee.
Format
Mobile-first PWA — installable from the browser, no App Store cut, no platform gatekeeper
Markets
Germany (primary) and USA (simultaneous). All copy EN + DE. GDPR applies throughout.
CI
Dark mode only. No light mode planned.

Three core promises, equal weight

Promise 1
Easy
One sentence in plain language. No weighing, no barcode, no database. And since August 2026 — one sentence for the whole day, not one per meal.
Promise 2
Guilt-free
No red, no shame, no number as a verdict. A treat is allowed. No nutrition state may look like a failure — technical states may be transparent, nutrition states may not.
Promise 3
Intuitive, not mathematical
Bands give a sense of the day, not a sum. Numbers exist, are honest, and are always exactly one tap away — never on the main view by default.
Positioning correction, August 2026

These three promises are equal in the product. They are not equal in the market any more. Easy is now table stakes owned by MyFitnessPal (post-Cal AI) and Apple. The hero hierarchy on every public surface must lead with guilt-free and follow with easy — not because ease got worse, but because it stopped being a differentiator.

The six non-negotiables

These are constitutional. Every one of them will, at some point, be argued against on the grounds that "everyone else has it". That argument is the signal to check this list, not to revise it.

#RuleWhat it forbids in practice
1 No red in nutrition feedback. Ever. Warm amber is the maximum urgency signal. A band fill identifies which nutrient and never changes with status. Regression-locked by story 2.4: 23 backend and 23 frontend assertions sweep the whole band-state space and a copy deny-list proves no state reads as a failure.
2 No numbers on the main daily view. Bands plus qualitative labels only. Numbers are permitted — required, even — on meal detail and All-details, which is the "one tap away" transparency surface. An optional number-hiding setting removes them there too.
3 Free trial, not freemium, in the base product. One plan, everything in it, forever. No feature gated after purchase, no nutrient behind a wall. The optional Plus layer may only ever add new surfaces and may never gate the core loop or nutrient data.
4 AI free-text logging is the only primary input. No barcode scanner as primary — deliberately, permanently. No food database to license or maintain. No photo input at launch. Trust comes from honest confidence levels and ranges, not from a database claim emealia would lose.
5 Value before registration. The pre-signup demo is hardcoded data: zero AI calls, zero cost, no account. A visitor sees the product working before being asked for anything.
6 No nutrition state may look like a failure. An empty day is absence, never a verdict. Not logging is not a signal and never triggers a message. Trial exhaustion is warm, not punitive. A failed estimate is a calm line, never an error wall.
The non-negotiables are the marketing

Every mainstream competitor fails several of these, checkably. That is the basis of the guilt-design comparison rubric — the review ecosystem has no column for "does this make you feel bad", so emealia is currently scored only on axes it loses by design. The response is not to chase those lists. It is to create the axis.

Personas

emealia is not only for weight change. It must feel useful to someone who simply wants to understand their day better, without turning food into homework.

PersonaPrimary needProduct implication
Healthier eatingEat better without a diet or a weight targetNon-weight goals are first-class. Today's bands mirror the nutrients this user cares about, not a calorie budget. The weight card collapses when goals are not weight-related.
Weight-awareLose, gain or maintain calmlyWeight tracking and energy targets exist, but never define all progress and never appear as a countdown.
Busy beginnerCooks little, knows little nutrition theoryPlain-language coaching, low-friction logging, no dense setup. Coaching level adapts copy, not ambition.
Dialled-inAlready knows macros and wants lighter trackingCustom band sets (up to 10), All-details with 32 nutrients, history, statistics, export.
Medically motivatedA doctor or nutritionist reason to watch nutrientsCareful non-medical copy, no treatment advice, clean export for the next appointment. Medical context typed by the user is kept as gentle context and never acted on as instruction.
The correction that reshaped the goal model

Feedback of 2026-07-01: goals were too narrowly weight-shaped. "Healthier eating" existed as a label but not as a function — it still produced only an energy direction, with no band emphasis and no coaching of its own. The canonical goal set now is a multi-select of understand eating habits · improve nutrient intake · healthier lifestyle · more energy · build muscle · lose weight · gain weight · watch specific nutrients · medically motivated, plus free text. There is deliberately no "maintain weight" option: if neither lose nor gain is chosen, maintenance is certain and may be inferred for AI messaging, never asked. Lose and gain are the only hard contradiction; everything else combines freely.

The core loop

  1. Describe. The user types plain language — one meal or a whole day. No mode switch: a single meal is simply the N=1 case. Input is sanitised, wrapped as data, and capped at an admin-configurable 1200 characters.
  2. Segment and estimate. One AI call returns one estimate per eating occasion described, up to 8. Each carries a portion size, an ingredient list, ranges for all 32 nutrients, and a confidence level. Meal type is filled only from an explicit textual cue — never inferred from food content, because "eggs → breakfast" is a guess.
  3. Validate. Structure validation drops cosmetic violations and retries once on a structural failure. Plausibility validation rejects the 5000-kcal apple. Language enforcement retries once if the model answers in the wrong locale. After two failures, a calm low-confidence editable fallback — never an error.
  4. Review, then save. The pre-save preview shows one card per segment with that meal's own honest number ranges, its assumptions in emealia's voice, and an editable meal type. One re-estimate per segment. Nothing is persisted to the day until Save log.
  5. See the day. Bands on Today — no numbers, five by default, up to ten, personalised from any tracked nutrient. Tap a band to see which meals fed it and roughly how much. Tap through to All-details for honest ranges across all 32 nutrients, day or last-7-days.
  6. One tip. At most one forward-looking suggestion per day, inside a local time window, never before three logging days exist, never triggered by absence. Delivery not shipped

Screen inventory

#ScreenWhat it is
1Pre-signup demoHardcoded data, zero AI, zero cost. Value before registration, per non-negotiable #5.
2TodayConfigurable bands (5 default, 10 max) plus the meal list (≤5 shown, "more" → History). Today ↔ This-week tabs. Header: icon aligned with the wordmark, "Welcome back, {name}" in Newsreader italic beneath, profile icon right — no day/date/time line. Log button always reachable, never covering content.
3Meal detail (stored)A saved meal. Merged ingredients (≤5 dominating plus an "all assumptions" toggle), the meal's own honest ranges, edit and confirm.
4Log a meal"Use your own words." Date picker (today / yesterday / date; backdate ≤7 days, no future). Meal type — never marked optional, unpicked persists as other. Favourites entry preserves date and type. Growing 3→6-line input.
4bMeal log detail (pre-save)The draft preview. One card per segment when a text described several occasions; pixel-identical to the single-meal preview when it described one. "I estimated assuming…" in Newsreader italic. Re-estimate once, then a defined disabled state. Save log →.
5HistoryCalendar with day-level dots, search, favourites. Tap a day to see that day's Today view.
6StatisticsDaily, weekly and monthly trends from daily_summaries and period_summaries. Band distribution. No red, ever.
7Settings / profileIdentity, goals, body params, targets, dietary preferences and free-text context, weight, preferences (incl. number-hiding), subscription, security, data (export and erasure), legal.
8Trial / paywallCredits spent. Warm, not punitive. Annual default, monthly toggle, prices always from the backend prices object — never hardcoded.
9AuthSocial sign-in. Registration carries the passive medical-disclaimer notice beside the ToS and privacy acceptance. After login: straight to Today, no welcome-back screen.

What emealia will never build

Written down as strategy, not left as a backlog gap. Each of these will be proposed by someone; each contradicts a non-negotiable; and the list itself is a differentiator worth publishing in a lighter form.

Not buildingBecause
A goal-weight progress bar or "X kg to go"A number as a verdict with a failure state built in. Contradicts #1, #2 and #6 simultaneously. A smoothed trend line with no target line is the range-compatible equivalent.
Earned calories from activity"You earned 340 extra calories" is the food-as-currency loop that makes MyFitnessPal painful for exactly the people emealia is built for. Activity shifts the ideal zone slightly; it is never a balance to spend.
Mood → food causality"You eat more when stressed" is a causal claim about the user's own weakness, much harder to shrug off than a number. It is Noom's core mechanic. Mood is logged as calm context and modulates tone only.
Adaptive energy targets from weight trendGenuinely good, and range-compatible in principle — but it requires consistent weighing, which conflicts with both the low-friction promise and the ED-safety posture. Recorded as a decision, not an omission.
GLP-1 medication featuresA medical-adjacent claim surface, in conflict with the general-wellness positioning, in a market where capital wins. As competitors chase GLP-1 users, the non-medicated majority is being under-served — which is precisely emealia's persona set.
A barcode scanner or a licensed food databaseNon-negotiable #4. It is a race against a 20-million-item crowdsourced database with a documented 27% error rate — losing on their axis while abandoning our own.
Streaks, badges, leaderboardsArtificial pressure and unhealthy competition with oneself. Documented in the ED literature the strategy cites.
Apple Health / Health Connect syncNot a choice — HealthKit and Health Connect are native-only platform APIs with no web equivalent. Shipping it means a native wrapper, App Store review, and the 15–30% cut the PWA strategy exists to avoid. Say why publicly: "we're a web app, so your health data never leaves the browser for a platform account" is a better story than an apology.
Semantic caching via third-party embeddingsProposed in the July analysis for 40–60% COGS savings. Rejected on privacy grounds: it means a second processor seeing meal text, against the single-DPA posture that is itself a purchase argument in Germany.
Device fingerprintingProposed as trial anti-abuse. Rejected — GDPR and consent conflict. Social-only auth plus the credit cap do the same job cleanly.

Wellbeing safeguards

Ethically required and, separately, a real differentiator. Grounded in Levinson et al. 2017 (N=105 with a diagnosed eating disorder; ~75% used MyFitnessPal, of whom 73.1% reported it contributed to their disorder and 30.3% "very much").

Voice

DoDon't
Calm, warm, peer — "looks like a balanced day so far"Clinical — "you need 20 g more protein"
Forward-looking — "tomorrow you could…"Backward judgment — "you ate too much"
Honest about ranges — "roughly 400–550 kcal"False precision — "423 kcal"
Bilingual parity — the same warmth in EN and DEDirect translation without German adaptation
Treat foods named neutrally — "pizza night"Moralising — "indulgence", "cheat meal"

Never: you failed · cheat meal · bad food · you must · doctor-approved · an exact calorie verdict on Today. Full microcopy standards and the medical-disclaimer wording live in Design.