We built a Splitwise alternative where the link is the account
Description and use
A Splitwise alternative that requires no account: a single URL acts as invite, login, and bearer credential. It uses BigInt for precise amounts, locks FX rates at entry, supports offline usage, and updates via SSE without leaking data.
Problem
Users avoid creating accounts; need a single link that invites, authenticates, and stores data.
Outcome
A zero‑account split‑tracking app that uses a single link as bearer credential, ensures precise money handling, locks FX rates, supports offline usage, and leaks no data via realtime updates.
Workflow
- Generate 16‑byte random key, base64url‑encode, append to readable stem to form URL
- Treat URL as bearer credential; no recovery or owner override
- Store money amounts as strings + BigInt; use deterministic remainder distribution
- Lock FX rates at entry; fetch rates via same‑origin route
- Queue new expenses offline; replay when online; limit features to avoid CRDT complexity
- Use SSE to notify clients of changes; clients refetch data; stream carries no room data
- Route push, FX, receipt model through allow‑listed proxy; no egress from containers
Evidence
The link is a bearer credential. 16 random bytes, base64url, appended to a readable stem. No recovery, no owner override. Treat it like a key.
Money as strings + BigInt. A Number never touches an amount except for display. Equal splits hand out remainders deterministically.
FX locked at entry. Editing an expense never re‑prices history. Rates are fetched through a same‑origin route so the browser never talks to a second host.
- Record date: 2026-09-15T13:45:28.553Z