How it works

Common Table takes the headache out of planning a seating chart. Give it your tables, your guest list together with who should (or shouldn't) sit together, and it suggests a seating arrangement as a starting point for you to work with and edit as you wish.

1

Table Style

Common Table supports three seating styles: banquet tables, cabaret tables, and theatre-style rows. Each one of these has its own notion of which seats count as 'near' each other, with seats right next to you nearer than ones across the table, and those in turn nearer than seats on different tables. Intuitively, we want people who would get on well to be sat near each other.

For the curious: each style defines this with a graded adjacency value: e.g. on a banquet table, adjacent seats score 1, directly opposite seats score 0.75, and diagonally-opposite seats score 0.5. Pairs of seats that are further appart (e.g. on opposite ends of the table) will have an adjacency value of 0.

2

Guest List

You can enter your guest list manually or upload a spreadsheet. Every pair of guests is assigned a score indicating their relation to each other so that pairs of guests with higher scores are more likely to be seated near each other. Common Table provides two mechanisms for generating these scores.

Tags

Each guest has a (possibly empty) list of tags which may indicate e.g. the social groups they belong to or their interests, so that guests who have lots of specific tags in common generally have a higher score. Users should pick their tags carefully to reflect the social groups or sets of interest that are relevant to their application.

work_friendsschool_friends

For the curious: suppose C guests share the tag 'work_friends', including Alice and Bob. Then this tag contributes 1/(C-1) to their pairwise score. If D guests share the tag 'school_friends' and Alice and Bob are amongst these too, a further 1/(D-1) is added to their pairwise score.

Constraints

Constraints describe relationships that may not be captured by tags or relationships that we want to emphasise: who must sit together (e.g. couples), who could sit together (e.g. people who particularly get along), and who must sit apart (e.g. exes).

must sit togethercould sit togethermust sit apart

For the curious: if Alice and Bob must sit together, a large positive number is added to their pairwise score (e.g. 10). If they merely could sit together, a smaller positive number is added (e.g. 5). But if they must sit apart, a large negative number is added instead (e.g. -10).

3

Optimisation

Behind the scenes, Common Table quickly learns an arrangement that sits guests with high pairwise scores near each other. You can take this seating chart as a starting point and add your own finishing touches.

For the curious: it does this using a gradient-based optimisation algorithm, a standard technique for quickly finding a good (though not always perfect) arrangement out of a large number of possible ones.

Nothing you enter is saved anywhere: it lives in your browser for the session and is sent to the server only to calculate your plan.