The Sen Dining Table looks like a table. It has a top, two sculptural legs, a form that feels inevitable. Nothing about its appearance suggests that a parametric algorithm spent weeks exploring thousands of possible edge profiles before arriving at the one that is actually there.
But it did. And the difference — between the table that a skilled furniture designer would have drawn by hand and the table that our Grasshopper workflow produced — is real, measurable, and in the table. It is in the edge profile specifically: what we call the edge paradox — a concave curve along the underside that looks sharp at viewing distance and feels soft under your hand that looks sharp at viewing distance and feels soft under your hand. That curve is not what any furniture designer would have drawn intuitively. It is what the algorithm found after evaluating criteria that a human designer cannot simultaneously hold in mind.
This is what computational design actually is: not a production method, not a shortcut, not a way to generate forms automatically. It is a design method that expands the space of possible answers by separating the specification of what good means from the search for what achieves it. You define the criteria. The algorithm searches. The results are often surprising.
Here is exactly how we made the Sen.
Starting Point: What We Knew Before the Algorithm
Every Grasshopper workflow begins with design intent — with a clear statement of what you are trying to achieve. For the Sen, we started with three constraints that we did not want the algorithm to touch:
Height and proportion. A dining table has to work at 730–740mm height (the global standard that ensures compatibility with dining chairs). The top-to-leg ratio and overhang were determined by proportion studies we had done with physical mockups. These were given.
Joint logic. The base-to-top connection uses a traditional Japanese hana-sen sliding joint — a wedge joint that allows the base to be dismantled and reassembled without tools. This was a non-negotiable structural decision made before any computational work began. The algorithm needed to work around the joint geometry, not through it.
Material. Solid European oak, 45mm thick nominal at the center of the top, tapering toward the edge. The taper was the design opportunity — the question was how it should taper, and in what geometry.
With these constraints fixed, the design problem was specific: what is the correct geometry for the edge of a solid oak dining table top, where "correct" means simultaneously thin-looking from standing distance, comfortable to grip when pulling the table, structurally sound at the minimum thickness point, and visually consistent from any angle around the table?
This is four competing criteria simultaneously. A human designer with good spatial judgment can get close to a good answer. An algorithm can find the optimal answer — or, more precisely, it can find the answer that best satisfies all four criteria given a specific weighting.
The Grasshopper Workflow: Step by Step
Step 1: Superellipsoid formula for the plan shape
The top of the Sen is not a rectangle and not an ellipse. It is a superellipse — a form defined by the equation |x/a|ⁿ + |y/b|ⁿ = 1, where the exponent n controls the degree to which the corners are rounded. When n = 2, you get an ellipse. As n increases toward infinity, you approach a rectangle. The superellipse sits between these two forms: distinctly rounded corners, but a top surface that reads as rectangular rather than oval.
We chose the superellipse for the Sen specifically because it solves a problem that both rectangles and ellipses create: at a rectangular table, the corners are uncomfortable for seated people at the table's end (their knees are under the corner, not the edge); at an oval table, the narrowing of the top toward the end reduces the usable surface area significantly. The superellipse gives the softened corners without the area loss.
The Grasshopper definition parameterizes the exponent n and the aspect ratio a/b. We ran a grid search across these parameters, evaluated each result against a seating layout (how many people can sit comfortably at each configuration, with minimum 600mm per person), and selected the optimal values. This took approximately four hours of computation. A human designer would have drawn two or three superellipse variants and chosen by eye. We tested several hundred.
Step 2: Edge profile generation
The edge profile is the primary design challenge of any table — it is the detail that most directly determines how the table reads in a room. A profile that is too thick reads as heavy and clumsy. Too thin and it looks fragile, and if it is solid wood (not veneered over a light core), it may actually be fragile. The correct profile must be structurally sound in solid oak while appearing slender.
We defined the design problem as an optimization: find a profile shape, bounded by the 45mm nominal thickness at the table center and a minimum 18mm at the edge, that minimizes visual thickness (measured as the projected thickness visible from a seated position at 1200mm distance) while maximizing the contact radius presented to a hand gripping the edge from below.
These two goals are in tension. A thinner visual profile generally means a sharper edge, which feels harsh to the hand. We introduced what became the edge paradox as a hypothesis: if the underside curves concavely inward before the edge, the visual profile remains slim — because the thin portion is at the very bottom, where it reads at distance — while the hand finds a curve, not a corner. The hand encounters a radius, not a corner.
The Grasshopper definition tested hundreds of variations of this concave profile — different depths of the concavity, different positions of the inflection point, different curves on the top versus underside — and evaluated each against the dual criteria. The final profile was not designed; it was found. It was in the parameter space all along. We just needed the algorithm to locate it.
Step 3: Thickness variation across the top
The center of the Sen top is 45mm. The edge is 22mm at its thinnest point. But the transition between these thicknesses is not linear — it follows a curve that we computed by a different method: finite element analysis (FEA) of the structural load case.
A dining table top must support distributed loads (dishes, elbows, the occasional person sitting on the edge) without deflecting more than approximately 1mm at center span. Given our oak species, grain orientation, and span dimensions, FEA told us the minimum thickness profile that keeps deflection within tolerance. The result was a minimum thickness curve that tapers toward the edge faster than a linear taper — which has an unexpected aesthetic benefit: the table looks thinner than it is at midpoint, because the eye reads the edge thickness and the rate of taper, and estimates a smaller central thickness than actually exists.
This is computational design as optical design. The algorithm produced a result that is both structurally correct and visually deceptive, in exactly the right way.
Step 4: CNC toolpath
The Grasshopper definition outputs directly to CNC toolpath geometry. The underside concave profile is machined with a custom ball-end mill in three passes: roughing (3mm stepover), semi-finish (1mm stepover), finish (0.5mm stepover). The machining time for a single table top is approximately four hours.
What comes off the CNC is geometrically correct — the profile is within 0.1mm of specification throughout. But it is not finished. The surface left by the ball-end mill has a slight scalloping texture from the tool stepover, and the transitions at the joints between the top and edge profiles have tooling marks that need to be resolved by hand.
The Handoff: What the Algorithm Decides, What the Maker Decides
The handoff from CNC to craftsperson is the most important moment in the Sen's production. It is also the moment that distinguishes computational furniture design from mere CNC manufacturing.
The algorithm decided: the geometry of the profile, the rate of taper, the depth of the concavity, the specific curve of the underside surface. These decisions are specified to within a fraction of a millimeter and should not be changed by the maker — they are the result of optimization against criteria, and hand-adjustment of these elements would degrade the performance the optimization achieved.
The craftsperson decides: the surface quality. After CNC machining, the underside profile is hand-sanded through six grits, from 80 to 320, with the grain. The purpose is not to correct the geometry — that would require removing material unevenly — but to refine the surface to a smoothness that the CNC cannot achieve. The final pass is done by hand with the craftsperson's thumb following the concave curve, applying pressure that responds to the specific grain of this specific piece of oak.
The result is a surface that is geometrically computed and manually refined — more precise than any purely handmade table, and more alive than any purely machine-made one.
What the Algorithm Found
Run your hand along the edge. It reads as a blade from across the room. Under your fingers, it opens into a curve — the concave hollow your hand falls into without looking for it. That feeling was not designed. It was found, by an algorithm searching a space no hand could have drawn. Then it was finished by a craftsperson who could feel what the algorithm could only compute.
The freshly finished surface has a clean warmth. The grain catches light differently depending on where you stand. The edge paradox is not visible in photographs — it exists only in the moment your hand discovers what your eyes didn't expect.
[DIAGRAM: Cross-section showing standard table edge vs. edge paradox profile — to be created]
Why This Approach Is Rare in Furniture
Parametric and computational design methods have been standard in architecture for twenty years. Zaha Hadid Architects, BIG, Snøhetta — these firms use Grasshopper-based workflows for building design as a matter of course. The reason these tools have not migrated into furniture design is not technical — the same software works at any scale. It is economic and cultural.
The furniture industry operates on margins that do not support extended design processes. Most furniture design happens quickly, by small teams, with relatively limited iteration. The investment in computation that a major architectural project can absorb — weeks of modeling time, specialized software, complex optimization — is not recoverable in furniture margins unless the furniture is positioned at the top of the market.
There is also a cultural gap. Furniture design is trained separately from architecture, and the two disciplines have different relationships to computation. Architects have integrated parametric tools into their practice because buildings require it — the coordination of complex geometric systems across multiple trades and scales demands computational support. Furniture designers, working at smaller scales with simpler geometries, have less immediate need for these tools, and their training typically does not include them.
Mililab crossed this gap because we are, first, architects. We brought architectural-scale design methods to furniture-scale problems. The result is furniture that is designed more carefully than most furniture can afford to be — not because we have unlimited resources, but because we already had the tools and the training.
The Sen Dining Table is, in this sense, a product of an architectural practice that makes furniture. The algorithm is the same one we use for building facades and structural optimizations. The craft is the same standard we apply to the details that will be touched and examined for the life of the building. The algorithm is the same one we use for building facades. The oak is the same material that has lasted three hundred years in Japanese interiors. What's different is that we made them talk to each other.
