<?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">
  <channel>
    <title>Bull Holder Blog</title>
    <link>https://bullholder.com/blog</link>
    <description>Personal finance, in plain words.</description>
    <language>en</language>
    <atom:link href="https://bullholder.com/blog/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Mon, 17 Aug 2026 00:00:00 +0000</lastBuildDate>
    <item>
      <title>Goals beat percentages</title>
      <link>https://bullholder.com/blog/goals-beat-percentages</link>
      <guid isPermaLink="true">https://bullholder.com/blog/goals-beat-percentages</guid>
      <pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate>
      <description>Save 20% of your income sounds like a plan. It has no name and no finish line, so it is the first promise you break. A named goal with a number ends it.</description>
      <content:encoded><![CDATA[
    <p>
      In January you told yourself you'd save 20% of every paycheck. By
      March the number in your savings account was $60. Nothing was wrong
      with your income. Nothing was wrong with your intentions. The plan
      just never had a name, and a plan with no name is the easiest one to
      skip.
    </p>
    <h2>20% of what, toward what</h2>
    <p>
      Save a fixed share of your income — the percentage rule — sounds
      precise because it has a number in it. But the number describes an
      amount, not a reason. On $4,200 a month, 20% is $840, due again next
      month, and the month after that, forever, toward nothing specific.
      There is no point where it's done, so there's no cost to skipping one
      month "just this once." Nothing on the calendar says you failed.
    </p>
    <h2>A named target has a finish line</h2>
    <p>
      Open Savings in Bullholder and the first thing you're asked is not a
      percentage — it's a name and an amount. Emergency Fund, $3,000.
      Sarah's Wedding, $6,500. Every deposit you log against that goal moves
      a bar that's visibly closer to full, and every dollar in it is
      already spoken for. A goal with a name isn't competing with your
      other spending for meaning — it has its own.
    </p>
    <p>
      Say you open an Emergency Fund goal at $3,000. You put in $400 in
      month one, skip month three because the car needed brakes, then add
      $500 in month four to catch up. The percentage rule would have called
      that skipped month a failure. The goal doesn't — it just shows
      $2,100 short of $3,000, and lets you decide how fast to close the
      gap.
    </p>
    <h2>Pick your own finish date</h2>
    <p>
      The app tracks the amount, not the calendar — so the deadline is
      yours to set and hold yourself to: six months for the emergency fund,
      a year for the wedding. Write the date next to the goal name wherever
      you'll actually see it, then let the progress bar tell you if $400 a
      month gets you there on time or if you need to raise it to $500.
    </p>
    <p>
      A percentage is the savings version of
      <a href="https://bullholder.com/blog/why-budgets-fail">a budget wish</a> — a number that
      sounds disciplined but was never built from anything real. A named
      goal is built from a real amount you chose on purpose.
    </p>
    <p>
      Open Savings, tap New Goal, and name it after what it's actually for.
      Set the number that ends it. That's the plan the percentage never
      gave you.
    </p>
  ]]></content:encoded>
    </item>
    <item>
      <title>The Sunday receipt pile</title>
      <link>https://bullholder.com/blog/sunday-receipt-pile</link>
      <guid isPermaLink="true">https://bullholder.com/blog/sunday-receipt-pile</guid>
      <pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate>
      <description>Typing every receipt into an app the night you buy something never survives a real week. Snapping a photo and clearing the pile once does.</description>
      <content:encoded><![CDATA[
    <p>
      Twelve receipts pile up in a coat pocket by Friday: coffee, a pharmacy
      run, gas, a birthday card, three lunches you meant to log and forgot.
      None of them made it into any app. Typing each one in the moment never
      survives a real week.
    </p>
    <h2>Logging one at a time is the first thing to go</h2>
    <p>
      Open the app, pick a category, type the amount, save — five taps for a
      five-dollar coffee. Do that after every purchase for four days straight
      and the fifth day you skip it. By the second week the habit is gone,
      and so is the data it was supposed to leave behind.
    </p>
    <p>
      The fix is not more discipline. It is fewer decisions. Snap a photo of
      the receipt at the register and put the paper back in your pocket. No
      typing, no category, no app open at checkout. The decision moves from
      twelve separate moments during the week to one sitting at the end of
      it.
    </p>
    <h2>Twelve receipts, fifteen minutes, one sitting</h2>
    <p>
      On Sunday, empty the pocket into your camera roll and upload the whole
      stack. Bullholder's batch scan takes 2 to 30 photos at once and reads
      three of them at the same time, so twelve receipts clear in roughly
      the time four would take on their own. Fifteen minutes, once, replaces
      twelve separate five-tap sessions spread across the week.
    </p>
    <p>
      Each receipt becomes one expense, filed under the category the scan
      reads off it — coffee under dining, gas under transport — with the
      individual line items folded into that single total rather than
      tracked one by one. A bank statement gets read differently: every
      debit, money that left the account, becomes its own expense, while
      credits and refunds are dropped, because a receipt pile is about where
      the money went, not where some of it came back from.
    </p>
    <h2>One bad photo doesn't cost you the other eleven</h2>
    <p>
      A blurry receipt or one shot at an angle happens in every stack. The
      batch doesn't stop for it — the other eleven finish and post as
      expenses, and the app flags only the one or two it couldn't read, with
      a retry that reprocesses just those instead of the whole pile.
    </p>
    <p>
      A budget only means something if the number under it is real, and a
      <a href="https://bullholder.com/blog/why-budgets-fail">real number</a> starts with every
      receipt landing in the pile, not just the ones you happened to
      remember.
    </p>
    <p>
      Next time a receipt lands in your pocket, leave it there instead of
      the trash. On Sunday, empty the pocket into your camera roll, open the
      batch upload, and watch a full week turn into logged expenses in
      under fifteen minutes.
    </p>
  ]]></content:encoded>
    </item>
    <item>
      <title>Why your budget fails in month three</title>
      <link>https://bullholder.com/blog/why-budgets-fail</link>
      <guid isPermaLink="true">https://bullholder.com/blog/why-budgets-fail</guid>
      <pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate>
      <description>Most budgets survive January and die in March. The problem is not discipline, it is a number that was never real.</description>
      <content:encoded><![CDATA[
    <p>
      In January you wrote $400 next to groceries. In March you spent $612 and
      called yourself undisciplined. You were not. The $400 was never your
      grocery number — it was your hope for a grocery number.
    </p>
    <h2>The number you wish vs the number you are</h2>
    <p>
      Take three complete months of real spending and average them. That is
      your number. A budget built on it survives contact with a normal month,
      because it already contains your normal month.
    </p>
    <table>
      <tr><th>Category</th><th>Wished</th><th>Real 3-month average</th></tr>
      <tr><td>Groceries</td><td>$400</td><td>$580</td></tr>
      <tr><td>Eating out</td><td>$100</td><td>$245</td></tr>
      <tr><td>Transport</td><td>$120</td><td>$138</td></tr>
    </table>
    <h2>Where month three goes wrong</h2>
    <svg viewBox="0 0 600 220" role="img" aria-label="Budget vs actual over four months">
      <line x1="40" y1="180" x2="580" y2="180" stroke="#cacacb"></line>
      <line x1="40" y1="100" x2="580" y2="100" stroke="#e5e5e5" stroke-dasharray="4 4"></line>
      <text x="44" y="94" fill="#707072" font-size="12">budget: $400</text>
      <polyline points="80,140 210,150 340,60 470,52" fill="none" stroke="#111111" stroke-width="3"></polyline>
      <text x="72" y="205" fill="#707072" font-size="12">Jan</text>
      <text x="202" y="205" fill="#707072" font-size="12">Feb</text>
      <text x="332" y="205" fill="#707072" font-size="12">Mar</text>
      <text x="462" y="205" fill="#707072" font-size="12">Apr</text>
    </svg>
    <p>
      January and February hold because the year starts with attention.
      March is when attention runs out and the real number takes over.
      A budget set at the real number has no month three.
    </p>
    <blockquote>
      A budget is a measurement you commit to, not a wish you make.
    </blockquote>
    <p>
      Open your last three months of statements tonight. Average one category —
      just one — and replace the wish with the average. That category will
      never surprise you again.
    </p>
  ]]></content:encoded>
    </item>
  </channel>
</rss>
