<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: John</title>
    <description>The latest articles on DEV Community by John (@johns23424234324234).</description>
    <link>https://dev.to/johns23424234324234</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3804725%2F1a454157-2ebf-4e8a-a57a-f58d812f1cdc.png</url>
      <title>DEV Community: John</title>
      <link>https://dev.to/johns23424234324234</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/johns23424234324234"/>
    <language>en</language>
    <item>
      <title>How to Track Claude Code Token Usage Before It Surprises You</title>
      <dc:creator>John</dc:creator>
      <pubDate>Thu, 21 May 2026 20:16:42 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/how-to-track-claude-code-token-usage-before-it-surprises-you-1dm4</link>
      <guid>https://dev.to/johns23424234324234/how-to-track-claude-code-token-usage-before-it-surprises-you-1dm4</guid>
      <description>&lt;p&gt;Claude Code and Codex are getting good enough that the real problem is no longer whether the agent can do the work.&lt;/p&gt;

&lt;p&gt;The problem is knowing what it is burning while it works.&lt;/p&gt;

&lt;p&gt;Most developers only check usage after the session is already expensive. That is backwards. If an agent is running for an hour, switching models, hitting reset windows, or quietly chewing through context, the useful number is the one you can see while you are still working.&lt;/p&gt;

&lt;h2&gt;
  
  
  The visibility gap
&lt;/h2&gt;

&lt;p&gt;Built-in usage commands are useful, but they are usually reactive. You run a command, check a dashboard, or dig through logs after the fact.&lt;/p&gt;

&lt;p&gt;That is fine for audits. It is not great for live work.&lt;/p&gt;

&lt;p&gt;When I am using AI coding tools, the questions I want answered immediately are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how fast am I burning tokens?&lt;/li&gt;
&lt;li&gt;which model is doing most of the work?&lt;/li&gt;
&lt;li&gt;am I close to a reset or limit?&lt;/li&gt;
&lt;li&gt;is this session becoming expensive enough to stop and rethink?&lt;/li&gt;
&lt;li&gt;is my Mac also getting cooked by the workflow?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are tiny signals, but they change behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a menu bar view works
&lt;/h2&gt;

&lt;p&gt;A menu bar token tracker is boring in the best way. You do not need a new dashboard. You just need the number to stay visible.&lt;/p&gt;

&lt;p&gt;If usage is always one glance away, you catch runaway agent loops earlier. You notice when a simple task turned into a huge context burn. You stop treating token usage like a mystery bill.&lt;/p&gt;

&lt;p&gt;That is why I built TokenBar for macOS.&lt;/p&gt;

&lt;p&gt;It keeps AI usage, credits, reset windows, top model/activity, and Mac load visible from the menu bar while you work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who it is for
&lt;/h2&gt;

&lt;p&gt;TokenBar is most useful if you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use Claude Code, Codex, Cursor, or agent-heavy workflows&lt;/li&gt;
&lt;li&gt;run long coding sessions&lt;/li&gt;
&lt;li&gt;care about token spend before the invoice arrives&lt;/li&gt;
&lt;li&gt;want live visibility instead of another analytics tab&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is a small Mac utility, not an enterprise observability platform. That is the point.&lt;/p&gt;

&lt;p&gt;If you want to try it, it is here: &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;https://tokenbar.site&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The bigger lesson: AI coding tools are becoming powerful enough that usage visibility should be ambient, not something you remember to check later.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I built a $2.99 Mac app that warns before one AirPod dies</title>
      <dc:creator>John</dc:creator>
      <pubDate>Thu, 21 May 2026 04:02:13 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/i-built-a-299-mac-app-that-warns-before-one-airpod-dies-jdo</link>
      <guid>https://dev.to/johns23424234324234/i-built-a-299-mac-app-that-warns-before-one-airpod-dies-jdo</guid>
      <description>&lt;p&gt;The most annoying AirPods failure is not that the battery dies.&lt;/p&gt;

&lt;p&gt;It is that one AirPod silently fails to charge, and you only find out when you are already leaving, joining a call, sitting in class, or starting a workout.&lt;/p&gt;

&lt;p&gt;You open the case and see something like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Left AirPod: 100%&lt;/li&gt;
&lt;li&gt;Right AirPod: 18%&lt;/li&gt;
&lt;li&gt;Case: charged&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At that point the fix is obvious, but too late. Reseat the AirPod, clean the contact, switch headphones, or delay the call.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;AirPod Guard&lt;/strong&gt;, a tiny macOS menu bar utility for this exact problem.&lt;/p&gt;

&lt;p&gt;It watches the battery levels macOS exposes for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;left AirPod&lt;/li&gt;
&lt;li&gt;right AirPod&lt;/li&gt;
&lt;li&gt;case&lt;/li&gt;
&lt;li&gt;last checked time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then it warns you when the pattern looks wrong, especially when one side is much lower than the other.&lt;/p&gt;

&lt;p&gt;The point is not another dashboard. The point is a simple Mac notification while the case is still on your desk.&lt;/p&gt;

&lt;p&gt;Use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;catch a low AirPod before a Zoom, FaceTime, Discord, or client call&lt;/li&gt;
&lt;li&gt;avoid starting a commute with one side dying&lt;/li&gt;
&lt;li&gt;avoid a one-sided gym session because one bud did not seat properly&lt;/li&gt;
&lt;li&gt;stop opening Bluetooth settings just to guess what charged&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It runs locally, has no account, no analytics, and costs &lt;strong&gt;$2.99 lifetime&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://www.airpodguard.com" rel="noopener noreferrer"&gt;https://www.airpodguard.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you use AirPods with a Mac every day, this is a tiny fix for a very specific irritation.&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>I added Mac heat and system load to my AI token tracker</title>
      <dc:creator>John</dc:creator>
      <pubDate>Tue, 19 May 2026 01:59:11 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/i-added-mac-heat-and-system-load-to-my-ai-token-tracker-3616</link>
      <guid>https://dev.to/johns23424234324234/i-added-mac-heat-and-system-load-to-my-ai-token-tracker-3616</guid>
      <description>&lt;p&gt;I built TokenBar because I wanted one small place to answer a boring but important question:&lt;/p&gt;

&lt;p&gt;What is my AI workflow actually using right now?&lt;/p&gt;

&lt;p&gt;When you work across Claude Code, Codex, Cursor, OpenAI, Claude, Gemini, OpenRouter, and whatever else gets added to the stack next month, usage visibility gets messy fast. Each provider has its own dashboard, reset window, credits model, and vocabulary. Some tools show tokens. Some show dollars. Some only become clear after you hit a limit.&lt;/p&gt;

&lt;p&gt;TokenBar is my attempt to make that visible from the macOS menu bar.&lt;/p&gt;

&lt;p&gt;It is a local-first Mac app for tracking AI usage without turning the workflow into a spreadsheet. The menu bar view shows the things I kept checking manually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;current AI usage&lt;/li&gt;
&lt;li&gt;remaining credits or limits where available&lt;/li&gt;
&lt;li&gt;reset windows&lt;/li&gt;
&lt;li&gt;alerts before limits become a problem&lt;/li&gt;
&lt;li&gt;top model and activity&lt;/li&gt;
&lt;li&gt;provider mix&lt;/li&gt;
&lt;li&gt;supported provider and app activity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The new layer I just added is system visibility beside AI visibility.&lt;/p&gt;

&lt;p&gt;That means TokenBar now shows CPU, memory, energy pressure, heat, and active apps alongside AI spend and usage. The goal is not to replace Activity Monitor. The goal is to connect two things that usually live in different places.&lt;/p&gt;

&lt;p&gt;If I am running an agent loop, editing in Cursor, testing with multiple providers, and watching my Mac get warm, I want to see the AI side and the Mac side in one glance.&lt;/p&gt;

&lt;p&gt;In practice, it feels like Activity Monitor for AI spend, tokens, reset windows, and Mac heat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why system load belongs next to AI usage
&lt;/h2&gt;

&lt;p&gt;AI tools are not just a line item on a bill. They affect the whole development environment.&lt;/p&gt;

&lt;p&gt;Sometimes the expensive part is obvious because a provider dashboard shows a spike. Sometimes the pain is local. The fan spins up. The machine gets sluggish. Energy pressure climbs. A background app is doing more than expected. A coding agent is busy, but the provider dashboard does not tell you why your Mac feels worse.&lt;/p&gt;

&lt;p&gt;Putting both views together makes the workflow easier to reason about.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is my token usage climbing because I am actively prompting, or because an agent loop is running in the background?&lt;/li&gt;
&lt;li&gt;Am I near a reset window, or do I need to slow down for the day?&lt;/li&gt;
&lt;li&gt;Which model or provider has been doing most of the work?&lt;/li&gt;
&lt;li&gt;Is the Mac under real pressure, or does it just feel warm for a moment?&lt;/li&gt;
&lt;li&gt;Which active apps are part of the current workload?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these need a giant analytics dashboard. They need a small, persistent readout that is there when you need it and quiet when you do not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local-first by design
&lt;/h2&gt;

&lt;p&gt;The app is built as a native macOS utility, not a web dashboard. The data stays local-first, and the interface is meant to be quick enough that you can check it without context switching.&lt;/p&gt;

&lt;p&gt;I am building it for people who use mixed AI workflows every day: coding agents, IDE assistants, direct API usage, browser chats, and provider hopping. If your day moves between Claude Code, Codex, Cursor, OpenAI, Claude, Gemini, OpenRouter, and other tools, the value is not another individual provider page. It is a single place to see what is happening.&lt;/p&gt;

&lt;p&gt;TokenBar is priced simply: Basic is $5 lifetime, Pro is $15 lifetime.&lt;/p&gt;

&lt;p&gt;If this sounds useful, you can check it out here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tokenbar.site/" rel="noopener noreferrer"&gt;https://tokenbar.site/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am especially interested in feedback from people using multiple providers or running agent-heavy Mac workflows. The next question I am working on is how much signal I can show in the menu bar before it becomes noise.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>This is exactly the pain TokenBar is trying to make less absurd on macOS: live token/cost visibility in the menu bar instead of constantly checking usage pages. Nice writeup, especially the status line bit.

https://tokenbar.site/</title>
      <dc:creator>John</dc:creator>
      <pubDate>Mon, 18 May 2026 00:20:29 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/this-is-exactly-the-pain-tokenbar-is-trying-to-make-less-absurd-on-macos-live-tokencost-bcm</link>
      <guid>https://dev.to/johns23424234324234/this-is-exactly-the-pain-tokenbar-is-trying-to-make-less-absurd-on-macos-live-tokencost-bcm</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/tommy_leonhardsen_81d1f4e/i-got-tired-of-guessing-my-claude-quota-so-i-made-a-robot-read-it-for-me-3513" class="crayons-story__hidden-navigation-link"&gt;I Got Tired of Guessing My Claude Quota, So I Made a Robot Read It For Me&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/tommy_leonhardsen_81d1f4e" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2473558%2Fad9d69e4-7452-45bb-9843-6470b688e730.png" alt="tommy_leonhardsen_81d1f4e profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/tommy_leonhardsen_81d1f4e" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Tommy Leonhardsen
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Tommy Leonhardsen
                
              
              &lt;div id="story-author-preview-content-3268960" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/tommy_leonhardsen_81d1f4e" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2473558%2Fad9d69e4-7452-45bb-9843-6470b688e730.png" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Tommy Leonhardsen&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/tommy_leonhardsen_81d1f4e/i-got-tired-of-guessing-my-claude-quota-so-i-made-a-robot-read-it-for-me-3513" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Feb 19&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/tommy_leonhardsen_81d1f4e/i-got-tired-of-guessing-my-claude-quota-so-i-made-a-robot-read-it-for-me-3513" id="article-link-3268960"&gt;
          I Got Tired of Guessing My Claude Quota, So I Made a Robot Read It For Me
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/claudecode"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;claudecode&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/python"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;python&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/powershell"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;powershell&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/tommy_leonhardsen_81d1f4e/i-got-tired-of-guessing-my-claude-quota-so-i-made-a-robot-read-it-for-me-3513#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              6&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            6 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;



&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://www.tokenbar.site/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ftokenbar.site%2Fopengraph-image%3Fcee8aa95dcda6a12" height="630" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://www.tokenbar.site/" rel="noopener noreferrer" class="c-link"&gt;
            TokenBar | AI Usage Visibility and Spend Awareness for macOS
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            TokenBar is a macOS menu bar app that helps you keep AI usage, credits, and reset timing visible across OpenAI, Codex, Claude, Gemini, and other supported tools.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.tokenbar.site%2Ftokenbar-logo.svg" width="160" height="160"&gt;
          tokenbar.site
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Claude Code and Codex need a token meter in the menu bar</title>
      <dc:creator>John</dc:creator>
      <pubDate>Fri, 15 May 2026 21:47:48 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/claude-code-and-codex-need-a-token-meter-in-the-menu-bar-1goc</link>
      <guid>https://dev.to/johns23424234324234/claude-code-and-codex-need-a-token-meter-in-the-menu-bar-1goc</guid>
      <description>&lt;p&gt;Claude Code, Codex, Cursor, and agentic coding tools are getting good enough that the bottleneck is not always capability anymore. Sometimes the bottleneck is not knowing what the session is burning until the limit popup or bill shows up.&lt;/p&gt;

&lt;p&gt;I keep seeing the same pattern:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a tiny edit sends thousands of tokens&lt;/li&gt;
&lt;li&gt;a coding agent quietly eats a big chunk of quota&lt;/li&gt;
&lt;li&gt;a long context window turns into invisible spend&lt;/li&gt;
&lt;li&gt;the user only notices after the session is already expensive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That feels wrong. Token usage should be visible while you work, the same way CPU, memory, battery, or network status are visible when they matter.&lt;/p&gt;

&lt;p&gt;That is why I built TokenBar.&lt;/p&gt;

&lt;p&gt;It is a small macOS menu bar app for watching Claude, Codex, Cursor-style LLM token usage without opening a dashboard every few minutes.&lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://tokenbar.site/" rel="noopener noreferrer"&gt;https://tokenbar.site/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is $5 lifetime. If it is not useful, I will refund it.&lt;/p&gt;

&lt;p&gt;The goal is simple: catch runaway usage before it becomes a surprise.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>monitoring</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I built a $5 macOS menu bar app because AI coding token usage kept surprising me</title>
      <dc:creator>John</dc:creator>
      <pubDate>Fri, 15 May 2026 15:00:33 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/i-built-a-5-macos-menu-bar-app-because-ai-coding-token-usage-kept-surprising-me-5cld</link>
      <guid>https://dev.to/johns23424234324234/i-built-a-5-macos-menu-bar-app-because-ai-coding-token-usage-kept-surprising-me-5cld</guid>
      <description>&lt;p&gt;I kept running into the same tiny problem while using Claude Code, Cursor, Codex, and other AI coding tools:&lt;/p&gt;

&lt;p&gt;I had no good feel for how large a prompt was getting until after I sent it.&lt;/p&gt;

&lt;p&gt;That matters because token usage is not just a billing detail. It changes how fast you burn context, how noisy a session gets, and how surprising the final cost can feel.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;TokenBar&lt;/strong&gt;, a small macOS menu bar utility that keeps token count visible while you work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this exists
&lt;/h2&gt;

&lt;p&gt;AI coding turned a lot of dev work into prompt shaping.&lt;/p&gt;

&lt;p&gt;You paste a stack trace, a few files, maybe a spec, maybe a transcript, then suddenly the prompt is not small anymore.&lt;/p&gt;

&lt;p&gt;The annoying part is that the meter is usually hidden somewhere else. You only notice token burn after the fact.&lt;/p&gt;

&lt;p&gt;I wanted the opposite:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;visible while writing&lt;/li&gt;
&lt;li&gt;native macOS menu bar&lt;/li&gt;
&lt;li&gt;simple enough to keep open all day&lt;/li&gt;
&lt;li&gt;useful for Claude, Cursor, Codex, OpenAI, and other LLM workflows&lt;/li&gt;
&lt;li&gt;one-time price, not another subscription&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What TokenBar does
&lt;/h2&gt;

&lt;p&gt;TokenBar gives you a quick way to check token usage from the menu bar so you can trim giant prompts before sending them.&lt;/p&gt;

&lt;p&gt;It is not trying to be a giant analytics dashboard. It is more like a tiny odometer for AI work.&lt;/p&gt;

&lt;p&gt;If you are using AI coding tools all day, that small bit of visibility changes behavior fast. You start noticing bloated prompts before they waste context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who it is for
&lt;/h2&gt;

&lt;p&gt;TokenBar is mostly for developers, solo founders, and anyone using AI coding tools heavily on macOS.&lt;/p&gt;

&lt;p&gt;If you have ever thought:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“How big is this prompt?”&lt;/li&gt;
&lt;li&gt;“Why did this session get so expensive?”&lt;/li&gt;
&lt;li&gt;“Am I about to blow the context window?”&lt;/li&gt;
&lt;li&gt;“I wish I could see the token count before sending this”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is the use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;TokenBar is $5 lifetime for macOS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tokenbar.site/" rel="noopener noreferrer"&gt;https://tokenbar.site/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would genuinely like blunt feedback from devs using Claude Code, Cursor, Codex, or similar tools every day.&lt;/p&gt;

</description>
      <category>macos</category>
    </item>
    <item>
      <title>The calorie log has to survive bad lighting</title>
      <dc:creator>John</dc:creator>
      <pubDate>Mon, 11 May 2026 14:56:28 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/the-calorie-log-has-to-survive-bad-lighting-48ap</link>
      <guid>https://dev.to/johns23424234324234/the-calorie-log-has-to-survive-bad-lighting-48ap</guid>
      <description>&lt;p&gt;The cleanest demo for an AI food logger is usually a bright plate on a table.&lt;/p&gt;

&lt;p&gt;That is not the moment that decides whether someone keeps using it.&lt;/p&gt;

&lt;p&gt;The real test is a late dinner under bad kitchen lighting. A half eaten bowl. Leftovers in a container. A packaged snack you grabbed between calls. A meal where you remember most of it, but not enough to feel confident typing every ingredient from scratch.&lt;/p&gt;

&lt;p&gt;That is where a lot of calorie tracking products quietly lose people.&lt;/p&gt;

&lt;p&gt;Not because the user stopped caring. Not because one estimate was a little off. They quit because the next step felt like admin.&lt;/p&gt;

&lt;p&gt;If the app says, in effect, "give me a perfect photo or go do data entry," the habit breaks fast.&lt;/p&gt;

&lt;p&gt;I think the better pattern is to let the user be imperfect first.&lt;/p&gt;

&lt;p&gt;Start with the fastest input they have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;take a photo when the food is visible&lt;/li&gt;
&lt;li&gt;scan a barcode when it is packaged&lt;/li&gt;
&lt;li&gt;type a rough meal from memory when the moment is already gone&lt;/li&gt;
&lt;li&gt;correct the result quickly instead of rebuilding the whole log&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last part matters more than the first scan.&lt;/p&gt;

&lt;p&gt;A nutrition app can look impressive when it guesses a polished meal. But retention comes from the correction path after a normal meal. Can the user fix the portion? Can they swap an item? Can they log something boring in ten seconds and move on?&lt;/p&gt;

&lt;p&gt;MetricSync is built around that less glamorous moment.&lt;/p&gt;

&lt;p&gt;It is an iPhone AI nutrition tracker with photo, barcode, and text logging, plus fast correction for real meals that do not behave like demos. The goal is not to pretend every estimate is final. The goal is to make logging easy enough that the user does not drop the habit when dinner is messy.&lt;/p&gt;

&lt;p&gt;It is also cheaper than CalAI and has a 3 day free trial.&lt;/p&gt;

&lt;p&gt;If you are trying to track food consistently, the winning product is not the one that only works when the plate looks perfect.&lt;/p&gt;

&lt;p&gt;It is the one you can still use when the lighting is bad, the portion is fuzzy, and you just want to be done.&lt;/p&gt;

&lt;p&gt;MetricSync: &lt;a href="https://www.metricsync.download/" rel="noopener noreferrer"&gt;https://www.metricsync.download/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>health</category>
    </item>
    <item>
      <title>The best food log lets you be imprecise first</title>
      <dc:creator>John</dc:creator>
      <pubDate>Mon, 11 May 2026 08:06:24 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/the-best-food-log-lets-you-be-imprecise-first-1g21</link>
      <guid>https://dev.to/johns23424234324234/the-best-food-log-lets-you-be-imprecise-first-1g21</guid>
      <description>&lt;p&gt;I have been thinking about the moment where most calorie tracking apps quietly ask too much from the user.&lt;/p&gt;

&lt;p&gt;It is not usually the first clean demo. A single plate, good lighting, obvious ingredients, and a motivated user is the easy case. The harder case is when someone is already tired, already hungry, or already halfway through the day and they only remember the meal in fragments.&lt;/p&gt;

&lt;p&gt;That is the moment where precision can become friction.&lt;/p&gt;

&lt;p&gt;A lot of food logging products act like the user should know the exact answer before they start logging. Exact portion, exact brand, exact sauce, exact serving size, exact everything. That sounds responsible, but in real life it can make the first step feel heavier than the meal itself.&lt;/p&gt;

&lt;p&gt;For MetricSync, I wanted the first step to be allowed to be rough.&lt;/p&gt;

&lt;p&gt;Take a photo if the plate is still in front of you. Scan a barcode if it was packaged. Type a quick note if the food is gone and all you have is memory. Then fix the parts that matter.&lt;/p&gt;

&lt;p&gt;That sounds small, but it changes the feeling of the product.&lt;/p&gt;

&lt;p&gt;The goal is not to pretend every first estimate is perfect. The goal is to make the path from messy input to useful log short enough that people actually stay with it. If the user has to stop their night to become a nutrition data-entry clerk, the app already lost.&lt;/p&gt;

&lt;p&gt;This is also why I think AI nutrition apps should not treat manual correction as an edge case. Correction is part of the product. A good estimate that is easy to adjust beats a confident estimate that is annoying to fix.&lt;/p&gt;

&lt;p&gt;Some examples that shaped the way I think about it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A sandwich where the bread is obvious but the sauce is not&lt;/li&gt;
&lt;li&gt;A takeout bowl where the rice and protein are easy, but the oil is a guess&lt;/li&gt;
&lt;li&gt;A packaged snack where barcode is faster than camera&lt;/li&gt;
&lt;li&gt;A meal logged from memory two hours later&lt;/li&gt;
&lt;li&gt;A shared plate where the real serving was half of what the photo shows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these are rare. They are normal eating.&lt;/p&gt;

&lt;p&gt;That is the founder lesson for me: nutrition tracking retention is less about impressing someone with one scan and more about respecting the messy second, third, and tenth logs.&lt;/p&gt;

&lt;p&gt;MetricSync is my attempt at that. It is an AI food logger for iPhone with photo logging, barcode scanning, text input, quick corrections, and a 3 day free trial.&lt;/p&gt;

&lt;p&gt;If you are comparing AI calorie trackers, the question I would ask is not just "how good is the first guess?"&lt;/p&gt;

&lt;p&gt;I would ask: "how fast can I turn an imperfect meal into a log I trust enough to keep going?"&lt;/p&gt;

&lt;p&gt;That is the part I care about building.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metricsync.download/" rel="noopener noreferrer"&gt;https://www.metricsync.download/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>health</category>
      <category>productivity</category>
      <category>startup</category>
    </item>
    <item>
      <title>The meal you log from memory is the one that matters</title>
      <dc:creator>John</dc:creator>
      <pubDate>Mon, 11 May 2026 04:55:14 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/the-meal-you-log-from-memory-is-the-one-that-matters-4jl4</link>
      <guid>https://dev.to/johns23424234324234/the-meal-you-log-from-memory-is-the-one-that-matters-4jl4</guid>
      <description>&lt;p&gt;Most calorie tracking products are built around the best case meal.&lt;/p&gt;

&lt;p&gt;Clean plate. Good lighting. Clear portions. You remember what everything was. You have enough patience to fix the estimate if the app misses something.&lt;/p&gt;

&lt;p&gt;That is not the meal that decides whether someone keeps using a food logger.&lt;/p&gt;

&lt;p&gt;The harder meal is the one you log from memory at the end of the day.&lt;/p&gt;

&lt;p&gt;You ate in a rush. The sauce was mixed in. Half the snack was packaged and half was not. You remember the shape of the meal better than the exact portion. You know enough to make a useful entry, but not enough to turn logging into a research project.&lt;/p&gt;

&lt;p&gt;That is where a lot of calorie trackers become annoying.&lt;/p&gt;

&lt;p&gt;If the app only works when the user gives it a perfect photo, it is fragile. If it treats barcode scan like a backup path, it is backwards. If every correction feels like admin, the habit starts to slip.&lt;/p&gt;

&lt;p&gt;MetricSync is built for those normal messy meals.&lt;/p&gt;

&lt;p&gt;You can log with a photo when that is easiest. You can scan a barcode when packaged food is the honest source. You can type a quick note when the meal already happened. Then you can correct the result without turning the entry into a chore.&lt;/p&gt;

&lt;p&gt;That correction path matters more than people give it credit for.&lt;/p&gt;

&lt;p&gt;AI food logging is not useful because it can produce a confident first guess. It is useful when it helps someone create a reasonable log fast enough that they actually keep doing it.&lt;/p&gt;

&lt;p&gt;A close estimate that is easy to fix beats a magical estimate that is painful to edit.&lt;/p&gt;

&lt;p&gt;That is the product direction behind MetricSync: flexible logging, quick correction, and less friction around the meals people normally skip.&lt;/p&gt;

&lt;p&gt;It is cheaper than CalAI, includes more logging paths, and has a 3 day free trial.&lt;/p&gt;

&lt;p&gt;If you are trying to track food without making every meal feel like paperwork, you can try it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.metricsync.download/" rel="noopener noreferrer"&gt;https://www.metricsync.download/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AI coding sessions need an odometer</title>
      <dc:creator>John</dc:creator>
      <pubDate>Mon, 11 May 2026 04:06:52 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/ai-coding-sessions-need-an-odometer-284o</link>
      <guid>https://dev.to/johns23424234324234/ai-coding-sessions-need-an-odometer-284o</guid>
      <description>&lt;p&gt;Most AI coding tools still feel like driving without an odometer.&lt;/p&gt;

&lt;p&gt;You can move fast. You can cover a lot of ground. But unless you are checking a dashboard after the fact, you do not really know how much distance you burned getting there.&lt;/p&gt;

&lt;p&gt;That matters more than it sounds.&lt;/p&gt;

&lt;p&gt;A lot of AI waste does not show up as one dramatic mistake. It shows up as a session that slowly gets heavier:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;old logs still sitting in context&lt;/li&gt;
&lt;li&gt;files pasted once and carried forever&lt;/li&gt;
&lt;li&gt;three retries after the answer was already good enough&lt;/li&gt;
&lt;li&gt;switching to a bigger model because the current chat is muddy&lt;/li&gt;
&lt;li&gt;asking for one more polish pass when the work is basically done&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the time you notice the bill, the useful decision already passed.&lt;/p&gt;

&lt;p&gt;That is why I built TokenBar as a tiny macOS menu bar app instead of another end-of-month dashboard.&lt;/p&gt;

&lt;p&gt;I wanted the signal while I was still working.&lt;/p&gt;

&lt;p&gt;If a simple bug fix starts turning into a huge token session, I want to see that early. Maybe the right move is to restart with a cleaner brief. Maybe it is time to trim context. Maybe I should stop asking the model to clean up a task that is already solved.&lt;/p&gt;

&lt;p&gt;The point is not to obsess over every token.&lt;/p&gt;

&lt;p&gt;The point is to make token usage visible enough that it changes behavior in the moment.&lt;/p&gt;

&lt;p&gt;AI tools are getting faster, bigger, and cheaper, which is great. But bigger context windows can also hide sloppy workflows for longer. When there is no live meter, waste feels invisible until it becomes normal.&lt;/p&gt;

&lt;p&gt;TokenBar is my attempt to add that missing odometer for AI work.&lt;/p&gt;

&lt;p&gt;It sits in the macOS menu bar and shows live token usage while you work, so you can catch bloated sessions before they quietly become your default workflow.&lt;/p&gt;

&lt;p&gt;If you build with AI on a Mac, it is here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tokenbar.site/" rel="noopener noreferrer"&gt;https://tokenbar.site/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>I built MetricSync around the meals people are too tired to log</title>
      <dc:creator>John</dc:creator>
      <pubDate>Mon, 11 May 2026 03:20:32 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/i-built-metricsync-around-the-meals-people-are-too-tired-to-log-7b7</link>
      <guid>https://dev.to/johns23424234324234/i-built-metricsync-around-the-meals-people-are-too-tired-to-log-7b7</guid>
      <description>&lt;p&gt;Clean demo meals are not where calorie tracking apps win or lose.&lt;/p&gt;

&lt;p&gt;The real test is the late dinner, the post-workout snack, the half-finished bowl, or the packaged food you only have patience to scan because typing everything out feels like admin.&lt;/p&gt;

&lt;p&gt;That is the situation I kept designing around with MetricSync.&lt;/p&gt;

&lt;p&gt;The goal is not to pretend AI gets every meal perfect on the first try. The goal is to make logging fast enough that you still do it when your motivation is low, then make corrections painless when the first estimate needs cleanup.&lt;/p&gt;

&lt;p&gt;So MetricSync supports photo logging, barcode scanning, and quick text input. If a meal is messy, packaged, split, or just not worth staging for a perfect photo, there is still a path that works.&lt;/p&gt;

&lt;p&gt;That matters because nutrition tracking is mostly a retention problem. People do not usually quit after one imperfect estimate. They quit when the next meal feels like work.&lt;/p&gt;

&lt;p&gt;MetricSync is an iPhone AI nutrition tracker with a 3 day free trial: &lt;a href="https://www.metricsync.download/" rel="noopener noreferrer"&gt;https://www.metricsync.download/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have tried food logging apps before, I am curious where they usually lost you: bad estimates, too much typing, weak barcode coverage, or just the daily friction?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>health</category>
    </item>
    <item>
      <title>The meal that breaks calorie tracking is usually the boring one</title>
      <dc:creator>John</dc:creator>
      <pubDate>Mon, 11 May 2026 02:54:48 +0000</pubDate>
      <link>https://dev.to/johns23424234324234/the-meal-that-breaks-calorie-tracking-is-usually-the-boring-one-59b4</link>
      <guid>https://dev.to/johns23424234324234/the-meal-that-breaks-calorie-tracking-is-usually-the-boring-one-59b4</guid>
      <description>&lt;p&gt;Most calorie tracking apps are judged on the wrong meal.&lt;/p&gt;

&lt;p&gt;The demo meal is clean. A plate is centered, the lighting is good, the portions are obvious, and the app gets to look smart.&lt;/p&gt;

&lt;p&gt;That is not the meal that decides whether someone keeps tracking.&lt;/p&gt;

&lt;p&gt;The real test is the boring one. The half sandwich between meetings. The leftovers eaten standing up. The packaged snack you do not want to photograph. The dinner where the sauce matters more than the photo. The meal you almost skip logging because it feels like admin.&lt;/p&gt;

&lt;p&gt;That is where calorie tracking habits usually break.&lt;/p&gt;

&lt;p&gt;A food logger can be impressive on the first estimate and still lose people if the correction path is annoying. If the user has to fight the app after every close-but-wrong guess, they stop trusting it. Worse, they stop opening it.&lt;/p&gt;

&lt;p&gt;That is why I think the best AI nutrition trackers are not just camera-first products. They need to be correction-first products.&lt;/p&gt;

&lt;p&gt;Sometimes a photo is fastest. Sometimes barcode scan is the honest answer. Sometimes typing "two eggs and toast" is less friction than staging a perfect image. The product should meet the meal, not force every meal into the same input path.&lt;/p&gt;

&lt;p&gt;MetricSync is built around that idea: log with photo, barcode, or text, then fix the result quickly when real life is messier than the demo.&lt;/p&gt;

&lt;p&gt;The goal is not pretending AI gets every portion perfect on the first try. The goal is making the second step painless enough that users keep the habit.&lt;/p&gt;

&lt;p&gt;Because the boring meal is the one that compounds. If someone logs that meal, they probably log the next one. If they skip it, the whole day gets fuzzy fast.&lt;/p&gt;

&lt;p&gt;MetricSync has a 3 day free trial here: &lt;a href="https://www.metricsync.download/" rel="noopener noreferrer"&gt;https://www.metricsync.download/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are building in health or habit tracking, I would bet retention is hiding in the boring flows, not the flashy demo moments.&lt;/p&gt;

</description>
      <category>product</category>
    </item>
  </channel>
</rss>
