🍎

Food

The tree that knows what you eat.

Say what you ate. The AI parses it, tracks your macros, learns your patterns, and tells you what to eat next. One command. The tree does the rest.

Just tell it what you ate.

1

Log in natural language

~ > food "chicken breast and rice for lunch"

Logged: chicken breast (165 cal, 31g protein), rice (206 cal, 45g carbs)
Today: protein 49/150g (33%), carbs 65/200g (33%), fats 12/65g (18%)

One LLM call parses the food into macros. Cascade signals route protein, carbs, and fats to their tracking nodes. The daily picture updates instantly.

2

Ask what to eat next

~ > food "what should I eat for dinner?"

You need 52g protein and 800 calories to hit your targets.
You trained chest today so recovery matters. You've had chicken
five times this week. Try salmon and sweet potato.

The AI reads your remaining macros, your meal history for variety, and your fitness data through channels. Specific recommendations, not generic advice.

3

See your patterns over time

~ > food "how am I doing this week?"

This week: avg 1,850 cal/day against 2,000 goal.
Protein averaging 128g against 150g target. 15% under.
You skip breakfast 3 days out of 7. On days you eat
breakfast, your protein hits target. The pattern is clear.

Weekly averages, hit rates, and meal slot patterns. The AI finds what's working and what isn't. History node archives 90 days of daily summaries.

The tree IS the nutritionist.

No external database. No calorie counting app. The tree structure holds your macros, your meal patterns, your profile, and your history. The AI reads the structure to know everything.

Food
├── Log (where you talk)
├── Protein 128/150g (85%) weekly avg: 128g
├── Carbs 195/200g (98%)
├── Fats 52/65g (80%)
├── Daily (assembles the picture)
├── Meals
│ ├── Breakfast (eggs 4x, oatmeal 2x this week)
│ ├── Lunch (chicken 5x, salmon 1x)
│ ├── Dinner
│ └── Snacks
├── Profile (2000 cal, 150g protein, no restrictions)
└── History (daily summaries, 90 days rolling)

It talks to your workout.

A channel between Food and Fitness carries data both ways. Neither extension imports the other. The tree connected them through structure.

🍎
Food
1,850 cal today
<->
💪
Fitness
chest day, 48 min

The fitness AI sees your calories. The food AI sees your workout. Both give better advice.

Under the hood.

Three AI modes

Log parses natural language food input into structured macros. One LLM call. Review analyzes patterns. Reads weekly averages, hit rates, meal slot history, and fitness data. Advises forward and backward. Coach sets up goals. Asks about calorie targets, macro splits, and restrictions.

Cascade routing

When you log food, channels carry the parsed macros to Protein, Carbs, and Fats nodes. Each node increments its daily total atomically. No read-modify-write. No race conditions. The Daily node reads all siblings through enrichContext. One structure, zero extra queries.

Daily reset with weekly averages

At midnight (synced to the breath extension or a fallback timer), the day's totals archive to History as a note. Weekly averages and hit rates update on each macro node. The AI sees "protein hit rate: 43% this week" without reading 90 history notes.

Type "be" to start

Navigate to your Food tree and type "be". The AI asks what you've eaten. You answer. It logs, routes, and tells you where you stand. No menus. No calorie lookups. Just a conversation with a tree that counts for you.

What did you eat today?

Plant a land. Create a Food tree. Say what you ate. The tree takes it from there.