Every amount is stored in whole cents
Amounts are never stored as floats at any layer, including in transit, which is why a balance is never quietly off by a cent.
Budgitify is a personal finance app with live bank connections through Plaid, a tested service layer, and every amount stored in whole cents so that balances are always exact.

Touching someone's bank account raises the stakes on every decision in the codebase, because a wrong number in a finance app means a person making a decision about their own money based on something untrue.
Bank data also arrives messy, with duplicate transactions, pending entries that change after the fact, inconsistent merchant names, and webhooks that fire more than once for the same event.
I treated correctness as the product. Money is stored as integer cents everywhere, so no balance has ever been subject to floating point drift, and the service layer has tests alongside nearly every file.
Plaid webhooks are verified before anything acts on them, and the sync path is written so that calling it twice has no side effects, since webhooks do eventually arrive more than once.
Amounts are never stored as floats at any layer, including in transit, which is why a balance is never quietly off by a cent.
Every incoming Plaid webhook has its signature verified in middleware before any handler sees it. An endpoint that skips this is an unauthenticated write path into your data, and it is missing more often than you would expect.
People want their own logic applied to their own transactions, so the rule engine lets them define it. The subscription detector finds recurring charges on its own, including ones people have forgotten they are paying for.
The service layer carries tests next to nearly every file, covering sync, categorisation, subscription detection, net worth, goals, and encryption, so the testing is concentrated on the code where being wrong would cost the user something real.
I also designed and built budgitify.com in Next.js on the same stack as this site, and it covers the features and pricing for people who have not installed the app yet as well as hosting the privacy policy and terms the App Store requires.
Budgitify is live on the App Store with real bank connections running in production, and none of the correctness work is visible to the person using it.
If you need financial data, bank connections, or anything where being slightly wrong is unacceptable, this is the relevant work.