Homespun

← All templates

Potluck Table

A shared potluck sign up sheet that keeps track of what is still missing.

Install Try it out
The Potluck Table app in use. A card at the top reads Street party potluck, half past six, number 14 back garden, hosted by Nadia, with a small Edit the details link beneath it. Under a heading of Still needed sit three chips reading something to drink, a second dessert and ice, then a line saying seven dishes from four people, about seventy servings between them. Below that the food is laid out in columns for starters, mains and sides: a slow roast lamb from Owen serving ten, an aubergine and tomato bake from Theo marked vegetarian, a green bean and almond salad from Priya marked as containing nuts, and a sourdough credited to Theo and marked as added by your AI.

Live preview running the real template. The entries in it are sample data, not a real household's.

What's inside

Data it stores (2 collections)

No special permissions: this app runs entirely inside Homespun, with no outside network access.

potlucksignuphostingfood

A sign up sheet where the name comes from the account

Potluck Table holds two things: the party, and the food. The party is a title, a date, a start time, a place and a line of notes. The food is one row per thing somebody is bringing, filed under a course of starter, main, side, dessert, drink or supplies, with how many it serves and a line for anything worth saying, such as that it wants twenty minutes in an oven or that it has nuts in it.

The difference from the shared document everybody has used for this is small and load bearing. Nobody types their own name. A row is signed by the account that wrote it, so the column of names is a record rather than an intention, and two people cannot end up as the same Sam.

The moment it earns its place

Somewhere past about eight guests, a group chat stops being able to answer what is already covered. People reply to a message from an hour ago, three of them independently decide to bring a big salad, and the host ends up keeping the real list in their head. That is where a page holding the current answer beats a thread holding every answer ever given.

Putting the party in it

A fresh copy arrives with one placeholder card waiting for a date and a place, so the first thing you do is edit something rather than face a blank screen. Fill in the header, then send the address to the people coming. Each of them gets in by email invitation and a link, with no password to invent.

What a guest can and cannot change

Guests add dishes. They can also change or take back their own, and that is the extent of it: the rules for the food list name the person who created a row, so nobody can quietly rewrite what you said you were bringing. The host keeps a wider hand, because somebody has to be able to clear a duplicate.

The party details are narrower still. Only the host and the AI can write them, so the card that says where and when cannot be edited by a guest who meant to add a dessert. Rows land for everybody as they are written, which matters more here than it sounds: two people deciding on a dessert at the same time see each other before they both start baking.

Asking the AI what the table is short of

The gap list at the top is not computed by the page, because working out that four desserts and no bread is a problem is a judgement rather than a sum. It is whatever your AI last wrote there. Ask what is missing and it reads the whole table against the number of people coming, tells you, then rewrites the chips so everyone else sees the same answer.

It is also the fastest way to enter what arrived by other means. Somebody messages you that they will bring a crate of beer; say so, and the row appears, marked as written by the AI rather than passed off as that guest's own entry.

What this sheet will not do

It does not count heads. There is no yes or no, no plus one and no guest list, because a potluck usually already knows who is coming and the hard part is the food. It does not reason about allergies either: a dish can carry a note saying it has nuts in it, and reading that note is a person's job.

It holds one party at a time and keeps no archive, so next year means clearing the table rather than looking up last year's. And nothing here chases anybody. No message goes out when a course is still empty, so the sheet works when somebody opens it.

The reason a name on a row can be trusted here is that every person opening the page signed in as themselves, which is the thing a link-shared page has no way to do. If you have tried to run this on a page with no accounts, what a shared page without sign-ins can know about its visitors sets out where that gives way.

Questions people ask

Can people sign up without a Homespun account?
Not on this template. Adding a dish is limited to the people you invite, precisely so the name beside a dish means something. Each invitation is an email address and a link, so signing in takes one tap and no password, but it is a step.
Can somebody edit or delete a dish I put down?
Only the host can, and the AI. Everyone else is limited to the rows they created themselves, which is enforced by the server rather than by good manners, so your entry cannot be rewritten by a guest who meant to add their own.
How does it know what is still missing?
It does not work it out on its own. The chips at the top are what your AI last wrote after reading the table against the number of people coming, so asking it to check is what refreshes them for everybody.
Does it track who is coming as well as what they are bringing?
No, there is no attendance list and no plus one. It is built for a group that already knows roughly who is turning up and needs to sort out the food, which is the part that usually goes wrong.