"Meal tracking made easy and guilt-free." — emealia meets you where you are.
| What | AI nutrition companion — free-text input, honest ranges, calm bands, one forward-looking tip |
|---|---|
| What it's not | Calorie counter · barcode scanner · diet app · judgment tool |
| Core posture | Intuition over arithmetic. Eat by feel, not by math. Companion, not referee. |
| Format | Mobile-first PWA — installable from browser, no App Store cut |
| Markets | Germany (primary launch) + USA (simultaneous). All copy EN + DE. GDPR applies. |
| CI | Dark mode only. No light mode planned. |
emealia is not only for weight change. The product must feel useful for people who simply want to eat more consciously, understand their day better, or support a specific health context without turning food into homework.
| Persona | Primary need | Product implication |
|---|---|---|
| Healthier eating | Eat healthier without a strict diet or weight target | Non-weight goals are first-class; Today bands can mirror nutrients the user cares about |
| Weight-aware user | Lose, gain, or maintain weight calmly | Weight tracking and energy targets are available, but never define all progress |
| Busy beginner | Cooks little and knows little nutrition theory | Plain-language coaching, low-friction logging, no dense setup |
| Dialed-in user | Already knows macros/micros and wants lighter tracking | Custom bands, details page, history, and export matter |
| Medically motivated | Doctor/nutritionist reason to watch nutrients | Careful non-medical copy; no treatment advice; clear data export |
| Market | Trial | Monthly | Annual | Save |
|---|---|---|---|---|
| DE | 30 free AI estimates · all features · no card | €5.99 | €39.99 | −44% |
| US | 30 free AI estimates · all features · no card | $6.99 | $44.99 | −46% |
The trial is credit-based, not time-based: usage_accounts.trial_credits_granted defaults to 30 (admin-configurable via [usage] trial_credits in backend/config/admin.toml, currently 30), consumed one-per-AI-estimate and checked by UsageMeter.check_entitlement(). Earlier drafts of this doc (and the CLAUDE.md root context) describe a 168-hour clock-based trial — that model was replaced by the credit model per the 2026-07-07 market analysis and is what SqlAlchemyUsageMeter actually implements (trial_credits_used < trial_credits_granted); the 168 h wording is stale and should be corrected at the source.
GET /config/prices)| Layer | What | When |
|---|---|---|
| Base plan | Full core loop — logging, bands, AI parsing, daily tips, history, stats | Launch |
| emealia Plus | Add-on subscription: recipe suggestions, deep micros, photo logging, advanced stats + export, "level up a meal" | Post D7 ≥ 30% |
| Micro-transactions | Not used — Stripe fixed fee (~25–30¢) kills economics at €1; recurring add-on wins | Never |
Instrument premium-candidate features through UsageMeter from day 1 (free, invisible). Introduce Plus once base loop retains D7 ≥ 30%.
| Metric | M3 | M6 | M12 |
|---|---|---|---|
| D7 retention | ≥25% | ≥30% | ≥38% |
| Meals / active user / day | ≥1.5 | ≥1.8 | ≥2.0 |
| Trial → paid | ≥10% | ≥12% | ≥15% |
| AI correction rate | <40% | <30% | <25% |
| Daily tip open rate | ≥15% | ≥20% | ≥25% |
North star: weekly active loggers with ≥4 logging days/week.
Weight tracking remains a core optional surface, not a niche add-on: even users whose selected goals are healthier eating may want to check weight occasionally. It must be available from Profile and statistics/history, but it is never the North Star and never the only definition of progress.
| Condition | Action |
|---|---|
| D7 <20% after 200 users | Stop acquisition, redesign core loop |
| AI correction rate >50% | Fix parsing + portion defaults before scaling |
| Daily tip opens <15% | Coaching cadence / copy not landing → rework |
| AI cost >€0.08/user/month | Audit all AI calls — something is leaking |
| Phase | Focus | Gate |
|---|---|---|
| 0 · Foundation | Monorepo, BCE skeleton, DB, CI, deploy | — |
| 11 · Design tokens | Tokens, logo, dark-mode CI | — |
| 1 · Pre-signup demo | Hardcoded demo — value before registration | — |
| 2 · Today view | Core daily bands UI | G1 band comprehension |
| 3 · Logging | AI meal parsing, validation, fallback | G2 calibration |
| 6 · Registration after demo | Value before registration; real usage starts after registration | — |
| 7 · Auth | Google Sign-In (OAuth Authorization Code) via AuthBoundary, session cookie via SessionCodec, registration, session management | — |
| 4/5 · History + Stats | History, statistics, weight tracking | — |
| 8 · Trial + Payment | UsageMeter enforcement, Stripe checkout | — |
| 9/10 · Profile + Micros | Profile, targets, micronutrients | — |
| 12 · Meal history context | Keyword match, repeat logging, bounded history-informed suggestions | — |
| 13/14/15 · Launch blockers | GDPR, Security, Observability — run from week 1 | All green before launch |
The one required onboarding input. Multi-select from: understand eating habits · improve nutrient intake · healthier lifestyle · more energy · build muscle · lose weight · gain weight · watch specific nutrients · medically motivated — plus optional free text.
Coaching uses selected goals, cooking level, nutrition knowledge level, dietary preferences/free-text context, and logged meals. The AI API receives only the needed bounded context and returns one forward-looking daily suggestion plus every-other-day review suggestions. Meal history may inform recommendations up to a defined recency/volume limit, but the product must not promise that the AI learns over time or becomes a defensibility claim.
Core message (all channels): "Meal tracking made easy and guilt-free." · "Eat by feel, not by math." · "emealia meets you where you are."
GoogleAuthBoundary) — a real client id/secret is still needed for beta; Apple Sign-In (7.1b) and any Auth0 EU tenant are not built and not requiredmedical_safety AI-prompt snippet. Research + draft EN/DE copy: emealia-app/docs/research/medical-disclaimer.md; story 13.14. Counsel confirms wording, Art. 9 lawful basis, and whether an explicit checkbox is needed.