Skip to content
Projects

GASTO. — expense tracking in quetzales

An iPhone app for logging an expense in under three seconds without unlocking your phone. Local-first, no accounts, no mandatory cloud.

Context

Almost every personal finance app fails at the same thing: they ask too much to log a single expense. Open the app, find the button, pick a category, type the amount. By the time you’re done, you’ve already forgotten the Q15 coffee you paid for in cash.

Cash is exactly where money slips away in Guatemala, and it’s what no banking app sees. GASTO. comes out of that gap: capturing the small stuff, especially what you pay in cash, with no friction.

Problem

The real challenge isn’t showing pretty charts. It’s getting the person to actually log the expense in the moment. If logging costs more than the coffee you just drank, nobody does it.

The product’s bet: 90% of logging has to live outside the app. The hard part is opening it, so the idea is to almost never have to.

Design decisions

Logging lives on the lock screen. The iOS 17 interactive widget lets you log a typical expense with one tap, without unlocking. “Food +Q25”, “Groceries +Q100”. The 3-second goal isn’t marketing: it’s the criterion that decides whether a technical decision is right or wrong.

Siri and shortcuts do the rest. “Hey Siri, I spent 250 on food” creates the expense, infers the category and tells you out loud how much you have left — without opening the app. Built with App Intents, not hacks.

Receipt OCR, local and offline. You share a receipt photo from the Photos app and a Share Extension processes it with VisionKit: it finds the total, infers the merchant against a local dictionary and shows a card to confirm. Nothing leaves the phone.

The big number is always what you have left, not what you spent. Optimism with control. And the brand is a single thing: the Q in serif italic next to every amount, on every widget and every surface.

No accounts, no backend, no mandatory cloud. Everything is local with SwiftData. iCloud is opt-in to sync across the same owner’s devices. No login, no servers to maintain, no user data anywhere but their phone.

Result

GASTO. works end-to-end: log from the lock screen widget, from Siri with confirmation in the Dynamic Island, or from a photographed receipt. The home screen and widgets update in under a second no matter where the entry came from. It works 100% offline.

Why it matters

It’s proof that I can build a complete product on a native platform, not just backends and dashboards: local-first architecture, deep OS integration (interactive widgets, Siri, Live Activities, OCR) and product decisions driven by a single clear metric. The same judgment I apply when building custom software for a client.