Logging Meals (Food Journal)

Text-only meal logging with calories, P/C/F, and notes.

client guide/dashboard/client
What this is for: Track daily nutrition against the macro target your trainer set.

What this is

Each food journal entry has:

  • Meal type — breakfast / lunch / dinner / snack
  • Date + time — when you ate
  • Meal name — short label (e.g. "Chicken bowl")
  • Calories (kcal)
  • Protein, Carbs, Fat (grams)
  • Optional notes
  • Meal Photo (optional)
  1. On your dashboard, find the Food Journal card.
  2. Click Log Meal to open the meal form.
  3. Type a short Meal Name.
  4. Enter your Protein, Carbs and Fat, and calories fill in for you.
  5. Enter your carbs in grams.
  6. Enter your fat in grams.
  7. Click Log Meal and it shows in today's list.

Your trainer sees this in read-only summary on their end (last 7 days). They can't edit your entries — your journal, your data.

Photos are optional

Typing the meal and its numbers is what counts. A photo is optional: add one if it helps you or your trainer remember the meal.

Step-by-step

  1. Open /dashboard/client.
  2. Find the Food Journal widget (below today's workout card).
  3. Click Log Meal.
  4. The modal opens. Fill in:
  • Meal type — pick from breakfast/lunch/dinner/snack.
  • Date + time — defaults to "now". You can backdate up to 7 days.
  • Meal name — required, max 200 chars.
  • Calories — 0-10000.
  • Protein, Carbs, Fat — 0-1000g each, 0.1g step.
  • Notes — optional, max 500 chars.
  • Meal Photo (optional).
  1. Click Log Meal.

The widget refreshes with today's entries and updates daily totals.

Editing or deleting

  • Pencil icon → edit any entry of yours.
  • Trash icon → delete (irreversible).

Daily totals chip

The widget shows a chip with today's totals: 1850 kcal | P:120g | C:200g | F:60g. Compare against the target your trainer set in the Nutrition tab.

Limits

  • 20 entries per day max (rate limit). Should never hit this normally.
  • Backdate up to 7 days only.
  • Notes are HTML-stripped server-side (can't inject scripts).

Common pitfalls

Where to find this

  • Widget: /dashboard/client → Food Journal section.
  • Component: FoodJournalWidget, FoodJournalModal.
  • API: GET/POST /api/clients/[clientId]/food-journal, GET/PATCH/DELETE /api/clients/[clientId]/food-journal/[entryId].
  • Auth: only YOU can write to your journal. Your trainer is read-only. Admin is read-only.
Was this article helpful?