I made a web app like this long ago! https://how2pizza.com, you could send a link out in advance of an event and then people could suggest types of pizza and vote for all the ones they liked. After all the votes, the organizer would decide how many people per pizza, and the app would tell you what to order.
The algorithm was designed to balance popular options with the needs of those with dietary restrictions. It recognizes that some folks only have a few menu options they can actually eat, and it guarantees they won’t get stuck with cheese. The way it worked is the “pickiest” people (i.e. those who only voted for one or two types of non-cheese pizza) would be guaranteed a pizza they can eat first. If the individual voted for more than one type, then the more popular option is favored. Cheese was a special case and there was logic to make sure it was only chosen after everyone got a slice of something they specifically wanted.
We used it a bunch in university for club events and stuff, and it worked great. Hopefully this is helpful and a good inspiration. Be warned about the code quality—the all hasn’t been updated in 8 years old!
I made a web app like this long ago! https://how2pizza.com, you could send a link out in advance of an event and then people could suggest types of pizza and vote for all the ones they liked. After all the votes, the organizer would decide how many people per pizza, and the app would tell you what to order.
The algorithm was designed to balance popular options with the needs of those with dietary restrictions. It recognizes that some folks only have a few menu options they can actually eat, and it guarantees they won’t get stuck with cheese. The way it worked is the “pickiest” people (i.e. those who only voted for one or two types of non-cheese pizza) would be guaranteed a pizza they can eat first. If the individual voted for more than one type, then the more popular option is favored. Cheese was a special case and there was logic to make sure it was only chosen after everyone got a slice of something they specifically wanted.
We used it a bunch in university for club events and stuff, and it worked great. Hopefully this is helpful and a good inspiration. Be warned about the code quality—the all hasn’t been updated in 8 years old!
If you’re curious, the main algorithm can be found here: https://github.com/ianonavy/how2pizza/blob/master/how2pizza/pizza/static/main.js