Ambigramma 3D Studio does something genuinely unusual: it fuses two different words into a single three-dimensional object. Look at the sculpture from one side and it reads GREAT; walk around it and it reads WORST. Type any two words, pick a font, and the generator computes the 3D geometry that produces both readings, renders it live in the browser, and exports a print-ready STL file.
I built this product for MadeMolise as a full stack project, and it is one of the most satisfying pieces of geometry work I have shipped.
The problem
Dual-letter ambigrams are an old typographic trick, but doing them in 3D is a computational geometry problem. Each letter pair has to be intersected so that the solid reads as one character from the first viewing angle and a different character from the second. Fonts complicate everything: strokes, counters and serifs intersect differently in every combination, and some pairs barely share enough volume to remain legible.
What I built
The generator takes the two words, extrudes each letterform along its own viewing axis, and computes the boolean intersection of the two extrusions for every letter pair. The result is a chain of solids that reads correctly from both angles. Users choose from multiple fonts and weights, because the intersection behaves completely differently between a geometric sans and a heavy black face, and part of the fun is exploring what survives.
Everything renders in real time with Three.js and WebGL. The preview is the product: users rotate the sculpture, watch one word morph into the other as the angle changes, and iterate on text and font until the object feels right. Generation is fast, typically a few seconds even for longer words, and each result shows its generation time as a small badge of honor.
The output is a manufacturing file, not just a picture. The STL export produces watertight, printable geometry, which meant cleaning up the raw boolean results: removing degenerate faces, healing the mesh and making sure the chain of letters connects into an object that survives slicing software.
Around the generator I built the studio experience: a gallery of recent creations users can revisit, a create flow for new designs and a cart, because these objects are made to be printed and owned.
Under the hood
The application runs on Next.js and React, with the geometry pipeline in the browser for instant feedback. Design metadata persists server-side so the gallery and cart survive sessions.
The result
Ambigramma is live and producing designs that people actually print. It shows what the browser can do now: a full parametric design tool, from idea to manufacturable object, with no software installed.
