Last year, my friend and I decided to build an app for splitting payments with friends.
We were on a group vacation and trying to split a bunch of bills every day, but Splitwise's clunky UX and ads kept getting in the way. So we decided to build an app for ourselves that's simpler and just does what we need.
We built Quicksplit as a side project - as always, building it took longer than we initially expected :)
It's ad-free and always will be. You can add payments in different currencies, add friends (without them needing the app), and manage tabs for vacations, events, or living expenses.
Quicksplit is a native iOS app (web app coming next!) - it's built with SwiftUI, plus a touch of UIKit for navigation and to fill in some SwiftUI gaps. The backend API is written in TypeScript and running on Deno.
Deno ended up being an interesting choice! It's great when it works (and has improved massively in the past year), but there was still some friction. For example, needing to switch database drivers due to issues with TLS support (which has since been fixed) ¯\_(ツ)_/¯
We're running on Fly.io and Supabase (for Postgres). We considered a bunch of managed and unmanaged hosts (like Render, Railway, Hetzner; serverless databases like Planetscale and Neon). We landed on Fly.io and Supabase because they have generous free plans, are simple to scale up if needed, the latency is good, and it saved us from spending an evening gluing together bash and yaml scripts ;)
Give it a try and let us know what you think - we’d love some feedback!