<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Tools on FinFr.ee: Financial Freedom for Globally Mobile Investors</title>
    <link>http://localhost:1313/tags/tools/</link>
    <description>Tools, math, and lived experience for expats building wealth across borders. Passive portfolios and active income from a Dubai-based trader.</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Copyright © 2026 | All rights reserved</copyright>
    <lastBuildDate>Mon, 22 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://localhost:1313/tags/tools/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>I Built a Dividend Tracker That Doesn&#39;t Touch the Cloud</title>
      <link>http://localhost:1313/posts/dividend-tracker-local-first-mac/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>http://localhost:1313/posts/dividend-tracker-local-first-mac/</guid>
      <description>Most dividend trackers get the math wrong, lock you to a single currency, and ship your entire portfolio to someone else&#39;s server. So I built one. It runs on your Mac, handles every currency, and is free during the beta.</description>
      <content:encoded><![CDATA[<div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl">
  I needed a tool that allowed me to enter and track my dividends in multiple currencies and different brokerage accounts. I couldn't find a decent tool without sharing all my infos on the internet. So I built one. It runs on your Mac, handles every currency, and is free during the beta.
</div>


<h2 class="relative group">The three things existing dividend trackers get wrong
    <div id="the-three-things-existing-dividend-trackers-get-wrong" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-three-things-existing-dividend-trackers-get-wrong" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Look at the popular dividend trackers on the market. Most of them have at least one of three problems. Most of them have all three.</p>
<p><strong>Problem one. They live in the cloud.</strong> Sign up. Verify your email. Connect your brokerage. Hand over read-only credentials. Trust them with your full holdings, your transaction history, every position, every cost basis. For a tool that exists to help you understand your own money. That feels backwards.</p>
<p><strong>Problem two. They speak one currency, usually USD.</strong> If you hold Swiss stocks, German ETFs, and a UK gilt alongside your US dividend payers, the standard tools either ignore the FX problem or solve it badly. Converting at today's spot rate for a cost basis you set up five years ago is not accuracy. It is a number that looks like accuracy.</p>
<p><strong>Problem three. The forward-income math is wrong.</strong> The lazy formula is <em>&quot;last quarterly dividend × four.&quot;</em> That breaks for special dividends, breaks for unusual frequencies, breaks for any payer that raised mid-year. The right formula is the trailing twelve months of dividends per share, summed. Most trackers do not do that.</p>
<p>These three problems compound. A cloud-based, USD-only, last-quarter-times-four tracker tells you a forward income number that is off by 15% in the wrong direction, in the wrong currency, while quietly logging your entire net worth somewhere in California.</p>
<p>I built Dividend Tracker to fix all three.</p>

<h2 class="relative group">What it is
    <div id="what-it-is" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-it-is" aria-label="Anchor">#</a>
    </span>
    
</h2>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><p><strong>Dividend Tracker</strong> is a local-first dividend journal for macOS. Your portfolio lives in a single SQLite file on your Mac. No accounts. No cloud. No broker connection. No telemetry. Free during the beta.</p>
<p><strong><a href="https://github.com/leviceroy/Dividend-Tracker/releases/latest"  target="_blank" rel="noreferrer">⬇️ Download the latest release</a></strong> (universal Mac binary, Apple Silicon + Intel)</p>
</span>
</div>

<p>The pitch on the GitHub page reads: <em>&quot;Bloomberg for dividend investors, on your Mac.&quot;</em> That is the goal. Decision-grade accuracy on the math, a dense KPI surface on the dashboard, every figure click-expandable down to the formula it was computed from. And it stays on your machine.</p>

<h2 class="relative group">The math that's usually wrong elsewhere
    <div id="the-math-thats-usually-wrong-elsewhere" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-math-thats-usually-wrong-elsewhere" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>This is the part that took the longest to get right. It is also the part that separates a serious tool from a glorified spreadsheet.</p>
<p><strong>Forward annual income.</strong> Sum the last twelve months of declared dividends per share, multiply by your share count, repeat for every position. Where the broker has published an indicated rate that already reflects an announced raise, prefer that. Show both numbers in a detail panel so you can see which source the headline is using. Never multiply a single quarterly payment by four.</p>
<p><strong>Yield on cost.</strong> Use the cost basis in your reporting currency at the FX rate on the day you bought. Not today's spot rate. Yield on cost is a measurement of what your past self decided. Reflecting it through current FX is technically wrong and practically misleading.</p>
<p><strong>Splits, special dividends, DRIP.</strong> Stock splits scale shares and weighted-average cost together so cost basis stays intact. Special dividends count toward TTM but not toward the indicated rate. DRIP reinvestments are recorded as share-accruing buys at the dividend date with the correct cost basis. Each of these is a place where lazy trackers cut corners. Dividend Tracker does not.</p>
<p><strong>Withholding tax.</strong> Real dividend investing across borders means real WHT to track. Per-jurisdiction treaty rates. Recoverable US WHT marked separately. Effective WHT percentage as a portfolio-level KPI. The output is a number you could give to your accountant without flinching.</p>
<p>The dashboard also exposes a FIRE income target so you can see when your forward dividend income covers your spending. If you want to size that target in the first place, the <a href="/calculators/swr-passive-income-calculator/" >SWR passive income calculator</a> walks the inverse math (how much capital you need to throw off $X per month).</p>

<h2 class="relative group">What's actually in it
    <div id="whats-actually-in-it" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#whats-actually-in-it" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>A non-exhaustive tour. The screenshots on the <a href="https://github.com/leviceroy/Dividend-Tracker"  target="_blank" rel="noreferrer">GitHub page</a> do this better than words:</p>
<ul>
<li><strong>Dashboard</strong> with realized income (TTM / YTD / MTD), forward income (annual + indicated, gross and net of WHT), valuation, dividend growth (CAGR, streaks, cuts), and quality KPIs (Chowder Number, 5-year DGR, payout ratio, FCF coverage).</li>
<li><strong>Dividend Safety Score</strong> (0 to 100) per holding. Open formula, no subscription. Inputs: streak, payout ratio, FCF coverage, debt-to-equity, earnings growth. Sector-tuned thresholds so REITs and utilities are not unfairly penalized for payout ratios that are normal for their business model.</li>
<li><strong>FIRE timeline</strong> with monthly-contribution projection plus a Monte Carlo overlay (p10 to p90 ribbon over 1,000 sequence-of-returns paths) so the income-target answer is honest about uncertainty. The same Monte Carlo logic powers the <a href="/calculators/monte-carlo-retirement-calculator/" >retirement simulator</a> on this site, with a <a href="/posts/monte-carlo-simulation-retirement-planning/" >methodology walkthrough</a> if you want the math.</li>
<li><strong>Benchmark comparison</strong> versus SPY, VYM, SCHD, and SSMI: 1-year total return, current yield, 3-year DGR, with spread.</li>
<li><strong>Per-account portfolio detail</strong> with IRR, asset-class allocation donut, and holdings scoped to that account. Sum-across-accounts equals portfolio headlines by construction.</li>
<li><strong>Watchlist</strong> as a pre-purchase research dock between Holdings and Transactions. Target-price and target-yield cells light up green when the market crosses them.</li>
<li><strong>Reinvestment simulator</strong> counterfactual overlay: what your cumulative income would have been if every dividend had been DRIPed into the same ticker.</li>
<li><strong>Ex-date heatmap</strong> (78 weeks back, 26 ahead), with broker-declared dates preferred over projected.</li>
<li><strong>macOS notifications</strong> N days before each declared ex-date (configurable, default 3 days).</li>
<li><strong>CSV export</strong> for every table.</li>
<li><strong>Command palette</strong> (⌘K) for global navigation.</li>
</ul>
<p>It is dense. That is by design. The audience is someone who is serious about their dividend portfolio and tired of toy tools.</p>

<h2 class="relative group">Who it's for
    <div id="who-its-for" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#who-its-for" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>This is not a tool for someone who owns one S&amp;P 500 ETF and wants to know what their next quarterly distribution looks like. There are simpler tools for that.</p>
<p>This is a tool for:</p>
<ul>
<li><strong>Multi-currency investors.</strong> Expats. Anyone with accounts in two or more currencies. The whole architecture starts from <em>&quot;your reporting currency is one thing, the markets you hold are something else.&quot;</em></li>
<li><strong>Multi-account investors.</strong> Fidelity USD next to a Swiss broker in CHF next to whatever else you hold. Each broker rolled up separately, then aggregated into the portfolio.</li>
<li><strong>People who want to see the formula.</strong> Every KPI on the dashboard is click-expandable to show how it was computed. No black-box metrics.</li>
<li><strong>Privacy-first investors.</strong> Your dividend ledger is a complete map of your wealth. It does not need to be on someone else's server.</li>
</ul>
<p>If your portfolio is one Schwab account in USD only, this tool is overkill. If your portfolio looks like the actual financial reality of a globally mobile income investor, this is what I would want you to use.</p>
<p>(And if you are still deciding whether a dividend tilt belongs in your portfolio at all, read <a href="/posts/why-i-dont-chase-dividends/" >Why I Don't Chase Dividends</a> first. The tool is built for income investors. The argument for being one is a separate question, and an honest one.)</p>

<h2 class="relative group">Honest caveats
    <div id="honest-caveats" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#honest-caveats" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>I am not going to dress this up.</p>
<p><strong>macOS only for now.</strong> Windows is on the roadmap. The Tauri stack supports it; the signing and auto-update pipeline needs porting. No timeline I will commit to publicly yet.</p>
<p><strong>No broker connection.</strong> You enter your own buys, sells, splits, and dividends. The app fetches public market prices, exchange rates, and historical dividend events from Yahoo Finance and Frankfurter (the ECB rate feed). It does not log into your brokerage and it never will. That is a design choice, not a limitation I plan to fix.</p>
<p><strong>Free during the beta.</strong> A yearly subscription is planned later. Existing installs will continue to work. Pricing details when the beta closes.</p>
<p><strong>Proprietary license.</strong> The source code is private. The binary is free during beta but governed by an EULA: licensed not sold, no redistribution, no reverse engineering. Local-first does not mean open source.</p>
<p><strong>Informational tool, not advice.</strong> Verify every figure before you trade on it or file taxes against it.</p>

<h2 class="relative group">Coming next
    <div id="coming-next" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#coming-next" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The roadmap is open and prioritized by reactions on GitHub issues. Top of the queue:</p>
<ol>
<li><strong>Broker CSV import</strong> for Schwab, Fidelity, IBKR, Swissquote, UBS. Stop typing dividends by hand.</li>
<li><strong>Tax-year CSV exports</strong> for DA-1 (Swiss) and 1099-DIV (US), ready to hand to your accountant.</li>
<li><strong>Cost-basis methods</strong> beyond weighted-average: FIFO and LIFO, selectable per account.</li>
<li><strong>Windows build.</strong></li>
<li><strong>iOS / iPad read-only companion.</strong></li>
<li><strong>Encrypted iCloud backup.</strong></li>
</ol>
<p>Want to move something up the list? Find the issue on <a href="https://github.com/leviceroy/Dividend-Tracker/issues"  target="_blank" rel="noreferrer">GitHub</a> and click 👍. The roadmap is sorted by reaction count, and the most-voted items get prioritized.</p>

<h2 class="relative group">How to install
    <div id="how-to-install" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-install" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Three steps.</p>
<ol>
<li>Download the <code>.dmg</code> from the <a href="https://github.com/leviceroy/Dividend-Tracker/releases/latest"  target="_blank" rel="noreferrer">latest release</a>.</li>
<li>Open the <code>.dmg</code> and drag <strong>Dividend Tracker</strong> to <code>/Applications</code>.</li>
<li>First launch: right-click the app, choose <strong>Open</strong>, then <strong>Open</strong> again in the Gatekeeper warning. The app is not Apple-notarized yet, so macOS warns once. After that it launches normally.</li>
</ol>
<p>If you want to explore before entering your own data: <strong>Admin → DEMO DATA → Load demo data</strong> seeds two sample accounts, four holdings, and a few recent dividend payments so every tab fills with realistic numbers. <strong>Delete demo data</strong> later removes exactly those rows without touching anything you have added.</p>

<h2 class="relative group">Bottom line
    <div id="bottom-line" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#bottom-line" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The financial-tools industry built dividend trackers for people who are happy to hand over their data in exchange for a slick UI and a monthly subscription. That is not the audience here.</p>
<p>I built Dividend Tracker for the income investor who wants:</p>
<ul>
<li>The math done correctly</li>
<li>The currencies handled correctly</li>
<li>The data kept on their own machine</li>
<li>The tool free during the beta</li>
</ul>
<p>If that describes you, <strong><a href="https://github.com/leviceroy/Dividend-Tracker/releases/latest"  target="_blank" rel="noreferrer">download it</a></strong>, try the demo data, and decide for yourself. If it solves a problem, leave a star on the <a href="https://github.com/leviceroy/Dividend-Tracker"  target="_blank" rel="noreferrer">GitHub repo</a>. If a feature should land sooner, vote on the relevant issue with a 👍.</p>
<p>I would rather build this for people who need it than ship a generic tracker that sells your data and your time.</p>
]]></content:encoded>
      
      <media:content url="http://localhost:1313/img/featured/dividend-tracker-local-first-mac.webp" medium="image" />
    </item>
    
  </channel>
</rss>
