<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>the bifrost · #nerd</title>
    <link>https://simondamb.org/tags/nerd</link>
    <description>Computers, tech and all things geek</description>
    <language>en</language>
    <lastBuildDate>Tue, 22 Sep 2026 02:37:55 GMT</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>https://simondamb.org/og/default.png</url>
      <title>the bifrost · #nerd</title>
      <link>https://simondamb.org/tags/nerd</link>
    </image>
    <atom:link href="https://simondamb.org/tags/nerd/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>My Ai Nutrition App</title>
      <link>https://simondamb.org/blog/my-nutrition-app-tour</link>
      <guid isPermaLink="true">https://simondamb.org/blog/my-nutrition-app-tour</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Simon Damborg</dc:creator>
      <category>blog</category>
      <category>PROJECTS</category>
      <category>Projects</category>
      <category>technology</category>
      <category>Nutrition</category>
      <category>Protein</category>
      <category>raincity athletics</category>
      <category>Nerd</category>
      <description>Every screen of the nutrition app our Raincity members use, in the order you meet it — and why it only shows you one number to start with.</description>
      <enclosure url="https://simondamb.org/covers/attCJxvSelcYv1bYj.png" length="213075" type="image/png" />
      <media:content url="https://simondamb.org/covers/attCJxvSelcYv1bYj.png" type="image/png" medium="image" />
      <content:encoded><![CDATA[<p>Proton is the nutrition app our Raincity members use. It started life as a Softr build, and it now runs on Next.js with a Cloudflare Worker and Airtable behind it. I have never actually shown the thing, so here it is: all twenty-eight screens, in the order you meet them.</p>
<blockquote>
<p>Everything in these screenshots is made-up data for an athlete who does not exist. Nobody&#39;s real food logs, weights or names appear anywhere below.</p>
</blockquote>
<nav class="md-toc" aria-labelledby="md-toc-title"><p class="md-toc-title" id="md-toc-title">Jump to a screen</p><ol class="md-toc-list"><li class="md-toc-item md-toc-item--h2"><a href="#it-starts-with-two-numbers">It starts with two numbers</a></li><li class="md-toc-item md-toc-item--h2"><a href="#the-daily-screen">The daily screen</a></li><li class="md-toc-item md-toc-item--h2"><a href="#logging-a-meal">Logging a meal</a></li><li class="md-toc-item md-toc-item--h2"><a href="#deciding-what-to-eat">Deciding what to eat</a></li><li class="md-toc-item md-toc-item--h2"><a href="#going-back-and-fixing-things">Going back and fixing things</a></li><li class="md-toc-item md-toc-item--h2"><a href="#progress">Progress</a></li><li class="md-toc-item md-toc-item--h2"><a href="#thirty-plants-a-week">Thirty plants a week</a></li><li class="md-toc-item md-toc-item--h2"><a href="#accountability">Accountability</a></li><li class="md-toc-item md-toc-item--h2"><a href="#settings-and-the-bit-that-makes-the-ai-good">Settings, and the bit that makes the AI good</a></li><li class="md-toc-item md-toc-item--h2"><a href="#why-build-it-at-all">Why build it at all</a></li></ol></nav><h2 id="it-starts-with-two-numbers">It starts with two numbers</h2>
<p>Most nutrition apps open on a settings screen and ask you to configure yourself. Proton asks six questions instead, one at a time, and does the maths itself.</p>
<div class="md-tour is-numbered" data-tour data-tour-count="2"><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">01 / 28</span><h3 class="md-tour-heading allow-case">First run asks one question at a time</h3><p class="md-tour-body allow-case">Six steps, no settings screen. Where you are now, where you are going, and roughly what you eat today.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-01-first-run-bodyweight.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-01-first-run-bodyweight.webp&quot;,&quot;/content/images/2026/09/proton-tour-02-first-run-your-plan.webp&quot;]" aria-label="open screen 1 of 2"><img src="https://simondamb.org/content/images/2026/09/proton-tour-01-first-run-bodyweight.webp" alt="First run asks one question at a time" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">02 / 28</span><h3 class="md-tour-heading allow-case">Your plan, before you log anything</h3><p class="md-tour-body allow-case">Day one starts at one gram of protein per pound of goal bodyweight, with the calorie, carb and fat numbers derived from your goal weight and activity level.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-02-first-run-your-plan.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="1" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-01-first-run-bodyweight.webp&quot;,&quot;/content/images/2026/09/proton-tour-02-first-run-your-plan.webp&quot;]" aria-label="open screen 2 of 2"><img src="https://simondamb.org/content/images/2026/09/proton-tour-02-first-run-your-plan.webp" alt="Your plan, before you log anything" loading="lazy" decoding="async" /></a></figure></article></div><p>The line that matters is <strong>after day 1: halfway between goal and yesterday</strong>. The target is not a fixed number you either hit or fail. It moves toward your goal from wherever you actually landed the day before, which means a bad day makes tomorrow easier rather than putting you further behind.</p>
<h2 id="the-daily-screen">The daily screen</h2>
<div class="md-tour is-numbered" data-tour data-tour-count="1"><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">03 / 28</span><h3 class="md-tour-heading allow-case">Everything for today on one scroll</h3><p class="md-tour-body allow-case">A greeting that tells you what is still left, a bar for every macro you have unlocked, the last fourteen days, and today's meals. The bar card flips to stat tiles with a tap.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-03-today-dashboard.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-03-today-dashboard.webp&quot;]" aria-label="open screen 1 of 1"><img src="https://simondamb.org/content/images/2026/09/proton-tour-03-today-dashboard.webp" alt="Everything for today on one scroll" loading="lazy" decoding="async" /></a></figure></article></div><p>Note what is <em>not</em> there on day one. New members only see protein. Calories appear after five days hit, full macros after ten. It is the same app either way — it just refuses to hand you five numbers to track before you have proven you can hit one.</p>
<h2 id="logging-a-meal">Logging a meal</h2>
<p>This is the part people actually use, so it has three ways in and it always shows its working.</p>
<div class="md-tour is-numbered" data-tour data-tour-count="5"><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">04 / 28</span><h3 class="md-tour-heading allow-case">Photograph it</h3><p class="md-tour-body allow-case">The sheet opens on the camera. Review the numbers the AI comes back with, or save now and let it fill them in afterwards.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-04-log-meal-photo.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-04-log-meal-photo.webp&quot;,&quot;/content/images/2026/09/proton-tour-05-log-meal-describe.webp&quot;,&quot;/content/images/2026/09/proton-tour-06-ai-analysis-review.webp&quot;,&quot;/content/images/2026/09/proton-tour-07-bulk-log-input.webp&quot;,&quot;/content/images/2026/09/proton-tour-08-bulk-log-result.webp&quot;]" aria-label="open screen 1 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-04-log-meal-photo.webp" alt="Photograph it" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">05 / 28</span><h3 class="md-tour-heading allow-case">Or just describe it</h3><p class="md-tour-body allow-case">No photo needed. Type the meal in plain language and the same analysis runs on the text.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-05-log-meal-describe.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="1" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-04-log-meal-photo.webp&quot;,&quot;/content/images/2026/09/proton-tour-05-log-meal-describe.webp&quot;,&quot;/content/images/2026/09/proton-tour-06-ai-analysis-review.webp&quot;,&quot;/content/images/2026/09/proton-tour-07-bulk-log-input.webp&quot;,&quot;/content/images/2026/09/proton-tour-08-bulk-log-result.webp&quot;]" aria-label="open screen 2 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-05-log-meal-describe.webp" alt="Or just describe it" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">06 / 28</span><h3 class="md-tour-heading allow-case">Every item, itemised and editable</h3><p class="md-tour-body allow-case">Calories are locked and recalculated from protein, carbs and fat, so the numbers can never drift apart into something that does not add up.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-06-ai-analysis-review.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="2" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-04-log-meal-photo.webp&quot;,&quot;/content/images/2026/09/proton-tour-05-log-meal-describe.webp&quot;,&quot;/content/images/2026/09/proton-tour-06-ai-analysis-review.webp&quot;,&quot;/content/images/2026/09/proton-tour-07-bulk-log-input.webp&quot;,&quot;/content/images/2026/09/proton-tour-08-bulk-log-result.webp&quot;]" aria-label="open screen 3 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-06-ai-analysis-review.webp" alt="Every item, itemised and editable" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">07 / 28</span><h3 class="md-tour-heading allow-case">Bulk log, for the plates that need three photos</h3><p class="md-tour-body allow-case">Meal prep and big spreads rarely fit in one frame, so this takes several photos and notes together.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-07-bulk-log-input.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="3" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-04-log-meal-photo.webp&quot;,&quot;/content/images/2026/09/proton-tour-05-log-meal-describe.webp&quot;,&quot;/content/images/2026/09/proton-tour-06-ai-analysis-review.webp&quot;,&quot;/content/images/2026/09/proton-tour-07-bulk-log-input.webp&quot;,&quot;/content/images/2026/09/proton-tour-08-bulk-log-result.webp&quot;]" aria-label="open screen 4 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-07-bulk-log-input.webp" alt="Bulk log, for the plates that need three photos" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">08 / 28</span><h3 class="md-tour-heading allow-case">Merged into one meal</h3><p class="md-tour-body allow-case">The AI folds everything into a single entry with a per-item list, running totals and an editable name.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-08-bulk-log-result.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="4" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-04-log-meal-photo.webp&quot;,&quot;/content/images/2026/09/proton-tour-05-log-meal-describe.webp&quot;,&quot;/content/images/2026/09/proton-tour-06-ai-analysis-review.webp&quot;,&quot;/content/images/2026/09/proton-tour-07-bulk-log-input.webp&quot;,&quot;/content/images/2026/09/proton-tour-08-bulk-log-result.webp&quot;]" aria-label="open screen 5 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-08-bulk-log-result.webp" alt="Merged into one meal" loading="lazy" decoding="async" /></a></figure></article></div><h2 id="deciding-what-to-eat">Deciding what to eat</h2>
<p>The features I get asked about most all live in the gap between &quot;I have thirty-seven grams of protein left&quot; and &quot;so what do I actually eat&quot;.</p>
<div class="md-tour is-numbered" data-tour data-tour-count="5"><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">09 / 28</span><h3 class="md-tour-heading allow-case">Suggestions that know your day</h3><p class="md-tour-body allow-case">Three specific meals based on what you have left, each with a reason attached.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-09-meal-suggestions.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-09-meal-suggestions.webp&quot;,&quot;/content/images/2026/09/proton-tour-10-nutrition-assistant.webp&quot;,&quot;/content/images/2026/09/proton-tour-11-eating-out-start.webp&quot;,&quot;/content/images/2026/09/proton-tour-12-eating-out-menu.webp&quot;,&quot;/content/images/2026/09/proton-tour-13-eating-out-orders.webp&quot;]" aria-label="open screen 1 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-09-meal-suggestions.webp" alt="Suggestions that know your day" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">10 / 28</span><h3 class="md-tour-heading allow-case">An assistant with your numbers</h3><p class="md-tour-body allow-case">The chat already has today's totals, your targets and your history, so you get an answer about your day rather than general nutrition advice.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-10-nutrition-assistant.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="1" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-09-meal-suggestions.webp&quot;,&quot;/content/images/2026/09/proton-tour-10-nutrition-assistant.webp&quot;,&quot;/content/images/2026/09/proton-tour-11-eating-out-start.webp&quot;,&quot;/content/images/2026/09/proton-tour-12-eating-out-menu.webp&quot;,&quot;/content/images/2026/09/proton-tour-13-eating-out-orders.webp&quot;]" aria-label="open screen 2 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-10-nutrition-assistant.webp" alt="An assistant with your numbers" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">11 / 28</span><h3 class="md-tour-heading allow-case">Eating out, where most weeks fall apart</h3><p class="md-tour-body allow-case">Type a restaurant name, paste a menu link, or photograph the menu.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-11-eating-out-start.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="2" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-09-meal-suggestions.webp&quot;,&quot;/content/images/2026/09/proton-tour-10-nutrition-assistant.webp&quot;,&quot;/content/images/2026/09/proton-tour-11-eating-out-start.webp&quot;,&quot;/content/images/2026/09/proton-tour-12-eating-out-menu.webp&quot;,&quot;/content/images/2026/09/proton-tour-13-eating-out-orders.webp&quot;]" aria-label="open screen 3 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-11-eating-out-start.webp" alt="Eating out, where most weeks fall apart" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">12 / 28</span><h3 class="md-tour-heading allow-case">Tick what you ate</h3><p class="md-tour-body allow-case">When it finds the menu, the items log themselves with estimated macros.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-12-eating-out-menu.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="3" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-09-meal-suggestions.webp&quot;,&quot;/content/images/2026/09/proton-tour-10-nutrition-assistant.webp&quot;,&quot;/content/images/2026/09/proton-tour-11-eating-out-start.webp&quot;,&quot;/content/images/2026/09/proton-tour-12-eating-out-menu.webp&quot;,&quot;/content/images/2026/09/proton-tour-13-eating-out-orders.webp&quot;]" aria-label="open screen 4 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-12-eating-out-menu.webp" alt="Tick what you ate" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">13 / 28</span><h3 class="md-tour-heading allow-case">Or it tells you what to order</h3><p class="md-tour-body allow-case">When there is no menu to read it works backwards from what you still need, and says how to customise the order.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-13-eating-out-orders.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="4" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-09-meal-suggestions.webp&quot;,&quot;/content/images/2026/09/proton-tour-10-nutrition-assistant.webp&quot;,&quot;/content/images/2026/09/proton-tour-11-eating-out-start.webp&quot;,&quot;/content/images/2026/09/proton-tour-12-eating-out-menu.webp&quot;,&quot;/content/images/2026/09/proton-tour-13-eating-out-orders.webp&quot;]" aria-label="open screen 5 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-13-eating-out-orders.webp" alt="Or it tells you what to order" loading="lazy" decoding="async" /></a></figure></article></div><p>&quot;Double the chicken, dressing on the side, swap half the rice for salad&quot; is a more useful sentence than any number.</p>
<h2 id="going-back-and-fixing-things">Going back and fixing things</h2>
<div class="md-tour is-numbered" data-tour data-tour-count="5"><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">14 / 28</span><h3 class="md-tour-heading allow-case">Tap any meal</h3><p class="md-tour-body allow-case">Full macros, with edit and delete.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-14-meal-detail.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-14-meal-detail.webp&quot;,&quot;/content/images/2026/09/proton-tour-15-favourites.webp&quot;,&quot;/content/images/2026/09/proton-tour-16-history.webp&quot;,&quot;/content/images/2026/09/proton-tour-17-history-review-filter.webp&quot;,&quot;/content/images/2026/09/proton-tour-18-meal-editor-ai-uncertainty.webp&quot;]" aria-label="open screen 1 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-14-meal-detail.webp" alt="Tap any meal" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">15 / 28</span><h3 class="md-tour-heading allow-case">Favourites the AI trusts</h3><p class="md-tour-body allow-case">Star a meal and its exact macros join your library. Next time you mention it by name the AI uses those numbers instead of estimating.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-15-favourites.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="1" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-14-meal-detail.webp&quot;,&quot;/content/images/2026/09/proton-tour-15-favourites.webp&quot;,&quot;/content/images/2026/09/proton-tour-16-history.webp&quot;,&quot;/content/images/2026/09/proton-tour-17-history-review-filter.webp&quot;,&quot;/content/images/2026/09/proton-tour-18-meal-editor-ai-uncertainty.webp&quot;]" aria-label="open screen 2 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-15-favourites.webp" alt="Favourites the AI trusts" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">16 / 28</span><h3 class="md-tour-heading allow-case">History, the honest view</h3><p class="md-tour-body allow-case">Days hit, days logged and hit rate, then every day with its meals and its percentage of goal.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-16-history.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="2" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-14-meal-detail.webp&quot;,&quot;/content/images/2026/09/proton-tour-15-favourites.webp&quot;,&quot;/content/images/2026/09/proton-tour-16-history.webp&quot;,&quot;/content/images/2026/09/proton-tour-17-history-review-filter.webp&quot;,&quot;/content/images/2026/09/proton-tour-18-meal-editor-ai-uncertainty.webp&quot;]" aria-label="open screen 3 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-16-history.webp" alt="History, the honest view" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">17 / 28</span><h3 class="md-tour-heading allow-case">Flagged for review</h3><p class="md-tour-body allow-case">Anything the AI was unsure about gets a marker, and one tap filters history down to just those meals.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-17-history-review-filter.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="3" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-14-meal-detail.webp&quot;,&quot;/content/images/2026/09/proton-tour-15-favourites.webp&quot;,&quot;/content/images/2026/09/proton-tour-16-history.webp&quot;,&quot;/content/images/2026/09/proton-tour-17-history-review-filter.webp&quot;,&quot;/content/images/2026/09/proton-tour-18-meal-editor-ai-uncertainty.webp&quot;]" aria-label="open screen 4 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-17-history-review-filter.webp" alt="Flagged for review" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">18 / 28</span><h3 class="md-tour-heading allow-case">It tells you what it guessed</h3><p class="md-tour-body allow-case">Every item carries a confidence score and a note. Low-confidence items get a panel where you add what you know and re-run the analysis.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-18-meal-editor-ai-uncertainty.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="4" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-14-meal-detail.webp&quot;,&quot;/content/images/2026/09/proton-tour-15-favourites.webp&quot;,&quot;/content/images/2026/09/proton-tour-16-history.webp&quot;,&quot;/content/images/2026/09/proton-tour-17-history-review-filter.webp&quot;,&quot;/content/images/2026/09/proton-tour-18-meal-editor-ai-uncertainty.webp&quot;]" aria-label="open screen 5 of 5"><img src="https://simondamb.org/content/images/2026/09/proton-tour-18-meal-editor-ai-uncertainty.webp" alt="It tells you what it guessed" loading="lazy" decoding="async" /></a></figure></article></div><p>That last one is the feature I am most pleased with. &quot;Olive oil, fifty-eight percent confident, portion estimated from visible amount only&quot; is the app admitting something. An app that quietly invents a number is worse than useless for anyone trying to learn what they are actually eating.</p>
<h2 id="progress">Progress</h2>
<div class="md-tour is-numbered" data-tour data-tour-count="2"><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">19 / 28</span><h3 class="md-tour-heading allow-case">Thirty days at a glance</h3><p class="md-tour-body allow-case">Days hit, consistency and average intake, with a star on every day above ninety percent.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-19-progress-overview.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-19-progress-overview.webp&quot;,&quot;/content/images/2026/09/proton-tour-21-bodyweight-trend.webp&quot;]" aria-label="open screen 1 of 2"><img src="https://simondamb.org/content/images/2026/09/proton-tour-19-progress-overview.webp" alt="Thirty days at a glance" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">20 / 28</span><h3 class="md-tour-heading allow-case">Bodyweight trend</h3><p class="md-tour-body allow-case">Weigh-ins plotted against the goal line, and a nudge when it has been a week.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-21-bodyweight-trend.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="1" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-19-progress-overview.webp&quot;,&quot;/content/images/2026/09/proton-tour-21-bodyweight-trend.webp&quot;]" aria-label="open screen 2 of 2"><img src="https://simondamb.org/content/images/2026/09/proton-tour-21-bodyweight-trend.webp" alt="Bodyweight trend" loading="lazy" decoding="async" /></a></figure></article></div><h2 id="thirty-plants-a-week">Thirty plants a week</h2>
<p>Spector is named after Tim Spector, and it tracks the thirty-different-plants-a-week guideline for gut health. The trick is that there is nothing extra to log — the plants get pulled out of the meals you already recorded.</p>
<div class="md-tour is-numbered" data-tour data-tour-count="3"><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">21 / 28</span><h3 class="md-tour-heading allow-case">This week's diversity score</h3><p class="md-tour-body allow-case">Unique plants against a target of thirty, and how many food groups you covered.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-22-spector-score.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-22-spector-score.webp&quot;,&quot;/content/images/2026/09/proton-tour-23-spector-food-log.webp&quot;,&quot;/content/images/2026/09/proton-tour-24-spector-categories.webp&quot;]" aria-label="open screen 1 of 3"><img src="https://simondamb.org/content/images/2026/09/proton-tour-22-spector-score.webp" alt="This week's diversity score" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">22 / 28</span><h3 class="md-tour-heading allow-case">Where the plants came from</h3><p class="md-tour-body allow-case">Every meal with the plants found in it, grouped by day.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-23-spector-food-log.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="1" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-22-spector-score.webp&quot;,&quot;/content/images/2026/09/proton-tour-23-spector-food-log.webp&quot;,&quot;/content/images/2026/09/proton-tour-24-spector-categories.webp&quot;]" aria-label="open screen 2 of 3"><img src="https://simondamb.org/content/images/2026/09/proton-tour-23-spector-food-log.webp" alt="Where the plants came from" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">23 / 28</span><h3 class="md-tour-heading allow-case">Twelve food groups</h3><p class="md-tour-body allow-case">A running count over twenty-eight days, so the gaps are obvious. Mine is always nuts and seeds.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-24-spector-categories.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="2" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-22-spector-score.webp&quot;,&quot;/content/images/2026/09/proton-tour-23-spector-food-log.webp&quot;,&quot;/content/images/2026/09/proton-tour-24-spector-categories.webp&quot;]" aria-label="open screen 3 of 3"><img src="https://simondamb.org/content/images/2026/09/proton-tour-24-spector-categories.webp" alt="Twelve food groups" loading="lazy" decoding="async" /></a></figure></article></div><h2 id="accountability">Accountability</h2>
<div class="md-tour is-numbered" data-tour data-tour-count="2"><article class="md-tour-entry md-tour-entry--flip"><div class="md-tour-copy"><span class="md-tour-num">24 / 28</span><h3 class="md-tour-heading allow-case">Friends</h3><p class="md-tour-body allow-case">I connect members with training partners. Fourteen days of hits side by side, ranked, with streak badges.</p></div><figure class="md-tour-shot"><a href="https://simondamb.org/content/images/2026/09/proton-tour-25-friends-leaderboard.webp" class="md-tour-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2026/09/proton-tour-25-friends-leaderboard.webp&quot;,&quot;/content/images/2026/09/proton-tour-26-friends-breakdown.webp&quot;]" aria-label="open screen 1 of 2"><img src="https://simondamb.org/content/images/2026/09/proton-tour-25-friends-leaderboard.webp" alt="Friends" loading="lazy" decoding="async" /></a></figure></article><article class="md-tour-entry"><div class="md-tour-copy"><span class="md-tour-num">25 / 28</span><h3 class="md-tour-heading allow-case">Open any card</h3><p class="md-tour-body allow-case">The last seven days in full.</p></div>
<p class="feed-read-more"><a href="https://simondamb.org/blog/my-nutrition-app-tour">read the rest on the bifrost →</a></p>]]></content:encoded>
    </item>
    <item>
      <title>What is TheSport.Fit?</title>
      <link>https://simondamb.org/blog/the-sport-dot-fit</link>
      <guid isPermaLink="true">https://simondamb.org/blog/the-sport-dot-fit</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Simon Damborg</dc:creator>
      <category>blog</category>
      <category>ABOUT</category>
      <category>if3</category>
      <category>functionalfitness</category>
      <category>CF3</category>
      <category>Nerd</category>
      <description>After 12+ years of running Functional Fitness Leagues - all that knowledge of data management will now be used to help Functional Fitness Federations stay organized internationally.</description>
      <enclosure url="https://simondamb.org/covers/attdbd9LwZpvxo2et.png" length="577164" type="image/png" />
      <media:content url="https://simondamb.org/covers/attdbd9LwZpvxo2et.png" type="image/png" medium="image" />
      <content:encoded><![CDATA[<p>After running almost 30 seasons of the Functional Fitness League, I learned a lot. Not just about event coordination and management, but about movement standards, judging, and volunteer management too.</p>
<p>Right now, the sport runs almost entirely on volunteers. If we can earn government recognition, we open the door to real funding: the kind that can pay for professional technical officials instead of relying on volunteers forever.</p>
<p>To get that recognition, we need to meet Sport Canada&#39;s requirements, plus international sport accord standards. That&#39;s a mountain of paperwork and process most federations don&#39;t have the time or tools to manage well.</p>
<p>So I built <a href="http://TheSport.Fit">TheSport.Fit</a>. Software that takes everything I learned managing functional fitness and turns it into a platform for national and international governing bodies: membership, competition and qualification management, technical official certification, club directories, governance tools, all built around the standards these federations actually need to meet. The goal is simple: get internationally recognized movement standards and technical officials into the hands of every federation that wants them, faster and cheaper than building it themselves.</p>
<p>I&#39;ve donated the full product to the Canadian Functional Fitness Federation (CF3) to serve as our beta tester, and it&#39;s already running their 2026 National Championship registrations. Next: rolling out subdomains and back end access to all 50 federations under the IF3 (International Functional Fitness Federation), so each one can meet sport accord requirements with efficient, transparent governance of their own.</p>
<p>Check it out: <a href="http://cf3.thesport.fit">http://cf3.thesport.fit</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Thor's a Big Nerd: What's in My Tech Pack</title>
      <link>https://simondamb.org/blog/whats-in-my-tech-pack</link>
      <guid isPermaLink="true">https://simondamb.org/blog/whats-in-my-tech-pack</guid>
      <pubDate>Wed, 31 Oct 2018 00:00:00 GMT</pubDate>
      <dc:creator>Simon Damborg</dc:creator>
      <category>blog</category>
      <category>RECOMMENDS</category>
      <category>technology</category>
      <category>Nerd</category>
      <description>The daily-carry tech that lives in the quickpack, from the female-to-female HDMI coupler to the MX Master.</description>
      <enclosure url="https://simondamb.org/covers/att4HWOvgKIz93PN5.jpg" length="89511" type="image/jpeg" />
      <media:content url="https://simondamb.org/covers/att4HWOvgKIz93PN5.jpg" type="image/jpeg" medium="image" />
      <content:encoded><![CDATA[<p>Since I&#39;m not doing as much of that exercise thing because #mykneeistoothor, I figured I&#39;d share from my other side, #thorsabignerd.</p>
<p>I don&#39;t carry all this in my @ryu_apparel quickpack all the time, but it&#39;s a few pieces I got deals on over the years that i use almost daily at home or work - or keep ready to grab if going somewhere I may need one of them.</p>
<p>Most of these things can be bought on Amazon pretty cheap (especially on sale) or when on sale at most tech stores.... @amazonkindle Paperwhite.</p>
<p>Short HDMI cable + female to female coupler (guarantees you&#39;ll be able to connect to any device)</p>
<p>Generic Usb C to HDMI hub w/ a 64gb micro USB thumb drive in it (you can get both for about $15 each on sales)</p>
<p>Logitech MX Master 2s (links my home computer + office computer + laptop like they&#39;re one machine)</p>
<p>@google Chromecast + usb micro + apple wall usb plug (they&#39;re the best made)</p>
<p>@garmin Fenix 3 smartwatch (always on screen + 7 day battery life, only medium smart - which I like) + spare charger.</p>
<p>20,000 mAh battery pack + 6&#39; braided usb C cable (about 4 full phone charges or more from that)</p>
<p>My personal and work @moleskine both with some random multi pen that I&#39;m obsessed with. -</p>
<p>If you actually made it this far let me know if you have any questions or if this was useless af (it kept me from doing work for an hour so I&#39;m happy either way 😂). #thorsabignerd<br>#nobodyevenpaidmetodothis<br>#amidoingitwrong<br>#thorneedstogetalife<br>#lookmomimatechbloggernow</p>
<p>#mykneeisthor<br>#mythorknee<br>#thordoestheexerciseandspamstheinternets just kidding.</p>
<div class="md-gallery md-gallery--grid" data-gallery data-gallery-layout="grid" data-gallery-count-total="3"><div class="md-gallery-track" data-gallery-track><figure class="md-gallery-item"><a href="https://simondamb.org/content/images/2018/10/whats-in-my-tech-pack-01.jpg" class="md-gallery-link" data-lightbox-trigger data-lightbox-index="0" data-lightbox-images="[&quot;/content/images/2018/10/whats-in-my-tech-pack-01.jpg&quot;,&quot;/content/images/2018/10/whats-in-my-tech-pack-02.jpg&quot;,&quot;/content/images/2018/10/whats-in-my-tech-pack-03.jpg&quot;]" aria-label="open photo 1 of 3"><img src="https://simondamb.org/content/images/2018/10/whats-in-my-tech-pack-01.jpg" alt="" loading="lazy" decoding="async" /></a></figure><figure class="md-gallery-item"><a href="https://simondamb.org/content/images/2018/10/whats-in-my-tech-pack-02.jpg" class="md-gallery-link" data-lightbox-trigger data-lightbox-index="1" data-lightbox-images="[&quot;/content/images/2018/10/whats-in-my-tech-pack-01.jpg&quot;,&quot;/content/images/2018/10/whats-in-my-tech-pack-02.jpg&quot;,&quot;/content/images/2018/10/whats-in-my-tech-pack-03.jpg&quot;]" aria-label="open photo 2 of 3"><img src="https://simondamb.org/content/images/2018/10/whats-in-my-tech-pack-02.jpg" alt="" loading="lazy" decoding="async" /></a></figure><figure class="md-gallery-item"><a href="https://simondamb.org/content/images/2018/10/whats-in-my-tech-pack-03.jpg" class="md-gallery-link" data-lightbox-trigger data-lightbox-index="2" data-lightbox-images="[&quot;/content/images/2018/10/whats-in-my-tech-pack-01.jpg&quot;,&quot;/content/images/2018/10/whats-in-my-tech-pack-02.jpg&quot;,&quot;/content/images/2018/10/whats-in-my-tech-pack-03.jpg&quot;]" aria-label="open photo 3 of 3"><img src="https://simondamb.org/content/images/2018/10/whats-in-my-tech-pack-03.jpg" alt="" loading="lazy" decoding="async" /></a></figure></div></div>]]></content:encoded>
    </item>
  </channel>
</rss>
