A self-hosted operations console for a one-woman machine-embroidery studio. Orders in, stitches out, money counted — one app instead of a spreadsheet, a paper notebook, and a separate digitizing program.
Machine embroidery has two halves: running the business and making the stitch file. Off-the-shelf software does one or the other, and the digitizing half is expensive and built for a shop with staff. BROIDERS does both halves for one person — the queue, the customer book, the revenue, and a digitizer that turns a word or an SVG into real stitch geometry the machine will sew.
Four screens follow, each shown as it actually renders. The data in them is sample data, but the interface is the real one.
Not a dashboard full of numbers you didn't ask for. Three doors and a status light: is the machine ready, and where are you going? The pill in the top-right is live — it turns over when the backend stops answering.
The studio OS for a one-woman embroidery powerhouse. Track orders, manage designs, count the cash — all in one neon-lit console.
The working queue. Four counters across the top, the order list in the middle, and the customer book beside it — because most jobs in a studio like this are the same people coming back. Every order carries its line items, its due date, its notes, and the files that belong to it.
| Order | Customer | Status | Due | Total | |
|---|---|---|---|---|---|
| #1043 | J. Alvarez | In Progress | 2026-09-04 | $180.00 | edit → |
| #1042 | M. Okafor | New | 2026-09-02 | $65.00 | edit → |
| #1041 | Sunridge Stables | In Progress | 2026-08-30 | $420.00 | edit → |
| #1040 | R. Vega | New | 2026-09-08 | $95.00 | edit → |
| #1039 | T. Brandt | New | 2026-09-11 | $150.00 | edit → |
// the Open queue. History holds finished jobs and adds a copy → action per row.
The reason the app exists. Type a word, or drop in an SVG, and the backend
computes actual stitch geometry — satin columns and fill rows, with jump
stitches where the needle travels. The preview you see is not a picture of the
artwork; it is the stitch path itself, drawn at 0.4 mm thread width so the
coverage on screen is the coverage on fabric. Export .vp3 or attach it
straight to an order.
.ttf and it joins the list.Lettering or a simple SVG logo — pick a mode, preview the actual stitches, export .vp3 or attach it to an order.
// text mode. The preview above is genuine fill-stitch geometry, not a rendering of a font.
// logo mode. Each SVG shape becomes its own colour block; hovering a row outlines that shape in the preview.
Two running totals and one honest bar chart. Every order counts toward the month and the year it was entered — no reclassifying, no adjustments, no way to make a slow month look better than it was. The dashed line is the monthly goal.
Every order counts toward the month and the year it was entered. Two running totals, one honest bar chart.
goes live once per-run cost inputs are added to the order form
Small on purpose. One person has to maintain this, so there is no message queue, no cluster, and no cloud bill — a single Python process serving an API and a built frontend from the same origin, backed by one SQLite file.
FastAPI on Python, SQLModel over SQLite, dependencies pinned with uv. Serves the API and the built frontend from one origin — no CORS, no second process.
Pure Python. Glyph outlines and SVG paths become stitch runs — satin columns, scanline fills, jump stitches — written out as .vp3 for a Husqvarna Viking machine.
React and TypeScript in strict mode, built with Vite. No component library — the design system in this document is hand-written CSS against a token file.
BROIDERS Studio OS — feature showcase. Interface rendered with the production stylesheet; all orders, customers, and figures shown are fabricated sample data.