All work · Index
Supply Chain · Automation

End-to-end supply chain automation for XELD

The garment business runs on this.

XELD Studio — hero
Fig. A — The garment business runs on this.
I

Context

Most garment businesses, even premium ones, are run on three things: a Google Sheet, a WhatsApp group, and the founder's memory. XELD was no exception. As the brand scaled — more vendors, more drops, more inventory in flight at any moment — the gap between the storefront's polish and the back-office's chaos became impossible to ignore.

II

Problem

A single misread in a fabric order cost a full production run. Vendor invoices arrived as PDFs, photos, or voice notes. Order status had to be triangulated across at least four people, each with a different mental model of what "in production" meant. There was no single number anyone could trust for "what does the business actually owe and own right now?" Reconciliation was a person, not a function.

III

Approach

We built XELD Ops as an internal platform with one rule: every action that previously lived in a spreadsheet or chat must produce a typed, audited row in the database. We started with vendor management and worked outward — purchase orders, GRNs, production runs, dispatch — until the platform mirrored the real flow of the business. The interface was designed for the production floor, not the boardroom: scannable, fast, mistake-proof.

IV

System

  1. 01

    Vendor ledger with negotiated terms, lead times, per-vendor performance scorecards, and a payment-risk score that updates after every transaction.

  2. 02

    Purchase orders that link to GRNs which link to production batches which link to dispatch — a single chain you can walk in either direction. Click any line, and the history walks back to the original PO PDF.

  3. 03

    Production-run tracking with per-stage status (cut, stitch, finish, QC, pack) that updates in real time from the floor via a tablet-friendly status view.

  4. 04

    Cost-per-garment calculated from actuals, not estimates. The COGS number you see is the one accounting will sign off on, because it was built from the same rows.

  5. 05

    WhatsApp-bridge for vendor updates: incoming messages get parsed and attached to the relevant PO automatically. Vendors keep their existing workflow; the team gets clean structured data.

  6. 06

    Audit log on every mutation. Soft-delete on every row. Nothing in the business disappears, even when the people who entered it do.

Fig. — schematic

How the pieces fit.

Vendorpo · grn · invoiceFactoryrun · stage · qcOrdersdispatch · ledgersinglesource oftruthaudit log — every action, typed and timestamped
Fig. — ledger
V

Architecture

L01Frontend
  • Next.js
  • TypeScript
  • Server Components
  • Recharts
  • PWA / mobile-first
L02API
  • Node.js
  • Express
  • Zod validation
  • Role-based access
  • Webhook ingress
L03Data
  • PostgreSQL
  • Prisma
  • Audit log table
  • Soft deletes
  • Daily snapshots
L04Infra
  • AWS ECS
  • RDS Postgres
  • S3 (artwork + invoices)
  • CloudWatch
  • EventBridge
Fig. — system stratification
VI

Outcome

XELD now closes the books in days, not weeks. Production-run errors caused by mis-communicated specs have effectively gone to zero. The team spends less time reconciling and more time on the work that actually moves garments out the door. The platform is now the single source of truth — the spreadsheet finally lost.

M01Active vendors managed
40+
M02Production-run errors
−92
%
M03Time to close books
3
days
M04Spreadsheets retired
11
VII

Learnings

  • /01

    Operations platforms fail when they ignore how the work already gets done. We built the WhatsApp bridge first, not last.

  • /02

    Audit log is not a nice-to-have for a 30-person garment business. It is the only way to make accountability survive turnover.

  • /03

    A two-way link between every PO, GRN, batch, and dispatch row is worth more than any dashboard.

  • /04

    The team did not need fewer reports. They needed every report to read from the same rows.

Backlinks

Where to look next.

Stack
Next.jsPostgreSQLNode.jsExpress.jsAWS