Vloxyde
A personal-finance ledger that also tracks shared expenses without conflating the two — double-entry postings are canonical, every figure drills back to the events that produced it.

The problem
Personal finance apps and bill-splitting apps never agree. You front dinner for five people, the splitter says you're owed ₱2,400, and your own books show the full charge as your spending — so net worth, category reports, and "who owes me" each tell a different story. Reconciling them by hand is the actual work, and nobody does it twice.
- Shared costs get mirrored into a second tool that has no idea what your cash did.
- Category spend is overstated by whatever other people are going to pay back.
- There's no provenance: a number on a dashboard doesn't drill down to anything.
How it works
Vloxyde keeps one ledger. Balanced double-entry postings are canonical and account balances are rebuildable projections of them, so every figure on the dashboard — net worth, cash flow, gross vs personal-net spend, receivables and payables — carries a scope, a period, and a currency, and drills back to the events that produced it. Money is integer minor units end-to-end; no floats, no silent rounding.
Splitting a cost produces shares and obligations with deterministic largest-remainder rounding. Naming a registered beneficiary doesn't write into their ledger — it emits a proposed debt they accept, map onto a debt they already recorded, or dispute. Consent is the boundary between two people's books.
Every money-moving write is authorized per object, atomic, and idempotent, and identity comes only from the session — a CI gate fails the build if any handler reads a user id off the request.
What I'd change
The correctness core is settled and the app is deployed behind an edge-gated CloudFront distribution on SST. What's left is the part users see: the marketing hero still ships a placeholder where the real dashboard screenshot belongs, and the agent surfaces (an MCP server and a CLI over the HTTP API) need the same polish the web app got.
