Almost nobody enjoys the moment of asking a housemate to pay them back. It's not really about the money. It's that unstructured money conversations force someone to be the bookkeeper, the reminder-sender, and the collector, all in one awkward text.
The fix isn't a better reminder script. It's removing the ambiguity the awkwardness feeds on: a running balance that's always visible to everyone, so nobody has to be the one who brings it up, and a one-tap way to mark a settle-up the moment cash or a bank transfer actually changes hands.
When the balance is just a fact sitting in an app both of you can see, not an accusation someone has to make out loud, settling up stops being a conversation and goes back to being a two-second task.