Blog
Your dinner bill does not need a neural network
Six friends, one bill, €127.50. Here is what it takes to split it with artificial intelligence, what it takes to split it with arithmetic, and why kisir went with the second one.
The bill
Six of you go out. The bill comes to €127.50. Mia pays, because she got to the card machine first. Everyone agrees it was a shared dinner and should be split equally. That is the whole problem.
How to split it with a neural network
First, photograph the receipt. The photo goes to a server. On the server, a model turns the pixels into text, which takes a few hundred milliseconds and a graphics card that cost more than the restaurant’s kitchen.
The text comes back as a list of lines. A second model decides which lines are dishes, which are the service charge, and which is the restaurant’s phone number. It gets most of them. The “2x” on the sea bass is read as part of the name, so there is now one dish called “Sea bass 2x” at €38.00.
A third step assigns the dishes to people. The app doesn’t know who ate what, so it asks. Six people pass one phone around a table, each tapping their dishes. Ben doesn’t remember if the fries were his or shared. The model suggests, from your group’s history, that the fries were probably Ben’s. Ben disagrees. The fries become “shared”.
Then a language model writes a friendly summary: “Great dinner! Looks like Mia covered €127.50 tonight. I’ve split it based on what everyone ordered, with shared items divided evenly. Ben, you’re at €24.60, a bit above the group average of €21.25.” Ben asks why he is above average. The answer begins with “Great question!” and is 140 words long.
Finally, the amounts are sent back to the phone, stored, and used to calculate who owes Mia what. That last part is arithmetic, and it is the only part that was needed.
How to split it with arithmetic
€127.50 is 12,750 cents. Divided by six, that is 2,125 cents each, with nothing left over. €21.25 per person. Five people owe Mia €21.25, which is 10,625 cents. Mia’s own share is the other 2,125. Together that is 12,750 cents, the whole bill.
How the dinner ends
Time taken: as long as it takes to type “127.50” and tap Equal. No photo, no server round-trip, no graphics card. The phone’s calculator could do it, and in a way, it does.
But what if the split isn’t equal?
This is the fair objection. Sometimes three people had the wine and three didn’t. Sometimes one person had a starter and a dessert and would like to pay for them.
kisir covers that with two more buttons. Shares lets you say that Ana counts for two and everyone else for one. Amounts lets you type each person’s exact figure, and the editor won’t save until the amounts add up to the total. If three of six shared a €36.00 bottle, you add it as a second expense for those three, €12.00 each, and leave the rest of the dinner equal.
Notice what that is. It is still you, telling the app what happened, and the app doing division. There is no guessing in it. The restaurant bill guide shows the evenly-or-by-what-you-ordered version with a full worked example, and the method works on a napkin too.
When division leaves a remainder
Division isn’t always this tidy. Three people share a €23.00 taxi. That is 2,300 cents, and 2,300 divided by three is 766 with 2 left over. Nobody can pay two thirds of a cent.
Here is what kisir does: the two leftover cents go to the first two people in a fixed order, one each. So two people owe €7.67 and one owes €7.66. Add it up: 767 + 767 + 766 = 2,300. The money is conserved to the cent, and the rule is the same every time, so the same taxi always gives the same answer. There is a whole post on why nobody can pay 0.99 of a dram, which is the same problem with a currency that has no coins below one.
A model would also solve the taxi. It would probably solve it correctly. “Probably” is the word that doesn’t belong in a sentence about your friend’s money.
What “smart” costs you at the table
The AI version above isn’t a parody of one app. It is a composite of features that real products in this category advertise, and some of them are genuinely well made. The question is what they cost at the moment you use them.
- Attention. A photo and six rounds of tapping, instead of one number.
- A connection. The receipt has to reach a server. Restaurants in basements, villages and the mountains have opinions about that. kisir adds the expense offline and syncs later.
- Trust. When the number is wrong, who was wrong, the model or you? With division there is no one to argue with. 12,750 divided by six is 2,125.
The short version
A dinner bill is one number and a count of people. Dividing one by the other is the most solved problem in mathematics, and it was solved before electricity. kisir does that, lets you adjust it when the dinner wasn’t equal, and writes the result down where the whole group can see it.
No part of that needs a neural network. If someone tells you it does, ask them to show you the division.
Splitting a dinner tonight?
Make a group, send the link to the chat, add the bill. kisir splits it, tells everyone their share, and does nothing clever.
Get kisir