mwn

NODE_03

Capsule Manufacturing

From quote to production tracking, for a small-series textile workshop.

Role
Founder, design and development, solo
Period
2026 to date
Status
Building
Stack
Next.js 16 · React 19 · TypeScript · Prisma · MySQL · NextAuth · GSAP · CSS Modules
Links
Code
Project page on the workshop side: manufacturing details, delivery address and nine-step production tracker with the current step highlighted.

The problem

An independent brand that wants to produce fifty pieces hits two walls: workshops that refuse small runs, and opaque pricing. The quote arrives by email after back-and-forth, production is followed by phone, the delivery address gets lost in a thread.

Capsule is the platform of a premium garment workshop designed for those brands, with a fifty-piece minimum. Three surfaces in one application: a marketing site with a six-step quote configurator, a workshop interface to price and produce, a brand portal to pay and follow. It is a product under construction that I carry alone.

Six-step quote configurator on the marketing site: product, fabric, branding, finishing, technical, contact.
The configurator: six steps, a live estimated price, an attached tech pack.

The constraints

  • Two actors, one state. The quote goes from the brand to the workshop and back. Each transition must create exactly what is needed, and nothing else.
  • Sensitive files. A brand's patterns and tech packs must never be served publicly.
  • An explainable price. Automatic pricing must read line by line, because a textile buyer negotiates on items, not on a total.

Architecture decisions

A readable pricing engine, not a black box

The unit price is a making cost per product, multiplied by a fabric coefficient and a volume discount, plus branding per location and finishing. Setup fees are itemised: screen-printing screens, embroidery programme, pattern making if the brand has none, prototype. Lead time is computed the same way. It all fits in one function the workshop can re-read.

The quote's state machine creates the business objects

A priced quote moves to PRICED, which creates the brand's account from the quote email. Payment moves it to PAID, which creates the project with its PRJ-2026-0002 reference and its shipment carrying the address. No screen creates a project by hand: it is born from a transition.

Production tracking is one timeline seen from two sides

Nine steps, from validated quote to delivery. The workshop advances the step in one click; the brand sees the same timeline in its portal. The address stays editable by the brand until something ships, then locks.

Private files and dependency-free printing

Tech packs are written outside the public folder and served through an authenticated route reserved to the workshop. The delivery slip is an A4 page styled for print, with no PDF library.

Architecture

Flux Capsule : configurateur, devis, chiffrage par l'atelier, paiement de la marque, projet et suivi de production La marque remplit le configurateur, le devis est persisté avec ses fichiers techniques privés. L'atelier chiffre le devis, ce qui crée le compte client. La marque paie, ce qui crée le projet et son expédition. L'atelier fait avancer les neuf étapes de production, visibles côté marque. MARQUEconfigurateur 6 étapes QUOTE · PENDINGPOST /api/quote · fichiers privés ATELIER · chiffragePRICED → compte client créé MARQUE · paiementPAID → PROJECT + SHIPMENT PRODUCTION · 9 étapescoupe · couture · qualité · envoi la marque suit la même timeline, adresse modifiable tant que rien n'est expédié
  1. Workshop pricing of a quote: contact, garment specifications, unit price, setup fees, lead time and estimated total.
    Step 1
  2. Brand portal: a project's production timeline, identical to the workshop's.
    Step 2
Both sides of the same object: pricing by the workshop, the timeline followed by the brand.

What is not finished

Stack

Next.js 16 App Router with the React Compiler, Prisma on MySQL, NextAuth with two access modes (magic link for brands, credentials for the workshop) and two roles checked on every route, GSAP for the marketing site. All of it was built in one short sprint, which explains both the coherence of the model and the list of what remains.

Next system · NODE_04Neocortex