Tessom: every upholstery offcut gets a next piece
Description and use
Tessom automates offcut fabric management, dynamic product fitting, safe allocation, owner consent, and production tracking, enabling small workshops to monetize unused material.
Problem
Upholstery shops waste usable fabric offcuts because listing and selling them is difficult, especially when remnants have flaws, patterns, directions, and ownership constraints.
Outcome
Tessom automates offcut inventory management, deterministic product fitting, concurrency-safe allocation, ownership consent, and production tracking, reducing waste and enabling small workshops to monetize unused fabric.
Workflow
- 1. Store remnant metadata (dimensions, pattern repeat, direction, flaws, ownership, image, allocations, state) in Sanity.
- 2. On storefront request, read remnant data and deterministically fit product templates to remaining usable space, generating offers on the fly.
- 3. When a buyer selects a cut, send order request to backend; backend writes allocation using remnant's Sanity revision, locking the exact area.
- 4. If concurrent allocation attempts occur, only one revision succeeds; the other receives HTTP 409 and the storefront updates via Sanity listener.
- 5. If remnant belongs to a client, workflow pauses at "Awaiting consent"; owner approves via private link, moving order to "Allocated".
- 6. Workshop progresses order through "Cut → Sewn → Shipped" stages, updating Sanity workflow state.
- 7. Live Sanity updates keep storefronts in sync without reloads.
- 8. Optional Studio action "Read selvage photo" extracts fabric metadata via Groq Vision and suggests updates.
- 9. Buyer contact data is encrypted before storage; public dataset exposes only inventory.
- 10. Payments and transactional emails are handled manually after order placement.
Evidence
Offers are calculated on every read rather than stored. If the usable area changes, the available products change with it, so stale offers aren't left behind.
I tested this directly by sending two buyers after the same cut at almost exactly the same time. One request succeeded with HTTP 200. The other received HTTP 409.
Ownership consent is also part of the workflow rather than a checkbox added on top. If a remnant belongs to a client, the owner must approve it before the workshop can sell anything from it.
The storefront listens for relevant Sanity changes. When an allocation changes, another open browser can update its available cuts without reloading the page.
- Record date: 2026-10-04T21:41:07.519Z