← All learnings
Build log

Build log: guardrails, not goals

22 June 2026 · 4 min read · by the Snapeto team
Build log: guardrails, not goals
In short

A goal is a number the day gets graded against. A guardrail is a boundary the week bends inside. Snapeto's planning engine runs on the second kind: you choose a few wide behavioural lines, and the app's entire job becomes keeping the week inside them, by suggesting the next meal rather than scoring the last one. This build log explains the machine.

When you set up Snapeto, you're never asked to commit to a daily calorie budget. You're asked what a good week looks like for you, in behaviours: how many dinners cooked, what belongs on a plate, which cuisines are home for you, what rhythm your days actually have, including the honest parts about late shifts and Friday takeaways. Those answers become the guardrails, and the guardrails become the plan. Sustainable habits framing is a hard rule for us, no crash promises anywhere in the product or the copy.

Why the week is the unit

Days are too small to be fair. One dinner out ruins a day's numbers while meaning nothing about your life. Months are too big to steer. A week is the smallest span with a shape: a shop, a rhythm, a couple of anchors, some chaos. So all state in Snapeto rolls up weekly, and every judgement, including the phrase on plan today, is really asking whether today keeps the week alive, not whether today was pure.

The engine, in plain terms

  1. State. Your guardrails, the week so far, snapped meals and cooked dinners, and what your fridge and pantry currently offer.
  2. Forecast. A simple picture of where the week is heading: cooking rhythm holding or slipping, protein showing up, evenings drifting or steady.
  3. Suggestion. The engine's main output: tonight's cook-from-fridge candidates, sized and timed for your actual evening, chosen so the week bends back toward your lines. Each comes as a real recipe, because adaptation is what the model is good at.
  4. Check. A snapped meal updates the state, returns its estimate and healthy twin, and answers in one sentence. Then the loop rests until the next decision.

Notice what's absent: a score to protect, a streak to lose, a deficit to clear. When a heavy weekend happens, nothing is broken and nothing must be earned back. The forecast shifts and Monday's suggestions lean a little greener. Steering, not sentencing.

Time aware by design

The home screen knows what time it is. Morning asks a different question than 7pm, so the app's two big buttons, cook from the fridge or log what you're already eating, meet you at whichever moment you're actually in. Meal prompts fire in eating windows, not at random, and nothing nags outside them. Your attention is treated as a scarce ingredient too.

Where numbers live, and where they don't

Snapeto does show numbers: calorie and macro estimates per meal, clearly labelled as Ai estimates. What it never builds from them is a daily grade. The distinction is load bearing. An estimate attached to a meal is information you can use or ignore. A budget attached to a day is a verdict machine, and verdict machines produce guilt. We keep the first, we refuse the second, and the weekly view speaks in plain sentences about behaviour: three cooks down, rhythm holding, steady week.

What is the difference between a guardrail and a goal?

A goal is a target the day is graded against, like a calorie budget. A guardrail is a wide behavioural boundary, like four cooked dinners a week, that guides choices without producing daily verdicts. Goals grade; guardrails steer. Snapeto is built entirely on the second kind.

Does Snapeto show any scores or streaks?

No streaks, no daily grades. Estimates per meal are shown and labelled as estimates, and weekly state is expressed in plain sentences about rhythm and behaviour.

Can I change my guardrails later?

Yes, and you should. Guardrails are meant to be renegotiated as life changes: a new job, a winter, a training block. The app treats them as settings you own, not promises you made.