noshlog. see. adjust.

Nosh reads the meals and ingredients you keep as notes in Obsidian, adds them up as you eat, and draws them against DASH targets. On your desk and on your phone.

Free and open source. Runs inside Obsidian on desktop, iOS and Android.

0nutrients DASH is judged on
0food groups, counted in servings
0accounts, payments or ads
How it works

Three steps, most days.

01

Log a food

Pick when you are eating, then tick an ingredient or a saved meal from your own notes. Most breakfasts are the same breakfast, so yesterday's is one tap away.

02

See your numbers

Nine nutrients and nine food groups, each against its target. A score out of 100 sits on top, judged on pace, so half the day's calories with half the fibre still reads whole.

03

Adjust tomorrow

The week shows which days went green. A report names the food that brought the sodium, so the change is one ingredient, not a new diet.

Features

Built from notes you already keep.

A note is a meal or an ingredient because its tags say so. Folders play no part, so a vault with recipes in it needs no rearranging.

Log by ingredient, or by the meal you saved

The picker is organised by occasion. Tick ingredients one at a time, tick a saved meal, or build one out of parts and name it for next time. Every number describes one serving, and servings go up and down in halves.

  • Each occasion opens on what it has held lately, most recent first.
  • Copy yesterday's breakfast in one press while today's is still empty.
  • Correct one ingredient note and every meal built on it follows, on every day it was eaten.

A score that knows what time it is

Every bar is a floor, a ceiling or a range, and each pays out in proportion to how close it stands. The composite score is their weighted average. While the day's calories are still coming in, floors are measured against the share of the day you have eaten, so the number starts at 100 and moves with each meal.

  • Protein, fibre, potassium and calcium are floors. Sodium, fat and saturated fat are ceilings.
  • Carbs are drawn grey and never judged. Calories only count when over.
  • Tap the score for the three bars costing it most.

The week and the month, without blending them

"Am I on track right now" and "did the pattern hold" are different questions, so Day, Week and Month are different tabs. The week is a row a day with its meals and calories. The month is a calendar, a square a day, with the bars drawn as lines too thin to read and coloured so you do not have to.

  • Nuts, legumes and sweets are weekly groups in DASH, and are scored against the week.
  • A day you did not log is missing, not a zero.
  • Export any span as a markdown report, with a table that puts the largest sodium figure in bold.

It is all notes, and they stay yours

A meal is a markdown file with its numbers in frontmatter. A day's log is a note too, one per day, so a search, a backlink, a Dataview query and a backup all see what you ate. Edit the note and the day follows. Delete it and the day is cleared.

  • Works entirely offline. There is no telemetry, no account with the author and no server.
  • Sync however you already sync. A note arriving from another device is read the same way.
  • Open source under the MIT licence.
Try it

Build a breakfast.

Tap an ingredient to add one serving. The bars are the day's targets from the 2,000 kcal DASH pattern, and the numbers come from ingredient notes like the ones Nosh writes for you.

This breakfast Nothing logged yet
Calories
Protein
Carbs
Fat
Fiber
Sodium
Potassium
Calcium
Food groupsnone yet
Targets

Type your calories. Every target follows.

Every DASH pattern is the same plan at a different size, so one figure fills in all of them. This is the arithmetic Nosh runs when you press Fill in settings. Every row stays editable afterwards.

  • The 2,000 kcal reference is 18% protein, 55% carbohydrate, 27% fat and 6% saturated fat. The grams keep those shares as the calories move.
  • Potassium and calcium are amounts to reach, not shares of a meal. They stay put.
  • Sodium is asked separately and does not scale. 2,300 mg is the standard limit, 1,500 the lower target for bringing blood pressure down, and anything between is a step on the way.
  • Servings scale the same way, rounded to the half. Dairy holds at 2 to 3 a day whatever the size, as DASH does.
1,0004,000
Sodium a day
Targets filled in for 2,000 kcal and 2,300 mg sodium.

Daily nutrient targets

Calories2,000 kcal
Protein floor90 g
Carbs reference275 g
Fat ceiling60 g
Saturated fat ceiling13 g
Fiber floor30 g
Sodium ceiling2,300 mg
Potassium floor4,700 mg
Calcium floor1,250 mg

Food-group servings

Grains a day6–8
Vegetables a day4–5
Fruit a day4–5
Low-fat dairy a day2–3
Lean meat/fish a day≤ 6
Fats & oils a day≤ 3
Nuts & seeds a week4–5
Legumes a week4–5
Sweets a week≤ 5

A scale of the reference rather than the published table for each calorie level. It lands near it without being it, and every row is yours to change.

Nosh AI · optional

Four things that need a model. Off until you say so.

Give Nosh an Anthropic API key and four more things switch on. Each sends only what it needs, only when you press the button that asks for it, and only to the Anthropic API.

Choose one and the phone shows it.

Off until you give it a keyWithout a credential none of this exists, and the plugin never touches the network.
Sent only when you press the buttonA draft, a note you are asking about, or a photo goes over when you ask, and nothing else ever does.
Billed to your own accountRequests run against the Anthropic developer platform at API rates. There is no account with us and no markup.
Pricing

Free. The optional AI runs on your own key.

There are no accounts with the author, no payments and no ads. Nosh AI is off until you give it a credential, and then it talks to Anthropic and nothing else.

Nosh
$0open source, MIT

Everything the tracker does, entirely offline, on desktop and phone.

  • Meals and ingredients read from your notes
  • Nine nutrients and nine food groups against DASH targets, every one editable
  • Composite score, week strip and month calendar
  • Reports as markdown notes, a day, a week or a month
  • Sample notes to start a vault with
Install Nosh
Questions

Before you install.

Yes. Nosh runs inside Obsidian on iOS and Android with the same views as the desktop. Logging, the camera for labels and plates, and reports all work there. Only one thing is desktop-only: borrowing a credential from the ant command-line tool instead of pasting an API key.

No. A note is a meal or an ingredient because its tags say so, and folders play no part. The folder setting only decides where Nosh files the notes it writes. Ingredients are grouped in the picker by the food group they contribute most to, worked out from the servings the note already carries.

Not unless you turn on Nosh AI and press a button that asks for it. Then what you typed into a draft, the note you are asking about, or the photo you took goes to the Anthropic API and nowhere else. There is no telemetry, no account with the author, and no file is read or written outside the vault.

Every bar has an editable target, a weight, and a shape: a floor to reach, a ceiling to stay under, a range, or a reference that is drawn but never judged. Type your calorie level and the DASH pattern scales to it. Then change any row, hide the ones you do not want, and the score, the colours and the prompts follow.

Nosh is not yet in the community plugin list. Install BRAT from the community list first, and the Install with BRAT button on this page opens it with brearleyjonathon/nosh already filled in. By hand it is the same thing: choose Add a beta plugin and give it that path. Either way BRAT installs the latest release and keeps it updated. Or download three files from the latest release into your vault's plugins folder and enable Nosh under Community plugins. An empty vault can start from the sample notes in settings.

Start with tonight's dinner.

Install Nosh, add the sample notes, and log one meal. The day's numbers are on screen before you finish eating.

The BRAT button needs BRAT itself first. It is in Obsidian's community plugin list, as Beta Reviewers Auto-update Tool.