Catalogue: every screen, and the journeys between them
Rendered inside the real app shell with example data for Moonthread, a lingerie and sleepwear store in Alleppey. 54 screens; 32 are tagged Needs backend work. Click a screen to open it; each page has Prev and Next for its journey and a link back here. Nothing here is connected to a real store.
Skim all screens →One at a time with arrow keys or Play, or all on one page
What this shows
- The catalogue module from the post-v1 PRD (E1 to E18), drawn as screens, not tickets.
- Products keep cost and margin beside price, so every price shows what is left after cost and ₹99 shipping against a 44% target.
- A library of 50 products and a live set of 22: next week's set and hero are planned, audited, previewed and published at a set time as one release with rollback.
- Supplier changes arrive in a staging area that is never public. Each new product, cost change, stock-out and discontinued item waits for approval.
- When an import, sync or drop fails, the live site stays on the last good release and the owner gets WhatsApp and email with the step, item and reason.
- The storefront runs in catalogue mode: Enquire on WhatsApp instead of a cart, until the Commerce module exists.
- Screens tagged Needs backend work rely on something beyond the core catalogue data model.
1Set up the catalogue
CT01Overview: locked preview
CT02Setup checklist
ST01Store settings: India basicsNeeds backend workpolicy pages written from stored owner answers, with blanks blocking publish
ST02Store settings: enquiry buttonNeeds backend workenquiry tap logging with refs; consent-gated Meta Pixel and GA4 tags
CT03Catalogue overviewNeeds backend workscheduled release job with countdown; pre-drop audit run; supplier diff counts2Import from Shopify
IM01Import: choose a sourceNeeds backend workShopify CSV parser and column mapping; async import jobs
IM02Import: map columnsNeeds backend workShopify CSV parser and column mapping; redirect creation
IM03Import: runningNeeds backend workasync import job with per-stage progress; WhatsApp and email notifications
IM04Import: done with 3 failed rowsNeeds backend workrow-level error report as CSV; WhatsApp and email notifications
IM05Import: failedNeeds backend workfailure alerts on WhatsApp and email with step, item and reason3Products and pricing
PR10Products: empty (new store)
PR01Products
PR02Product: details and pricing
PR03Product: compare-at below price blocks the save
PR04Product: variants matrix
PR05Product: mediaNeeds backend workImage resizing to WebP renditions and AI alt-text suggestions stored as proposals.
PR06Product: attributes and size chart
PR07Product: AI description draftNeeds backend workAI description drafts from stored facts, with a deterministic check that blocks claims not backed by an attribute.
PR08Product: SEO and URLNeeds backend workSlug history with automatic 301 redirects on release, and Product schema built from stored price and stock.
PR09Bulk edit gridNeeds backend workGrid read and apply endpoint that saves all changes as one all-or-nothing set of typed operations, with undo.4Organise the catalogue
OR01Categories
OR02Attributes and filters
OR03Size chart editor
OR04Collections
OR05Collection: rule-based editorNeeds backend workRule engine that evaluates conditions against the library and keeps matches current when price or stock changes.
OR06Collection: banners and scheduleNeeds backend workScheduled release jobs that publish and end a collection at set times, with failure alerts.5Plan and publish the weekly drop
DR01Weekly drop: this week
DR02Planner: next week's set
DR03Pre-drop auditNeeds backend workaudit job per plan version: images, sizes, size chart, stock, links and margin; re-run at 19:30 before publish
DR04Preview the dropNeeds backend workprivate preview of the candidate release behind an expiring token link
DR05Schedule dialogNeeds backend workscheduled release job: candidate built and gated when scheduled, final check at 19:30, pointer switch at 20:00
DR06Drop scheduledNeeds backend workscheduled release job with a 19:30 pre-check and WhatsApp and email notices
DR07Drop publishedNeeds backend workatomic live-set switch, live check, "Back soon" pages and one-click rollback to the previous release
DR08Drop failedNeeds backend workfailure capture (step, item, reason), WhatsApp and email alerts, retry of the same release6Supplier updates
SP01Supplier libraryNeeds backend worksupplier staging tables, price-list CSV parsing and supplier-SKU linking
SP02Supplier updates: this week's changesNeeds backend workweekly diff of supplier price lists, matched to products by supplier SKU
SP03Cost change: new price proposedNeeds backend workprice proposal from the margin rule (target 44%, ₹99 shipping, ending in 99)
SP04Approve in bulk dialogNeeds backend workapproved supplier changes queued into the next scheduled release
SP05Sync failed alertNeeds backend workWhatsApp alerts (template approval, provider) alongside email, with step, item and reason on every alert7Stock
8Search, feeds and API
CH01SEO templatesNeeds backend worksitemap submission to Search Console; Product and Offer schema generated from stored values
CH02Feeds: Meta and Google MerchantNeeds backend workMeta catalogue and Google Merchant feeds generated per release, with rejection reasons read back
CH03Catalogue API and webhooksNeeds backend workscoped API keys, signed webhooks with retries and a delivery log9The shopper's side
SF01Home with hero of the week
SF02Category listing with filter drawer open
SF03Product page
SF04Size chart drawer
SF09Search with synonymsNeeds backend workSearch index with synonym groups and product keywords, rebuilt with each release.
SF05Phone: lookbook layout
SF06Phone: product page
SF07Phone: WhatsApp enquiry openedNeeds backend workwa.me hand-off with the variant link, plus a no-personal-data beacon that logs each tap as an enquiry.
SF08Rotated-out product: back soonNeeds backend workNotify-me list per product, and a WhatsApp message to each subscriber when a drop brings the product back.

