MACLIR
Knip logo

Knip

knip.app ↗

Tikkie, Swish and Splitwise are all very good at moving money. None of them tells you who owes what in the first place.

That gap bothered me for years. Every one of those apps starts at the moment you already know the number. The step before it — working that number out from a receipt with fourteen lines on it — was still manual, still awkward, and still happening at the table while everyone waited. So we would give up and divide by six, and whoever drank tap water quietly paid for someone else's wine.

I knew exactly what I wanted. I just kept not building it.

Three days

Then, over a quiet holiday week in a nearly empty office, I watched a colleague take apart a nasty mobile bug with an agent. He built throwaway tools and diagnostic pages faster than I could follow. The barrier to building had dropped while I was busy putting this off.

Knip is the first thing I built this way, start to finish. The core was running in 48 hours. Halfway through I rewrote the whole backend from TypeScript to Go. That would normally kill a project's momentum; this time it was just part of the flow. The name is the Dutch knip — a snip, a cut.

How it works

Photograph the receipt. Gemini reads the merchant, the lines and the prices. Everyone opens the same link and taps what they had. Double-tap a shared dish and it splits. Whoever paid adds their Revolut, Bunq or IBAN, so paying them back is a tap instead of a conversation the next morning.

There are no accounts, on purpose. The moment you ask for one, half the table opts out and you are back to dividing by six.

Then a ski trip

I started using it around Amsterdam straight away, and it worked. Then a week of skiing in the Dolomites broke it — not technically, but socially. Settling up after every pizza slice and espresso is worse than not settling up at all. Someone on the trip asked the obvious question: why can't we just bundle these?

Groups went in that week. Pool the bills, settle only the net difference at the end. Finding a problem and fixing it during the same holiday still feels new to me.

Status
Live at knip.app
Built with
Go, Gemini Flash, Firestore, Cloud Run, Alpine.js, Tailwind (server-rendered)
Name
Dutch knip — a snip, a cut