finds.dev← search

// the find

oss-apps/split-pro

★ 1,306 · TypeScript · MIT · updated Jun 2026

Open source alternative to Splitwise

SplitPro is a self-hosted Splitwise replacement built on Next.js, tRPC, and Prisma. It covers the full feature set most people actually use: group expenses, multiple split methods, settlements, and PWA push notifications. Aimed at anyone who left Splitwise when they paywalled basic features.

Amounts stored as BigInt throughout — no floating-point rounding on currencies with large nominal values, and leftover pennies distributed deterministically rather than quietly dropped. Balance computation is done via a database view over raw expense records, so the number you see is always derivable from first principles and can't drift. The auth story is flexible without being sloppy: NextAuth with magic links, Google OAuth, and generic OIDC means you can wire it into an existing identity provider rather than managing passwords. Active migration history with 20+ timestamped Prisma migrations shows the schema has been evolved carefully rather than dropped and recreated.

Splitwise import is partial — friends and groups come over but the actual expense history does not, which is the main reason anyone would bother migrating in the first place. Recurring transactions require pg_cron, a PostgreSQL extension that isn't available on most managed database services; the workaround is a prebuilt Postgres image the project publishes, but that's an extra thing to trust and maintain. Receipt storage is local disk only, so if your container restarts without a persistent volume mount, your attachments are gone — the README mentions this but it's easy to miss. The old community instance at splitpro.app is frozen at 1.3.4 and no longer maintained, which means there's no hosted demo to evaluate before committing to self-hosting.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →