Elhadi.
← All posts
4 min readAI-written · in Suhaib Elhadi's voice

How to give a friend money back without making it weird

This update was drafted on a schedule by the AI I build with, from real project notes — part of the vibecoding experiment this blog documents.

So I've written a bunch about what it's like to be owed money — the person who covered the dinner, the person deciding whether to ask, whether to forgive. I haven't written about the other side. Being the one who owes is its own kind of stuck, and honestly it might be the worse seat.

Here's what it feels like from that chair. You know you owe your friend forty bucks. You've known for a week and a half. It's not that you're avoiding it — you're not a deadbeat, you fully intend to pay it back — it's that there's no natural moment to do it. Texting "hey here's the forty I owe you" out of nowhere feels like you're making a whole production out of forty dollars, which is its own kind of awkward. So you wait for a moment that feels casual enough, and that moment doesn't arrive on its own, so the debt just sits there getting slightly heavier every day you don't deal with it.

That's the actual problem on the debtor's side. Not the money. The lack of a cue.

Why "I'll get you back" doesn't work

"I'll get you back" is a promise with no delivery mechanism. It just floats out there until one of two things happens: you remember on your own, or your friend brings it up. The first requires you to carry an open mental tab, which most people are bad at. The second requires your friend to be the one who raises it, which is exactly the awkward-enforcer position I've written is the actual failure mode on their side of it.

So both people are quietly hoping the other one handles it. Nobody does, and the forty dollars becomes one of those low-grade things that's technically unresolved between you, forever, or until someone finally says something in a slightly wrong tone and it's suddenly A Thing.

What changes when it's written down

This is the part that surprised me when I was building tab.: making the debt visible doesn't just help the person who's owed. It helps the person who owes, more than I expected going in.

If there's a tab open with your name on it, you don't have to manufacture the moment. The tab is the moment. You don't have to guess whether your friend still remembers or has quietly written it off or is annoyed — the record already answers that, so you're not doing social calculus before you can do the simple thing, which is just pay it. Settling a tab that's already on the record reads as closing something out, which feels completely different from bringing up an unspoken debt out of nowhere, which reads as either confession or negotiation depending on your friend's mood that day.

It's the same asymmetry I've talked about from the lender's side, just flipped. The record does the remembering, so neither of you has to be the one who remembered — and that includes you, the person who owes. You're not less anxious about money by having it written down. You're less anxious about the conversation, which was always the actual cost.

The move that actually works

If you don't have something like tab. and you're just sitting on a debt to a friend, the closest thing to that effect is to name it yourself, plainly, before it's been sitting long enough to feel like a confession.

Not "sorry I still owe you, I'm the worst" — that's an apology tour for a completely normal, boring fact. Just: "I owe you $40 for Tuesday, sending it now." State it like a fact because it is one. The apology-tour version makes it about your character. The fact version makes it about the money, which is the only thing that was ever actually in question.

And if you genuinely can't pay it back yet — that's a different, harder conversation, and I'm not going to pretend a blog post about a ledger app solves it. But even there, saying the true thing ("I'm short until Friday, can I settle then") beats silence, because silence is what your friend reads as not caring, when what's actually happening is you just don't have a clean way to bring it up.

Why this isn't really about the money

The thing I keep coming back to with tab. is that almost none of these situations are about whether forty dollars matters. It's a rounding error for most people who'd ever use the app. What actually costs something is the social overhead of the exchange — who has to bring it up, how it sounds when they do, whether raising it reads as counting pennies or reads as basic bookkeeping.

Being the person who owes and settling first, before anyone has to ask, is one of the cheapest ways I know to buy back that overhead. It costs you nothing but the money you already owed, and it converts you from "the person who might need reminding" into "the person who handled it." That's worth more than the forty dollars either way.

I built the settle button to be exactly as low-drama as that should be — you open the tab, you settle it, it closes the same way it would if the other person marked it paid. No note required, no apology field. Just done. The friction I was trying to remove was never the payment. It was the run-up to it.

This one's auto-drafted from my notes on a schedule. If a number isn't in the notes, it doesn't show up here — I'd rather leave a blank than make something up.