WeWork is often disguised as a real estate company, but there is quite a bit of science and algorithm behind their seating structure.

Architects at WeWork tend to begin laying out an office by placing desks along the perimeter of the office facing the walls. Thus, our core algorithms tend to mimic that behavior. The default behavior is to run several simple, related, and computationally cheap algorithms.

Then, if the layout density is above some threshold, it will run a more complex and computationally expensive brute force approach. The exact threshold is purely a business decision about the point at which an office is no longer profitable, so would likely vary based on the company using the algorithm.

The brute force algorithm is roughly two orders of magnitude slower than the other algorithms but can still calculate a 20 desk layout in less than a second when running on a consumer laptop, which is a task that would typically take a human designer around 2?min.

These algorithms are also inherently parallelizable, so a number of rooms can be solved in parallel and shared among multiple cores on a machine or on a cluster of instances.

WeWork’s Rotation layout algorithm
The idea is simple: traverse the edges of the office’s perimeter. If the edge is shorter than the width of a desk, ignore it—a constraint relaxed in some of our other algorithms. If it is sufficiently long to place a desk, start from one end of the edge and lay down as many desks as possible along that edge (via).