Draft: not yet reviewed by a clinician
Use this page to prepare questions for your care team. It does not replace their advice. Your own targets and doses come from your nephrologist, diabetes team and renal dietitian.
Meal guidance¶
Switched on by default
Meal guidance is on unless your admin switched it off for the server; you can hide it for yourself in Settings → Meal guidance. The Treating a low card stays either way.
Meal guidance answers "what can I still eat today?" from your own targets, what you have already eaten and planned, and the foods you usually have. It uses fixed, written rules, not AI, so it works without the internet and gives the same answer every time (design note 06).
The four parts¶
| Part | Where | What you get |
|---|---|---|
| What fits now | the top of Add, after you pick a meal there; or What fits under a meal in Today | Up to 11 foods, grouped as protein, starch, vegetables and fruit, and extras (the best two of each group first, Show more for the rest), each with a portion that fits, the numbers, and one reason ("Low in potassium (55 mg)"). Add and Plan open the food sheet with that portion filled in. Saved meals and meals you often have that fit appear as chips. Show other foods asks again without the foods on the list, so you see different ones; Back to the first choices starts over. |
| Swap ideas | the food sheet, under a potassium, phosphorus or sodium warning: open Lower-potassium ideas (or lower-phosphorus, lower-sodium) | Up to 5 foods with about the same carbohydrate (or protein) and at least 25 % less of the problem nutrient, plus a smaller-portion option. Use this instead puts the other food in the sheet; Use this amount sets the smaller portion. |
| Plan the rest of my day | the Meal ideas card in Today, or Plan a day… in Plan | A suggested plan for the meals you have not logged yet (tick other meals to plan them anyway), built from your saved meals, your usual meals and the food list, with how the day would end up. Use this plan adds it as planned food; Show another gives a different one (5 options). |
| Insights | Today once breakfast, lunch and dinner are logged or after 7 pm (and for any past day); Trends for the days you choose there | Short notes with numbers, such as "Potassium was over your limit on 2 of 7 days (Sat, Sun). The main sources were potatoes and orange juice." |
Nothing is saved until you tap a button, and everything you add goes through the same warnings as any other food (architecture contract).
To stop a food from coming up, open ⋯ next to it and choose Not for me. It stays in search, and Settings → Meal guidance lists it with Suggest again. A meal you usually have, or a starter meal, that holds a food you marked Not for me (or a kind of food you chose Never suggest) is not offered either; a meal you saved yourself still is, because you built it.
Tell the app what you like¶
Open ⋯ next to a food in What fits now, in the swap ideas or in a plan, and choose More like this, Less often or Not for me. The one you chose shows a check mark (✓); choose it again to take it back, and a message at the bottom of the screen says what changed. A food you like is lifted a little in the suggestions and a food you want less often is lowered. In Settings → Meal guidance → Your food preferences you see all your choices, with Remove next to each, and you can set a whole kind of food (fruits, grains and so on) to Like, Less often or Never suggest. A food that Ask added is marked "added in Ask", and one that an assistant you connected added (only if you allowed that when you made its token) is marked "from your assistant". Either way it is your list: Remove takes it away.
Taste only changes the order of foods that already fit your limits. It never hides a food (only Not for me and Never suggest do), it never makes a food fit, and it is not an allergy filter: the app cannot tell whether a food contains an allergen, so check labels. More like this, Less often and what the app learned never change Treating a low.
What the app learned from your log. Under Learned from your log, in the same place, the app lists what it noticed, each with its reason, for example "Eaten on 6 of the last 14 days", "Usually at breakfast", "Eaten together at lunch on 3 days" or "Planned 4 times in 30 days, eaten once". For a food, Keep makes it your own choice and Stop using this tells the app to ignore what it saw about that food (it is then listed under Not learning about, where Learn again undoes it). For a meal you often have, Save as a meal opens the saved-meal form with its foods, and Not this meal stops it from being offered (Show them again brings back the ones you hid). The switch Learn from my log turns all of this off: suggestions then use only your limits and variety, not what you usually eat. Nothing the app learned is stored; it is worked out again each time from your log. Changing a choice needs a connection to your server: without one the app says so and changes nothing.
How the rules decide¶
1. Room left for this meal. For potassium, sodium and fluid the app takes your daily target, takes away what is eaten and planned, and shares the rest over the meals still open. For potassium, phosphorus and sodium, one main meal never gets more than 30 % of the daily target (all snacks together 15 %); fluid has no per-meal cap. Dietitians use a similar rule of thumb: about 600–700 mg of potassium per meal on a 1,800–2,200 mg day (AKF Kidney Kitchen). It is a rule of thumb, not a guideline number, so the app uses it only to choose ideas, never to warn you (design note 06).
2. Phosphorus and protein use the week. Phosphorus and protein are judged on the weekly average (KDOQI 2020), so the room for phosphorus comes from your last 6 days plus today, kept between 80 % and 120 % of a normal day.
3. Carbohydrate stays near your meal goal. A food or plan must keep the meal within 10 g of your meal carbohydrate goal. If you take fixed insulin doses, consistent carbohydrate helps your glucose (ADA 2026, Rec 5.28). You can set the 10 g between 5 and 20 g; ask your diabetes team. A snack uses Profile → Carbohydrate per snack when you set it; without it the app aims a snack at about half your meal goal, rounded to 5 g and never under 15 g, one carbohydrate choice (NKF). Today shows the snack against that goal too, and says when a snack goes over it. Today's per-meal carbohydrate alert uses the same tolerance, and leaves out carbohydrate you ate to treat a low (Targets and warnings).
4. Protein foods are judged per gram of protein. Almost every meat is "red" by the per-serving rules. So for protein foods the app looks at how much phosphorus and potassium comes with each gram of protein, and prefers foods without phosphate additives, whose phosphorus is almost fully absorbed (Kalantar-Zadeh 2010).
5. Familiar first. Foods you eat often and your saved meals score higher, so suggestions look like your own meals.
What it never does¶
- It never suggests star fruit, foods with an "avoid" flag, or anything you marked Not for me.
- It never suggests alcoholic drinks (beer, wine, spirits, or any food flagged Alcoholic drink): with insulin, alcohol can cause a low hours later (ADA 2026, Recs 5.18–5.19). A saved meal of yours keeps its drink, and you can still log one yourself.
- It never offers glucose tablets or juice as a meal, and it never limits, delays or "swaps down" a low treatment. What you like or want less often never changes the low-treatment list or card. If you had marked every low-treatment food Not for me, the list still shows them all, with the line "Shown although you marked them Not for me.", because you must always have something to take.
- It never mentions insulin, units, ratios, doses, medicines or lab values. Carbohydrate is always in grams (design note 06).
- It never calls a food "safe" or "unlimited", and it never removes a warning.
Low treatments¶
Treat a low first, with 15 g of fast carbohydrate when your glucose is under 70 mg/dL (3.9 mmol/L), and log it afterwards (Treating a low). If your profile says you have diabetes, Today has a Treating a low button: it shows what to do and your own low-treatment foods at your dose, lowest potassium first, each with Log it. A food that does not list potassium says "potassium not listed" and stays on the list. It works even with meal guidance switched off, and without a connection it still shows what to do. When you log a low treatment, keep Used to treat a low ticked (in the food sheet, under the food's numbers; it is ticked for you for glucose tablets, glucose gel and the other low-treatment foods; you can tick it for any food you used, and untick it when, say, apple juice was part of a meal). Low treatments count toward potassium, phosphorus, sodium and fluid (you really had them) but are left out of the meal carbohydrate check, and guidance never suggests a smaller dose. While the box is ticked the food sheet shows the numbers as plain information, never as a warning, and Today marks the entry treated a low. If a treatment had a lot of potassium, For your next low in the food sheet (and the day's insights) may add: "For your next low: Glucose gel (1 tube) gives 15 g carbs with 0 mg potassium." The suggested amount is never below your low-treatment dose (default 15 g, which you can set from 5 to 30 g as your diabetes team advises) (ADA 2026, section 6; Treating a low). Tablets and other single pieces are counted out whole, rounded up: with 4 g glucose tablets and a 15 g dose that is 4 tablets (16 g).
Example¶
Stage 4: potassium 3,000 mg, sodium 2,000 mg, phosphorus 1,000 mg (an average week so far), 60 g of carbohydrate per meal. Before dinner you have eaten 1,800 mg potassium, 550 mg phosphorus and 1,100 mg sodium, and nothing is planned. Dinner and the snack slot are still open, so dinner gets two thirds of what is left, and no more than 30 % of a day:
Left for dinner: 800 mg potassium · 300 mg phosphorus · 600 mg sodium · 60 g carbs to reach 60 g
Using the targets in your profile, saved Oct 3, 2026, 2:15 PM: potassium 3,000 mg · phosphorus 1,000 mg · sodium 2,000 mg · carbs per meal 60 g. Check them in Profile
If a food you logged today does not list potassium (or another of these values), the line says at most for it and adds "Some foods logged today do not list potassium, so there may be less room": the app cannot count what the label does not give.
The second line, also shown with every plan, says which targets the suggestions used and when you last saved them. If a number is old or wrong, fix it in Profile first: guidance follows your targets exactly, so a wrong target gives wrong suggestions.
You tap a baked potato with skin (1 medium: 37 g carbohydrate, 926 mg potassium). The sheet warns about potassium and offers swaps such as:
Rice, white, long-grain, cooked (¾ × 1 cup): about the same carbs (33 g vs 37 g) and 885 mg less potassium
Because the carbohydrate is about the same, your usual meal plan still fits. You can take the swap, or keep the potato on another day and leach potatoes when you do (Potassium leaching). Food values: USDA FoodData Central.
If a food in a swap idea does not list a value, the idea says so ("carbs not listed"). It never shows 0 or a difference from 0 for it.
Settings¶
In Settings → Meal guidance:
| Setting | Default | What it does |
|---|---|---|
| Show meal guidance | on | hides every part when off (Treating a low stays) |
| Show "Plan the rest of my day" | on | hides the plan builder when off |
| Show insights on Today and Trends | on | hides the insight notes when off |
| How close to my meal carb goal counts as on target | 10 g | 5–20 g; ask your diabetes team |
| Carbs I take to treat a low | 15 g | 5–30 g, from your diabetes team; sizes the low-treatment options |
| Kinds of food: None, Like, Less often, Never suggest | None | one choice for each food category, for example Fish & Seafood. Never suggest leaves the whole kind out of suggestions (it stays searchable and loggable); Like and Less often only change the order |
| Let AI re-order and explain suggestions | off | shown when your server offers AI; see below |
| Learn from my log | on | when off, suggestions use only your limits and variety, not what you usually eat |
| More like this, Less often and "Not for me" foods | none | single foods (up to 1,000 in all, of which up to 500 "Not for me"), added from the ⋯ menu of any suggestion; they stay searchable and loggable; Remove or Suggest again takes one back |
| Food preferences for AI ideas | empty | shown when your server offers AI; up to 200 characters of your own words, such as "vegetarian, no fish", sent with AI meal ideas only when AI ideas are on for you (Optional AI) |
What to do¶
- Set your targets first: guidance is only as good as your numbers (First setup).
- Log what you have eaten before asking "what fits now".
- Save meals you like, so they come up as ideas.
- Read the reason under each idea, and check portions against your plate.
If something goes wrong¶
- "Nothing in your foods fits dinner within today's potassium room." The day is nearly full. The app shows the closest meal and the numbers left. Choose a small, low-potassium meal and check Potassium.
- The same foods keep coming up. Mark them Not for me, or save new meals you like.
- "Guidance needs a connection to your server." Guidance runs on the server. While the app stays open it shows the last ideas it fetched, with their time ("Saved at 6:40 PM"); nothing is kept after you close it, because the ideas are about your health.
Optional AI ideas¶
If your admin allows it and you opt in, AI can re-rank the app's own ideas and pick between them. AI only chooses from foods the rules already allowed, and every idea is checked again by the same rules before you see it (Optional AI; design note 04).
- AI ideas, checked against your targets appears at the end of What fits now once AI ideas are on in Settings → AI ideas.
- With Let AI re-order and explain suggestions ticked in Settings → Meal guidance, you also get AI order (the same foods in the AI's order, each with its reason; tap again for the app's order), Ask AI to pick under swap ideas, and Let AI choose in the plan, which marks the meals it chose AI's pick. Each has What will be sent?, which shows the exact request before anything leaves the server, and each says how many AI picks the app's rules left out and why. Low treatments are never sent to AI.
Related pages¶
Sources¶
- Design note 06: rule-based meal guidance: rules, numbers, wording; design note 04: AI on top.
- Project architecture contract: warnings and the log API.
- AKF Kidney Kitchen: potassium per meal.
- KDOQI 2020 nutrition guideline; ADA Standards of Care 2026, sections 5 and 6 (section 6).
- Kalantar-Zadeh 2010: phosphorus from additives.
- USDA FoodData Central: food values in the example.
- NKF: carbohydrate counting with CKD: one carbohydrate choice is 15 g.
Not yet reviewed by a clinician. Facts and sources last checked 2026-10-07.