These are mockups, not a working app. The data is a fixture and nothing is saved. They exist to settle design questions before anything gets built — so parts are deliberately unfinished, and this page tells you which.
catalog-product-create.html#state=auto. The address bar
always names the state you are on.Every product version in one sheet — 30 columns, identity pinned while the rest scrolls, four saved views, and filters for brand and for what needs a decision. Click any row to open the product record.
Open Catalog Products → catalog-list-v2.html
The eleven formulas, one row per formula at one unit spec. Marine Collagen 500 appears twice, at 90 and 60 capsules, on purpose: weight and dimensions only exist once a count does. Six formulas need a decision.
Open Source Formulas → source-formulas-list.html
One catalog product: identity, versions, images, benefit tags and Supplement Facts. The physical facts on the Specs tab are read-only and carry an SF-0007 ▸ link back to the formula that owns them.
Open The product record → catalog-product-edit-v6.html
What the product still owes before it can be listed — and the two automatic jobs, QuickBooks and ShipStation, that create its records. Facts a person owes are a table; the two machines are cards, because each runs a lifecycle (checked · you decided · created · proved) that a table cell cannot hold. It opens as a drawer off the product record, and shows only what is outstanding — settled intake fields fold to one line.
Also addressable: the settled drawer, opened · the product record carrying the processing banner · the drawer with work outstanding
Open Setup & gaps → catalog-product-setup.html
The record that owns every physical fact — count, weight, dimensions, bottle, cost, ingredients. Read-only everywhere else; edited through a drawer that opens over whatever screen you are on. Creating one mints its RW SKU in the background.
Also addressable: the record mid-mint, with the running banner · the drawer stopped on two RW candidates, waiting on a decision · the setup drawer with optional fields outstanding · the settled drawer, opened on the proof
Open Source formula → source-formula.html
Creation is a readiness checklist, not a wizard: two fields mint the product and Create is live from step 1. Then the QuickBooks settlement — matching, minting, and the one case where the machine acts alone and says so.
⚑ 2 variants — Can the one-canvas layout be deleted now?
Also addressable: the one-canvas layout variant, kept for comparison · deep-link straight to step 3 of the stepped layout · the readiness panel in its ready to list state
Open Add a product to the catalog → catalog-product-create.html
The shipment packaging resolver, made visible: the package table with its tares, the USPS tier × zone rate matrix, the source-formula × pack-size packing grid, saved combos, and the ShipStation rules generated from all of it. The resolver rail on the right runs the whole chain live, because it is the one function the listing builder’s margin maths and the warehouse’s label both call.
Open Shipment Packaging → packaging.html
The four Channel Accounts, one row each. Two status columns, not one: active is your switch, connection is a system fact — and the row that matters is the one that is both active and broken. Promoted out of SCREENS.md’s SKIP because it owns the margin floor, the channel fee and the ad rate, which nothing else could set.
Open Sales channel accounts → sales-channel-accounts-list.html
One account: identity, the connection card, money rules, listing seeds and its listings. The connection is a machine item, so it runs a lifecycle — checked · authorised · scopes · proved — and the fourth beat is the difference between holding a token and it working. Five connection states, one set of nodes.
Also addressable: arriving from the list on the broken account · the alarming state on its own
Open Sales channel account → sales-channel-account.html
One listing job end to end for an eBay account — products, packages, brief, generated drafts, images, the ShipStation mirror, and a final review. Stage 3 is the package rule stack (was its own screen until MR-077): you type the one-bottle price and the ladder derives every bundle and combo from it.
⚑ 2 variants — May a job add pack sizes of its own?
Open Listing builder → listing-builder.html
Generated from mockups/ui/ by scripts/build-mockup-site.sh on 2026-09-02.
Superseded screens and the original wireframe study are deliberately not published here.
Design decisions are logged in mockups/ui/DECISIONS.md.