<?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: ARCHON STRATAGEM</title>
    <description>The latest articles on DEV Community by ARCHON STRATAGEM (@archon_stratagem_syndicate).</description>
    <link>https://dev.to/archon_stratagem_syndicate</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%2F4017921%2Fbe1fa446-7c48-4a6c-a633-2cd558f77e34.png</url>
      <title>DEV Community: ARCHON STRATAGEM</title>
      <link>https://dev.to/archon_stratagem_syndicate</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/archon_stratagem_syndicate"/>
    <language>en</language>
    <item>
      <title>Pocket Audit: A $19 Private Expense Audit for Freelancers</title>
      <dc:creator>ARCHON STRATAGEM</dc:creator>
      <pubDate>Sun, 18 Oct 2026 22:08:49 +0000</pubDate>
      <link>https://dev.to/archon_stratagem_syndicate/pocket-audit-a-19-private-expense-audit-for-freelancers-24ha</link>
      <guid>https://dev.to/archon_stratagem_syndicate/pocket-audit-a-19-private-expense-audit-for-freelancers-24ha</guid>
      <description>&lt;h2&gt;
  
  
  Pocket Audit: A $19 Private Expense Audit for Freelancers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #devchallenge #hf26challenge&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Drop in a bank CSV. Find duplicate charges, recurring subscriptions, and fee creep — without uploading your financial data anywhere.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt; &lt;a href="https://github.com/archonstratagemai-lab/pocket-audit" rel="noopener noreferrer"&gt;Repository&lt;/a&gt; · &lt;a href="https://youtu.be/mRt7aXbpDO8" rel="noopener noreferrer"&gt;Demo video&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Built:&lt;/strong&gt; October 12–18, 2026, for the Hacktoberfest Week 2 "Side Hustle" challenge&lt;br&gt;
&lt;strong&gt;Stack:&lt;/strong&gt; Python (stdlib only) · Qwen3-1.7B open-weight model via llama-server · zero third-party services&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;A freelancer has six months of bank transactions and no time to read them. Somewhere in there: a design tool they're paying for twice under two different merchant names, a SaaS subscription that crept from $15 to $20 a month, a recurring charge for something they stopped using months ago.&lt;/p&gt;

&lt;p&gt;The existing fixes all ask for too much trust. Expense apps want a live bank connection or a full transaction-history upload to somebody's cloud. You're supposed to hand over the single most revealing document you own — income, clients, software stack, travel, all of it — just to find a forgotten $12 subscription.&lt;/p&gt;

&lt;p&gt;I wanted the audit without the surrender.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who would pay for it
&lt;/h2&gt;

&lt;p&gt;Freelancers, consultants, creators — anyone whose business runs through one checking account and a stack of SaaS tools. Not people who love budgeting software. People who want one question answered: &lt;em&gt;where is my money leaking?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The price is $19, once. Not monthly — the product helps you kill recurring costs, so becoming one would be a joke. The math that sells it: one forgotten $12/month subscription is $144 a year. Pocket Audit pays for itself in under two months off a single find, and the audit itself takes minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Pocket Audit is a local-first web app. You choose a bank CSV from your device, confirm the column mapping, and it runs the full audit on your machine:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Import&lt;/strong&gt; — the file never leaves the device. No bank login, no account, no upload.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Normalize&lt;/strong&gt; — every bank format maps into one canonical transaction record (plain bank dates, signed amounts in integer minor units, ISO currency codes).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Detect&lt;/strong&gt; — a deterministic rules engine finds exact duplicates, recurring charges, price creep, and service overlaps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explain&lt;/strong&gt; — a compact open-weight model (Qwen3-1.7B, running locally through llama-server) cleans up messy merchant names and writes plain-English explanations. It never touches the math.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Report&lt;/strong&gt; — a dashboard with one honest headline: potential savings from high-confidence findings only, every flag traceable to its transactions, every flag dismissible.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The whole thing runs on a 4GB phone. I know, because that's the hardware I built it against.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;I seeded a year of freelancer checking activity with believable mess: ADOBE*CREATIVECLD 800-833-6687&lt;code&gt;next to&lt;/code&gt;Adobe Inc.`, two overlapping design subscriptions, a software bill that rose mid-year, a dead tool still billing.&lt;/p&gt;

&lt;p&gt;Pocket Audit's verdict: &lt;strong&gt;$184/year in potential savings&lt;/strong&gt; — $96 in likely duplicate subscriptions, $48 in a recurring price increase, $40 in charges flagged for review (kept out of the high-confidence headline — the report won't spend money it can't prove). Each finding opens to the exact transactions behind it. Nothing in the headline I can't prove from the CSV.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(See the demo video linked above for the full run: import → mapping → findings → report, end to end, on-device.)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;The architecture has one non-negotiable principle: &lt;strong&gt;the model is never allowed to invent a financial finding.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every duplicate, recurring pattern, price increase, and dollar total is computed by deterministic code from the imported CSV — duplicate windows (±$0.01, 0–3 days), recurring cadence bands (28–31 day median, ±5 days, 3+ occurrences), price-creep thresholds (≥10% or $3, confirmed twice). The local model gets a narrow, fenced job: normalize a merchant string, pick a category from a 16-item allowlist, return strict JSON. Its output is validated like hostile input — schema, enum, string guards, a grounding check that rejects merchant names not present in the description — and anything below 0.75 confidence goes to "Needs review."&lt;/p&gt;

&lt;p&gt;Bank CSVs can't prove you don't use a service, so Pocket Audit never says "zombie subscription" or "cancel this." It says "recurring charge to review," with Keep / Ignore / Not recurring controls. Every correction becomes a local alias, so the product gets smarter on your device without your data going anywhere.&lt;/p&gt;

&lt;p&gt;Multi-currency is handled without fantasy conversions: native and settled amounts stored side by side, recurrence grouped by merchant + billing currency + account, and a hard rule — price creep means the &lt;em&gt;native&lt;/em&gt; amount rose. If only the settled USD moved, the report says your cost moved with exchange rates. It will not accuse a merchant of raising prices when FX did it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why open innovation matters
&lt;/h2&gt;

&lt;p&gt;This section isn't decoration. Open weights are the reason the product can exist at all.&lt;/p&gt;

&lt;p&gt;A cloud-AI version of Pocket Audit would send merchant descriptions, dates, and amounts to a hosted inference provider on every import, recategorization, and report. That's a privacy tradeoff demanded &lt;em&gt;before&lt;/em&gt; the product delivers value — for financial data, that's disqualifying for most buyers.&lt;/p&gt;

&lt;p&gt;Running a compact open-weight model locally removes the tradeoff and rewrites the unit economics. A hosted API bills per audit; at a $19 one-time price, those per-use costs eventually eat the business. Local inference has no per-audit vendor bill, so the one-time price is structurally sound instead of subsidized. The product doesn't need to become a subscription to survive — which matters, because its entire pitch is helping you escape subscriptions.&lt;/p&gt;

&lt;p&gt;And the model stays mine to choose: a smaller quantized build for constrained devices, swaps as local runtimes improve, no vendor pricing page that can move under me. Open innovation here isn't a badge. It's the privacy story &lt;em&gt;and&lt;/em&gt; the business model.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned from a first user
&lt;/h2&gt;

&lt;p&gt;Honest answer: at publish time, the first stranger hasn't run it yet. I built and verified it against seeded data this week, and the next step is putting it in front of one Phoenix freelancer with the question "would you pay $19 for this?" — then reporting back what they said, including the no. I'll update this section when that happens.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would build next
&lt;/h2&gt;

&lt;p&gt;More bank format coverage, the local-alias learning loop wired into the UI (corrections already save locally), a packaged mobile build, and the optional offline FX rate pack for travelers. The detection engine is the moat; everything else is distribution.&lt;/p&gt;

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

&lt;p&gt;bash&lt;br&gt;
git clone &lt;a href="https://github.com/archonstratagemai-lab/pocket-audit" rel="noopener noreferrer"&gt;https://github.com/archonstratagemai-lab/pocket-audit&lt;/a&gt;&lt;br&gt;
cd pocket-audit&lt;br&gt;
python3 server.py&lt;/p&gt;

&lt;h2&gt;
  
  
  open &lt;a href="http://localhost:8000" rel="noopener noreferrer"&gt;http://localhost:8000&lt;/a&gt; — try the sample CSV first, no real data needed
&lt;/h2&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
