Who brings what, without four bags of the same crisps
The usual failure looks like this: someone offers chips in the chat, three people answer, and the thread buries those answers by Thursday. Put the offerings on the page as choices beside the reply. A guest confirms and picks what they are covering in the same moment, and the running list shows which slots are spoken for and which nobody has taken.
That same list is the number you buy for. Companions come along inside whatever you allow per invitation, declines are visible instead of assumed, and the guests who have said nothing can be nudged from the list rather than by a personal message you would rather not send.