shouldivibecodeit

Should I vibe codeYNAB?

Personal budgeting app built around zero-based budgeting and habit formation

Your own budget, your own rules, your own bug that told you you had money.

?

Their verdict, the Monthly Plan price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-03.

Can you build it?asked by canivibecodeit.com ↗YESone-shottable · weekend
?

Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.

Should you ship it?asked by usDEMO ONLYvibe the v0, throw it away.

The honest answer

why the verdict is what it is

Zero-based budgeting is arithmetic and a good UI, both very buildable. The catch is that the output is a number you make decisions on, so a quiet logic error is expensive in a non-obvious way.

What actually breaks

not "if". the specific failures.

  • Floating point money, where a year of small rounding errors makes a budget that is off by a few pounds and cannot be reconciled
  • The zero-based method itself, which is a discipline with rules — every pound assigned, overspending covered from another category — not just a ledger
  • Bank connections, which break constantly and either need a paid aggregator or manual import forever
  • Split transactions, transfers between accounts and refunds, each of which double-counts if modelled naively
  • Historical edits, since changing last month's category silently changes a month you already closed
and then, at 3am

Eight months in, your budget says you have £3.50 more than the bank does. You start looking. It is not one mistake — it is a transfer counted as both an expense and an income, a refund that added to a category rather than reversing a spend, and a hundred halfpenny rounding differences from storing amounts as floats. Each is a small bug. Together they mean the number you have been making decisions from has been quietly wrong for most of a year, and reconciling it means re-entering eight months of transactions.

Is that you?

the verdict is a default, not a law

ship it if
  • Money is stored as integers and you have tested reconciliation against a real statement
  • Import is a manual CSV from your bank rather than a live connection
  • It is yours alone and you would notice a discrepancy quickly
don’t ship it if
  • Amounts are floats
  • Transfers between your own accounts are modelled as ordinary transactions
  • Nothing reconciles the computed balance against the bank's
  • It holds credentials for a bank account rather than importing files

If you build it anyway

the checklist, then the prompt that enforces it

  1. Integers in minor units, everywhere, with no floating point anywhere in the money path. This is the whole ballgame in personal finance software.
  2. Model transfers as a single linked pair, not two independent transactions, so they cannot be counted as spending.
  3. Reconcile against a real statement balance as a first-class feature, with a visible difference. A budget that cannot be checked drifts unnoticed.
  4. Handle refunds as reversals of a specific transaction rather than as income to a category.
  5. Never store bank credentials. Import files, or use a licensed aggregator where the credentials are theirs.
  6. Make closed months immutable, so an edit to history is a deliberate, visible adjustment.
the guardrail prompt
Before you build a personal budgeting app, apply these and push back if I ask you to break them.

1. Represent all money as integers in minor units. Never a float, never a
   double, not even for display intermediates. Tell me that accumulated
   rounding is the classic failure of homemade finance tools and that it
   surfaces months later as an unreconcilable difference.
2. Model transfers between my own accounts as a single linked pair of entries,
   never as an expense in one account and income in another.
3. Model refunds as reversals linked to the original transaction, not as income
   into a category.
4. Build reconciliation against a statement balance as a core feature, showing
   the difference between computed and actual. A budget I cannot check is a
   budget that drifts.
5. Do not store bank credentials. Import CSV or OFX files, or use a licensed
   aggregator where the credentials belong to them. Tell me why.
6. If implementing zero-based budgeting, encode the actual rules — every unit
   assigned, overspending must be covered from another category before the
   month closes — rather than just tracking spend against limits.
7. Make a closed month immutable. Changing history must be an explicit
   adjustment entry that is visible, not a silent edit.
8. Give every transaction a stable id and keep an append-only change log.
9. Out of scope unless I ask: investments, multi-currency, shared budgets,
   forecasting, receipts.
paste this before you build — not after something breaks23 lines · 1455 chars

That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.

their build prompt ↗

Or don’t build it

the boring option, and the way back out

just pay for it

$14.99 a month is really buying the method and the reconciliation discipline rather than the software. Building a personal tracker with integer money and honest reconciliation is a genuinely good project; the trap is a naive money model that quietly stops matching the bank.

$14.99/mo is cheaper than your weekend.

your exit plan, if you already built it

Export to CSV with stable ids, categories, transfer links and cleared status on a schedule. Personal finance data accumulates for years and is tedious to rebuild — and the export is also what lets you check the tool against a spreadsheet when a number looks wrong.

prior art · someone already did this
Actual Budget

Open-source local-first budgeting app and one of the strongest YNAB alternatives.

Questions

Is float rounding really a practical problem at personal scale?

Yes, because the errors accumulate and never cancel. A few thousand transactions each off by a fraction of a penny produces a visible discrepancy within a year, and the damage is not the amount — it is that you can no longer tell whether a difference is a rounding artefact or a transaction you forgot to enter.

Why are transfers such a common bug?

Because they look like two ordinary transactions: money left one account and arrived in another. Modelled that way they appear as spending and income, inflating both sides of the budget. Linking them as one event is the fix, and it has to be in the data model — recognising them by matching amounts afterwards is unreliable.

did you build it?

Every week, someone ships something they shouldn’t have.

New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.

also on the regret index
Portfolio CoachDEMO ONLY

Tracking your portfolio is fine. The moment it says “you should”, you have built advice.

last reviewed 2026-08-03 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice