✅ Potluck Signup Balance Tracker
Track your potluck signups against your category needs — see exactly what's still needed as people sign up.
One subtraction per category, floored at zero
still needed = max(needed - signed up, 0)
status = "Full" when still needed is 0
The three rows it opens with show every state at once: mains at 3 of 5 wants two more, sides at 6 of 6 reads Full, and desserts at 1 of 4 is the gap that will embarrass you on the day. Because the result is floored, a row with 8 people signed up against 6 needed also says Full rather than showing you are two over - watch the raw "8 / 6" for that.
Setting the needed column
- Work from the headcount. Divide guests by how many one dish serves: 40 guests with mains that feed 8 is 5, sides that feed 10 is 4.
- Cap the easy categories. Signups drift toward dessert, chips and soda because they need no cooking. A dessert row set to 4 gives you a reason to reply "we are full on those, could you bring a main instead".
- Add rows for the unglamorous things. Ice, cups and folding chairs each deserve a category, and they are what actually goes missing.
- Rename freely. The names are only labels - "Gluten-free main" works as a row.
Frequently asked questions
How do I stop a potluck turning into all desserts?
Set a target for every category before you open signups, then hand people the gaps rather than asking what they would like to bring. A dessert row that is already full is an easy, unarguable no.
How many dishes should I put in the needed column?
Guest count divided by what one dish serves. Forty guests, with a main stretching to 8 and a side to 10, gives 5 mains and 4 sides.
Does the tracker save my signups?
No. It runs entirely in the browser and keeps nothing, so a refresh resets it to the sample rows. Nothing you type is sent anywhere either.