Expense Splitter
SplidIt
Call it even.
A no friction expense splitter that finds the shortest path to settled, with no account required.
SplidIt takes the friction out of splitting bills. Add who was involved, enter what was spent, and it works out the most efficient way for everyone to settle. A smart settlements algorithm minimises the number of transfers needed, so nobody ends up making more payments than necessary.
Two modes. Equal splits for simple situations, and custom percentage breakdowns when contributions aren't the same. The balance view updates live as you adjust values, colour coded so it's immediately clear who owes and who gets paid back. No mental arithmetic required.
Results can be shared three ways. Copied as plain text, exported as a screenshot via html2canvas, or sent as a shareable link. The whole thing runs in the browser with no account, no backend, and no delay. You open it, enter the numbers, and it's done.
Built with React 19 and Vite, with Lucide React for icons and custom CSS variables for theming. The visual style is fintech adjacent. Clean, legible, and designed to feel trustworthy at a glance.
What it does
Key features
Smart settlements
Debt minimisation algorithm finds the fewest transfers to settle everyone — no unnecessary back-and-forth.
Two split modes
Equal splits for simple situations. Custom percentage breakdowns when contributions aren't the same.
Live balance view
Colour-coded real-time preview of who owes and who gets paid back as you adjust values.
Three share options
Copy as plain text, export as an image via html2canvas, or send a shareable link.
Screenshots
The App
Custom splits and shareable results.

Home
SplidIt started as a practical tool, something to pull up at the end of a dinner rather than debate the maths. The design process reflected that. The challenge wasn't the settlement logic, it was making every step feel frictionless enough that you'd actually reach for it in the moment rather than defaulting to a notes app.
Building offline first shaped most of the decisions. No loading states, no auth flows, no server to depend on. Everything needed to work the instant the page opened. That constraint kept the scope tight and the interface direct, which turned out to be exactly what the tool needed.
The screenshot export via html2canvas was a deliberate call. A clean image is often the fastest way to resolve a group chat. More readable than a wall of numbers, more immediate than a link. Small feature, meaningful difference in practice.