cjjutba
Back/Work/Coasta

Coasta

Coasta is a native iOS app that turns a freelancer's lumpy, late, multi-currency income into one calm number: Runway - how many months your fixed bills stay covered, given the cash you have now and the client payments you're still waiting on. It's log-only (never connected to a bank), fully offline, and private by construction, with on-device AI capture on the latest iPhones. A personal product in active development, dogfooded against real freelance income.

Type
Native iOS App
Role
Solo Product Design + iOS
Built
2026
Client
Personal product · in development
Swift 6SwiftUIObservation (@Observable)SwiftDataWidgetKitApp Intents (Siri)Foundation Models (on-device AI)StoreKit 2Swift ChartsCloudKit (opt-in)LocalAuthentication
1
Number - your Runway
0
Data leaves your phone
SwiftUI
Native, zero dependencies
Offline
On-device AI, no backend
01

The problem

Mainstream budget apps assume a steady paycheck on the first of the month. Project-based freelancers don't have one. The money arrives in lumps, often a month or two late, sometimes in dollars while the bills are in pesos - and the bills don't wait.

The result is a constant whiplash: flush right after a big invoice lands, quietly panicking through the dry weeks before the next one, and never quite sure which one you're actually in. The real question isn't 'what did I spend on coffee' - it's 'am I covered until the money actually arrives?'

Coasta exists to answer exactly that. Its name is the whole idea: coast calmly through the dry months.

02

Runway: one number for 'am I covered?'

Coasta's home screen is a single number: your Runway - how many months your fixed bills stay covered, given the cash you have now and the client payments you're still waiting on. A calm indigo ring fills when you're covered, shifts to amber when you're getting close, and to red when you're not.

It recomputes the instant anything changes - you log an expense, reconcile a balance, add a bill - so the answer is always current. No charts to read, no mental math: you open the app and you know.

It's the opposite of an anxious dashboard. One glance, one number, and the question that actually keeps freelancers up at night is answered.

Coasta poster - the Runway gauge: a calm indigo ring on the home dashboard showing how many months of bills are covered
03

Map your money across every account

Freelance money lives everywhere - a GCash wallet, a couple of banks, a Wise balance in dollars, cash in a drawer. Coasta calls each one a pocket, and you keep their balances by hand: it's log-only, never connected to your bank, never touching real money.

Because the work pays in one currency and life costs in another, every pocket carries its own currency, and Coasta rolls them up into a single peso total using a rate you control. Reconciling is one tap - 'set the actual balance' - no full-ledger audit required.

It's the honest, private version of a money map: you decide what's in it, and it never phones home.

Coasta poster - 'pockets': manual multi-currency account balances (e-wallet, bank, cash, USD) rolled into one peso total
04

Bills that don't wait

Runway only means something if the app knows what you owe, so Coasta tracks your commitments - the recurring bills, loan installments, and subscriptions that arrive whether or not a client has paid. Each one normalizes to a monthly burn, which is what the Runway is measured against.

Money is sorted into three honest states: what's safe to spend, what's already committed to bills, and what's owed to you but hasn't landed yet. The vocabulary is fixed and colour-coded - green for safe, red for committed, amber for owed - so a glance tells you where you stand.

Green is reserved for one thing only: you're okay. It never shows up as decoration, so when you see it, it means something.

Coasta poster - the Safe / Committed / Owed money states and the recurring commitments that the Runway is measured against
05

Log it in a tap, or just say it

Capture has to be effortless or it doesn't happen, so logging an expense is a single sheet: a big tappable amount, a custom number pad, and a one-tap category - no keyboard, no stacked screens. Hit log, feel the haptic, and watch the Runway update on the spot.

You can also just talk to it: 'Hey Siri, log ₱500 food' captures without opening the app, via App Intents. And on the latest devices, Coasta's on-device AI reads plain language - 'spent 500 groceries, 300 cab' becomes two draft entries you confirm - using Apple's Foundation Models, entirely on the phone.

The AI is progressive enhancement: it makes capture faster where it's available, and the whole app works exactly the same without it.

Coasta poster - quick capture: a big amount and custom number pad, plus Siri and on-device AI natural-language logging
06

Native, and private by construction

Coasta is built to disappear into the phone. A Lock Screen widget shows your Runway at a glance and a one-tap log; a Home Screen widget shows Runway and safe-to-spend; Siri and the Action Button capture by voice; Face ID locks the whole thing.

Privacy isn't a setting here, it's the architecture. There's no Coasta server - the app makes zero outbound calls, the AI runs on-device, and your financial data never leaves the phone unless you explicitly turn on your own iCloud backup. No accounts, no third-party SDKs, nothing phoning home.

It's the reassurance the whole product is named for, extended to your data: what's yours stays yours.

Coasta poster - native and private: Lock Screen and Home Screen widgets, Face ID lock, and fully offline on-device processing
07

Under the hood

Coasta is a native SwiftUI app in the modern idiom - the Observation framework (@Observable stores, no view-models), a hexagonal package layout with a pure-Swift core, and Decimal-based money types so multi-currency math is exact, never floating-point.

It leans on the platform end to end: SwiftData for local persistence (with opt-in CloudKit), WidgetKit for the Lock and Home Screen widgets, App Intents for Siri, StoreKit 2 for the free / Pro / Lifetime tiers, Swift Charts for insights, and Apple's Foundation Models for the on-device AI - gated to the devices that support it, so the core app still runs on older iOS.

There are zero third-party dependencies. For a finance app that promises privacy and offline, that isn't a constraint - it's the point.

08

Status and what's next

Coasta is a personal product in active development - the core is feature-complete and building, dogfooded against my own freelance income, but not yet on the App Store. The loop that matters works today: set up your pockets and bills, log spending in a tap or by voice, and see your Runway answer 'am I covered?' in real time.

Next: the 'owed' side - tracking expected client payments and milestones so future income feeds the Runway - plus the Insights charts, and an App Store release.

Up Next

Fiscplus

A compliance-grade SaaS portal for Belgian accounting firms.

SaaS · Web App
Open to work

Have a project in mind? Let's build it.

I'm available for freelance projects, and open to the right full-time role.

I build web apps, SaaS, and MVPs for founders and startups. Tell me what you're working on.