Pace turns your day into one honest number: what is left of your daily budget. Logging takes seconds, the ledger never leaves your device, and AI only helps when you ask it to.
How it works
One amount per day. Change it starting tomorrow — Pace never rewrites your history, and nothing rolls over unless you decide it should.
A floating button opens a two-tap form. For every entry you choose whether it counts toward today — refunds link back to the bill they reverse.
Budget minus what you chose to count today. Overspent? The number turns red and says so. No smoothing, no spin.
Features
Today's remaining = budget − the net spend you chose to count. Transfers and card repayments are kept apart from spending, refunds don't double-count, and every amount is stored as an integer of the smallest currency unit — never a floating-point guess.
Today's bills, week and month totals, category ranking, overspend log — with budget-in spend and all spend kept separate. Every figure is computed by deterministic code on your device; an AI may explain a number, never invent one.
Turn on the assistant and it can turn one sentence into a bill draft, or explain a figure it is shown. It cannot write to your ledger without your confirmation, cannot bypass it, and is never the source of truth.
No account, no cloud ledger, no analytics. Everything works offline, and a full-fidelity JSON export is one tap away — the same format, versioned, that imports cleanly on a new device.
Privacy
The ledger lives in an on-device database. No account is required, no copy is uploaded, and logs never contain your bills, notes, or keys. Deleting the app deletes the data — by design, and stated where you'll see it.
Draft input, explain output. Off until you turn it on, unable to write without your confirmation, and the gateway it talks to is not allowed to keep your ledger.
A versioned JSON format, documented publicly, with every bill, category, and budget in it. Your data should outlive the app — and the format shouldn't be a secret.
Under the hood
Pace for Android is Kotlin + Compose. Pace for iOS is Swift + SwiftUI. Neither shares a line of UI with the other. What they share is the part that must never disagree — budget math, money and date rules, import/export, duplicate detection — a Kotlin Multiplatform core with 48 fixed acceptance tests both platforms must pass.
Install
Pace is in active development (v0.1.0). Every push produces installable artifacts on GitHub Actions — no store listing yet, so builds are installed by hand.
| Build | Artifact | Install with |
|---|---|---|
| Androiddebug APK | pace-android-debug-apk |
Download from a run's Artifacts, install on the device |
| iOSunsigned IPA | pace-ios-unsigned-ipa |
Self-sign with AltStore / Sideloadly |
| iOS Simulatorsimulator app | pace-ios-simulator-app |
Unzip, drag into Simulator |
Grab them from the Actions page of the latest run. Building from source? The README has the Gradle and XcodeGen commands.
Set tomorrow's budget tonight. Log lunch in four seconds. And let one quiet number answer the only question a daily budget needs to answer.