Crislei Terassi
Crislei Terassi
Creator of this site.
Mar 2, 2026 2 min read

Piasse — On-Device AI for Personal Finance

I used Mint for years. When Intuit shut it down, I moved to Actual Budget — self-hosted, open source, really solid. But I couldn’t share it with non-tech friends. Server setup, hosting fees, database syncing — that’s a hard sell for someone who just wants to track groceries.

So I started building Piasse, an iOS budgeting app that runs entirely on-device and backs up through iCloud.


The real problem: data entry

It takes 3–4 months of consistent logging before a budget app starts paying off. Most people quit before that. You skip a week, Sunday arrives, and you’re staring at a pile of receipts trying to remember what you bought on Tuesday. That’s the dropout moment.

Piasse attacks that friction with Apple’s Foundation Models framework — the on-device language model shipping with iOS 26. Point your camera at a receipt. Done.


How the pipeline works

Camera OCR Parse Match Payee Classify

Three AI tasks chain together locally on the phone:

  1. Parse — extracts merchant name, total (after Quebec sales taxes TPS/TVQ), and date from messy OCR output. Handles French and English.
  2. Match Payee — recognizes that “Costco #23” and “Costco #55” are the same merchant against your existing payees.
  3. Classify — suggests a budget category based on the merchant and line items.

No API calls. No tokens. No cost per user.


Demo


What AI decides vs. what stays human

The AI handles interpretation — turning messy OCR into structured data, fuzzy-matching merchants, classifying spending. Pattern recognition genuinely beats regex here, though a full regex fallback exists for devices without Apple Intelligence.

Everything that commits to your budget stays human. The AI pre-fills a transaction form. You review the amount, confirm the payee, accept or change the category, then save. A misread total is worse than no automation at all.


Where this breaks

The on-device model requires iPhone 15 Pro or later, so the fallback parser has to be solid. The context window is limited — receipt text is capped at 30 lines for category suggestions. And because nothing goes to a server, there’s no telemetry. Improving accuracy means relying on explicit user feedback rather than passive data collection.

For a personal finance app, that’s the right tradeoff. Your grocery receipts stay on your phone.


Built with FoundationModels VisionKit SwiftUIzero API cost.