Lulu & Georgia

[Commerce]

A supplier's own spreadsheet becomes a finished product record. A monthly pass matches every SKU on the open purchase orders to its lab report. All four workflows are live in the client's workspace.

Workflows

01/ 04

Vendor operations · Live · Jul 2026

Each supplier gets one link and answers in the sheet it already has. A build moves to review by itself once its last error clears. The portal runs with Four Hands and more than a hundred furniture manufacturers.

A supplier's sheet read into a build: 200 of 200 SKUs filled

02/ 04

Product compliance · Live · Aug 2026

Once a month, the compliance pass matches every SKU on the open purchase orders to its lab report. It reads each report once and fills in the CPSC's own workbook.

One monthly pass In The pass Out PO sheet Lab reports Read once Match CPSC workbook + Match log Filed: high, medium Low: logged,never filed Started by hand once a month

03/ 04

PLM · Live · Aug 2026

Fifteen templates know what each product category asks for, and each one maps to the columns of the client's workbook. An approved SKU becomes a product record.

The template list: one template per product category

04/ 04

Ontology · Live · Jun 2026

One database model in the client's workspace holds everything from suppliers and templates to lab reports and filings. The client owns the ontology and can export it.

One model · 13 tables Vendor intake Compliance vendor vendor_answer template template_version build build_row build_image build_activity lab_report match_run filing compliance_profile product Every template, field and rule is a row Completeness is computed in the database

One model under both workflows

Supplier portal

The vendor list
State
Live · July 2026
Used by
Suppliers, one link each
Input
Their own sheet
Output
Questions only where unsure

Builds desk

The builds list with each build's stage and completeness
State
Live
Used by
Buyers
Stages
Draft to Approved, no submit button
Output
The client's workbook, filled

Compliance pass

State
Live · August 2026
Runs
Monthly, started by hand
Input
PO sheet and lab reports
Output
CPSC workbook and Match Log
A bright living room: a curved cream sofa, a boucle chair, a green armchair and a fluted round wood coffee table

One template per category

Each category's template asks for the angles the client's imagery guide sets. These photographs are the client's own.

A table lamp with a fluted shade on a light wood sideboard against a mauve wall
Lighting
Two hand-painted striped ceramic vases holding yellow ranunculus
Décor + Tabletop
A dining chair with a scalloped patterned skirt, shot on white
Furniture
A close view of a flatweave rug in terracotta and cream, a wood table leg on it
Rugs

The client and the work

Lulu & Georgia is a Los Angeles home furnishings retailer, founded in 2012. It sells furniture, rugs, lighting and decor, mostly online. It chose to start with a workflow outside its customer-facing systems, so a mistake stays contained. Below are three parts of the work up close, then the build log and what comes next.

We tested the sheet reader on messy 100-SKU sheets across 14 templates, 34,600 list and yes/no cells in all. Wrong cells went from 31 to 0. Each sheet raised 0 to 15 questions, and a typical read took 3 to 9 seconds.

The app first reads the SKU exactly off each file name. A supplier maps its own naming patterns to angles once, and every later build places photos by that mapping. Templates ask for the client's 14 angles.

The pass reads each lab report once and caches it. It logs low-confidence matches and never files them. Citations come only from the codes the CPSC publishes, and each SKU comes back New, Update or Unchanged.

  1. 2026-05-26A coverage check: which SKUs have a lab report, with Missing and Covered tabsdd0496e12
  2. 2026-06-01The first merged PR in the repo: the furniture template, 121 fields in 16 sections#1
  3. 2026-06-10All 8 templates move into the database, which computes completeness; we fix a Prop 65 rule that never fired and add a regression testa48d5a717
  4. 2026-07-06A magic-link supplier portal replaces the shared-sheets flow01b91f8b3
  5. 2026-08-21Templates rebuilt from the client's latest workbooks: 8 → 14#125
  6. 2026-08-26The CPSC pass ships#201
  7. 2026-08-27The ecommerce app ships, and the client's workspace cuts over to it#233 #238
  8. 2026-09-03Fabric and fill fields check their percentage breakdown (sums to 100 ±1)#376
  9. 2026-09-05Builds, suppliers and templates become database rows; one row per SKU3e2bb94f0
  10. 2026-09-08177 per-field dependencies audited, 9 lost rules restored, and every template tested to export into the client's workbooke3b313012
  11. 2026-09-10A buyer edits templates and a build's SKUs after the fact#440
  12. 2026-09-16A sheet lands in one statement; a long import says what it is doing; a build can ask for no photographs#874 #876 #907
  13. 2026-09-17The portal reads a supplier's own sheet; builds read their template live; compliance can match by search#959 #960 #964
  14. 2026-09-24Photos placed by exact file name and per-supplier mapping; templates ask for what the imagery guide asks for#1325 #1372
  15. 2026-09-25A field's conditions are rules: 18 gates converted; a model-judged "required if" goes, because 0 of 655 fields used it#1385

138 commits touch the app.

  1. NextFiling straight to the CPSC comes next.
  2. In buildWe're building a documented export of the client's ontology.
  3. In discoveryForecasting

You own your data and your ontology, and you can export it.Trust center