MR

Merch Riot — mockups

catalog channel engine · 10 screens · 36 harness states · 2026-09-02

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.

How to read these

Catalog Products

the front door · MR-043

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

Source Formulas

new this round · MR-062

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

Setup & gaps

3 states · MR-066

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

Source formula

4 states · MR-059 / 067 / 070 / 073

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

Add a product to the catalog

9 states · MR-055 / 060 / 061

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

Shipment Packaging

4 states · MR-089 … 093

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

Sales channel accounts

3 states · MR-079

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

Sales channel account

5 states · MR-079

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

Listing builder

8 stages · 2 variants · MR-078

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.