Since 2021 I've worked on a pattern-making platform for the apparel industry, most recently as Tech Lead. Its output drives a cutting machine, so the geometry has to be right in millimetres — "almost" wastes real fabric on a real table.
It is a 2D CAD editor in the browser, a geometry and plotting pipeline, a cut-order planner and a nesting stack. The code is private, so what follows is a description of the problems and what I built, with no source, screenshots or client data.
Grading & size charts
One shape, twenty sizes
A pattern isn't a shape, it's a size range. Every point has to travel the right distance as the garment grows, and a curve has to stay a curve at the far end of the range.
I built the size-chart layer — the measurement tables, their link to a pattern, and the sync that stops a graded pattern and its chart from drifting apart — and worked for years on the grading engine behind it: grouped grades, copying a grade set from a reference piece, automatic grading pins, and the ordering and duplication problems that surface once one chart feeds many patterns.
Seam allowance
The offset problem, in production
The same operation as the drawing at the top of this page, with a cutting table at the end of it. I built the feature, then rebuilt it on a new edge representation across all four services — the CAD editor, the geometry CLI, the API and the cut-order planner — with a migration for every pattern already drawn under the old model.
Most of the work was the failure modes: allowances running to infinity at near-degenerate corners, allowances overlapping on neighbouring pieces, and the performance ceiling once a piece carries thousands of edges.
Nesting
Bin packing that has to obey physics
Nesting is packing, constrained by things the fabric decides: roll width, grain direction, fold edges, and pieces that have to stay together. I work across its three layers — the TypeScript service that feeds and caches nesting jobs, the C# engine that does the packing, and a Python optimizer for spread and roll planning.
Most recently, locked groups: pieces the planner must treat as one unit are fused into a single pinned hull, including the awkward case where the group sits on the fold.
Test & QA infrastructure
Geometry fails silently
Output that is wrong by two millimetres still looks exactly like a pattern. Nothing throws. So the testing has to be visual and dimensional, not just assertive.
I built a golden-image regression suite over a corpus of real pattern files — DXF/AAMA, PLT and SVG — that fails on pixel and coordinate drift, plus a corpus runner that classifies which files import without their grading intact. On the front end, an end-to-end recorder that captures keyboard and canvas interaction, so a CAD bug arrives as something you can replay instead of something you have to reproduce from a description.
Before this: CAD and vector graphics tooling, enterprise Java banking systems, and Rails at scale. Background in Systems Analysis and Physics.