SAMOSA BOT
A Discord bot for a friend group ordering food together, which tracks who orders what, who pays the shop and who owes whom.
In a group food order, picking the food is the easy part. Someone has to collect the order, someone has to pay the shop, and everyone else has to know what they owe afterwards.
The key decision was to treat the runner, the person who pays the shop, as separate from the people eating. Each person owes their own items, not an equal share of the bill. Only the delivery fee is split equally, with any leftover rupee assigned to one person.
It all happens inside the group's Discord channel. Someone starts an order and picks a place; each place has its own menu. People add items with buttons and someone volunteers to run; if nobody does, a runner is picked at random when the order closes. The closing message lists each person's amount and a QR code for paying the runner by eSewa.
Close, cancel and reopen are separate actions with their own rules. An empty order can't be closed, a cancelled order creates no debts, and an order can't be reopened if the channel already has one open. Only participants can mark themselves paid, and reminders go out until everyone has.
The limit: paid status is self-reported, not checked against a payment. Totals use the current menu price, so editing a menu after an order closes changes old totals. Reminders don't survive a restart, and the runner's payment details are sent to an outside QR image service.
Next I would save prices with each order, label payments as 'marked paid by participant', generate the QR code locally and keep reminders across restarts.