In development

maiBooks

Personal finance that refuses to invent a number.

A finance organiser that stays local and stays honest. Money is stored as integer cents, currencies are never silently added together, and nothing anywhere converts between them — because there are no rates in this app and a converted figure presented as fact would be made up.

No public release yet
Storage
Local libSQL
Money
Integer cents
Sync
Optional (Turso)
Status
In development

01

Currency correctness, enforced

Currency is a property of the account, so any figure spanning accounts is kept per currency rather than summed. A hundred dollars beside a hundred euros does not become two hundred of anything — the API returns totals per currency and makes the caller decide what to show.

02

Budgets denominated in one currency

A budget counts only spending in accounts of its own currency, and everything else it matched is surfaced as explicitly uncounted rather than quietly dropped. Excluding it silently would trade one wrong number for another: a card reading twenty percent used while a second pile of matching expenses goes unmentioned.

03

Your data on your disk

A local libSQL database with Drizzle on top — the app works with no network at all, and optionally syncs as an embedded replica when you want the same books on a second machine.

04

AI that reads, not guesses

Assistant features run against the same typed data layer the UI uses, so the model is answering from your actual ledger and is given nothing to invent when there is nothing to report.

Built with Tauri 2 + SvelteKit · libSQL + Drizzle