<?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: Realbodyfat</title>
    <description>The latest articles on DEV Community by Realbodyfat (@realbodyfat).</description>
    <link>https://dev.to/realbodyfat</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4090175%2F213b843f-b6fa-4b2d-bd8d-05a3a949f671.png</url>
      <title>DEV Community: Realbodyfat</title>
      <link>https://dev.to/realbodyfat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/realbodyfat"/>
    <language>en</language>
    <item>
      <title>Body fat from one photo — analyzed once, then deleted. Here's how I built it.</title>
      <dc:creator>Realbodyfat</dc:creator>
      <pubDate>Tue, 25 Aug 2026 21:55:41 +0000</pubDate>
      <link>https://dev.to/realbodyfat/body-fat-from-one-photo-analyzed-once-then-deleted-heres-how-i-built-it-j6l</link>
      <guid>https://dev.to/realbodyfat/body-fat-from-one-photo-analyzed-once-then-deleted-heres-how-i-built-it-j6l</guid>
      <description>&lt;p&gt;I kept wanting a number between "guess in the mirror" and "book a $150 DEXA scan." Calipers need a second person and a steady hand. Smart scales swing a few points depending on how much water you drank. So I built &lt;a href="https://realbodyfat.com/ai-body-fat-from-photo/" rel="noopener noreferrer"&gt;an AI body-fat scan from one photo&lt;/a&gt;: upload one full-body photo, get body fat %, lean mass and fat mass in about ten seconds.&lt;/p&gt;

&lt;p&gt;The constraint that shaped the whole thing: &lt;strong&gt;the photo is analyzed once and discarded.&lt;/strong&gt; No account, so there's no row to attach it to. Nothing is written to disk, and nothing is used for training. That turned out to drive most of the architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Astro on Cloudflare Workers.&lt;/strong&gt; The marketing pages, the free US Navy tape calculator, and ~190 programmatic pages (body-fat-by-waist, Army max-waist by height, method comparisons) are static and served from the edge. The photo scan is the only dynamic part.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A single React island&lt;/strong&gt; for the scan flow — image picker, the request, the result card. The rest of the site ships zero JS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Durable Objects for credit wallets.&lt;/strong&gt; No user accounts, but people who buy a credit pack need their credits to persist. A license code maps to a Durable Object that holds the balance. It's the smallest stateful thing I could get away with, and it means there's no user table to leak.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A vision model behind a Worker&lt;/strong&gt; does the estimate. The image goes straight through — Worker → model → result — and is never persisted at either end.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The honest part
&lt;/h2&gt;

&lt;p&gt;It's an &lt;strong&gt;estimate, not a measurement&lt;/strong&gt;, and the site says so on every page. DEXA is better and I say that too. Photo-based estimation is weakest at the extremes (very lean or very muscular bodies), and depends on photo quality. The Navy tape method — also free and unlimited on the site — lands within about 3–4 points of DEXA for typical builds if you'd rather use a tape than a camera. The move I recommend is to pick one method and track the trend over weeks, not to trust any single reading.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing, because someone always asks
&lt;/h2&gt;

&lt;p&gt;One free scan a day, no account. After that it's a one-time credit pack — no subscription, and credits never expire. Each scan costs me inference, so the free tier covers casual tracking and packs cover people who want more.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;p&gt;Going account-less made the credit system the hardest part, not the ML. If I started over I'd design the license-code → wallet flow first and build the rest around it, instead of bolting statefulness onto a deliberately stateless site.&lt;/p&gt;

&lt;p&gt;Happy to answer anything about the edge setup, the zero-retention design, or where the estimate falls over. Try it: the &lt;a href="https://realbodyfat.com/" rel="noopener noreferrer"&gt;free body fat calculator&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>showdev</category>
    </item>
    <item>
      <title>Real Body Fat: Your body fat, in one photo.</title>
      <dc:creator>Realbodyfat</dc:creator>
      <pubDate>Sat, 22 Aug 2026 21:39:47 +0000</pubDate>
      <link>https://dev.to/realbodyfat/real-body-fat-your-body-fat-in-one-photo-476o</link>
      <guid>https://dev.to/realbodyfat/real-body-fat-your-body-fat-in-one-photo-476o</guid>
      <description>&lt;p&gt;Estimating body composition usually requires expensive clinic visits or inaccurate smart scales. &lt;a href="https://realbodyfat.com/" rel="noopener noreferrer"&gt;Real Body Fat&lt;/a&gt; is a new web-based AI tool that estimates body fat percentage, lean mass, and fat mass from a single full-body photo—along with your age, height, and weight. &lt;/p&gt;

&lt;p&gt;It's designed as a fast, accessible fitness estimate for training and tracking, minus the clinic. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvsm0ojg5pj8pth3m97sy.png" class="article-body-image-wrapper"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvsm0ojg5pj8pth3m97sy.png" alt="Real Body Fat - AI Body Scan" width="448" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Photo Analysis:&lt;/strong&gt; Get your body fat %, lean mass, and fat mass in seconds from one photo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Retention Guarantee:&lt;/strong&gt; Photos are analyzed once in real-time. They are never stored and never used for training AI models. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frictionless Entry:&lt;/strong&gt; 1 free scan a day with absolutely no account or sign-up required.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free Alternative:&lt;/strong&gt; A free, unlimited US Navy circumference (tape-method) calculator sits alongside the AI tool.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Honest Limitations:&lt;/strong&gt; We state our limits clearly on the page (e.g., DEXA is better for clinical accuracy, and very lean bodies may read high).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  💳 Pricing &amp;amp; Platform
&lt;/h3&gt;

&lt;p&gt;We hate subscription fatigue. Real Body Fat uses a straightforward freemium model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Free Tier:&lt;/strong&gt; 1 free AI scan per day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Credit Packs:&lt;/strong&gt; One-time credit packs starting at $5 for 10 scans, or $15 for unlimited. Credits never expire. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zero Subscriptions.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform:&lt;/strong&gt; Web (optimized for both mobile and desktop browsers).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you're tracking your cutting phase or just curious about your baseline, try it out and let us know what you think! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it here:&lt;/strong&gt; &lt;a href="https://realbodyfat.com/" rel="noopener noreferrer"&gt;Real Body Fat&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Launched: August 2026 | Support: &lt;a href="mailto:realbodyfat.com@gmail.com"&gt;realbodyfat.com@gmail.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>ai</category>
      <category>health</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
