But I am the same way and hate trying to 'collect dues'. One approach would be to have everyone take turns paying for the entire meal and not worry about collecting individual payments. They do this in some countries regularly (I think Spain is one) - people take turns paying for everything so it works out in the end. Although I do recall a Spanish friend saying there was one person in her group who would habitually take longer to come up in the roster of "person paying entire meal".
It's an interesting idea for an app though. Instead of you nagging late payers, the app could send email reminders to them. There could be stickiness to an app that has some reputational knowledge of how individuals have paid up in the past. Sort of like a fico score but among friends or coworkers.