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. 92 screens; 71 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 beside price. Margin is worked out on the price before GST, after cost and ₹99 shipping, against a 44% target, and the pricing rule knows the ₹2,500 GST slab.
- 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.
- Small edits publish in about a minute as their own release; only the live set and the hero wait for the drop.
- Supplier changes arrive in a staging area that is never public. Each new product, cost change, stock-out and discontinued item waits for approval; stock-outs can be approved in one tap.
- 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.
- Enquiries are the conversion: every WhatsApp tap and form gets a ref and a row, and the owner marks what turned into an order.
- theStacc can run the store for the owner: the operator prepares, the owner approves, from the app or from WhatsApp.
- 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.
- Screens with a and b suffixes are design options for the same screen; see the Options journey.
1The shopper's side
SF01Home with hero of the week
SF02aCategory listing with filter sidebar (option, recommended)Needs backend workfacets per release; URL state
SF03aProduct page
SF12Desktop: enquiry dialog with QR and form (option c, recommended)Needs backend workQR of the wa.me URL; form fallback to /__lead
SF04Size chart drawer
SF09Search with synonymsNeeds backend workSearch index with synonym groups and product keywords, rebuilt with each release.
SF13Product page: every size sold outNeeds backend workwhole-product out-of-stock rendering; notify-me per product
SF05Phone: lookbook layout
SF06Phone: product page
SF10Phone: listing with the filter sheetNeeds backend worksame facets
SF07Phone: WhatsApp enquiry openedNeeds backend workEdge route /__enquire/wa logs the tap with a ref (no name or number) and 302s to wa.me with the variant link.
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.2Set up the catalogue
CT01Overview: locked preview
CT02Setup checklist
ST01Store settings: India basicsNeeds backend workpolicy pages written from stored owner answers, with blanks blocking publish
ST03Store settings: policiesNeeds backend workpolicy pages generated from stored owner answers; placeholder check blocks publish; facts reused on product pages
ST02Store settings: enquiry buttonNeeds backend workenquiry tap logging with refs; consent-gated Meta Pixel and GA4 tags
PR15Bring Library products into the catalogueNeeds backend workmatch brand_products.external_id and URL handle to catalogue slugs; merge images; projection of catalogue products into the Library
LB01Library: Products tab with the Catalogue onNeeds backend workLibrary projection of catalogue products; enabled_modules moved onto the product; live-set filter for content modules
DR09Weekly drop: first dropNeeds backend worksuggested set from library (has image, has stock, margin at or over target, highest margin first); first-drop schedule
CT03Catalogue overviewNeeds backend workscheduled release job with countdown; pre-drop audit run; supplier diff counts3Import 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 reason4Products and pricing
PR10Products: empty (new store)
PR01Products
PR02Product: details and pricing
PR03Product: compare-at below price blocks the save
PR11Product: variant drawerNeeds backend workvariant.update operation; supplier item lookup by supplier SKU
PR12Product: edit optionsNeeds backend workproduct.set_options with dry-run preview
PR04Product: variants matrix
PR05Product: mediaNeeds backend workImage resizing to WebP renditions and AI alt-text suggestions stored as proposals.
MD01Media libraryNeeds backend worksite_assets with usage index, source tag, focus point, renditions; delete guard
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.
PR13Product: archive and undoNeeds backend workproduct.archive and product.delete with published-state check
PR14Unpublished changesNeeds backend workdraft vs live diff; small release pipeline with audit; per-change release assignment5Organise the catalogue
OR01Categories
OR07Category editor and deleteNeeds backend workcategory operations; delete with re-parent and redirect; manual product order
OR02Attributes and filters
OR03Size chart editor
OR08Search synonymsNeeds backend worksearch_synonym_groups; zero-result search log from the edge counter; index rebuilt per release
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.6Meera's week: Friday's price list
SP06Supplier setupNeeds backend worksuppliers table with arrival mode, GST flag, saved mapping, rules; email-in address per site
SP07Supplier list: map columnsNeeds backend workper-supplier column mapping with persistence; import dry run
SP01Supplier libraryNeeds backend worksupplier staging tables, price-list CSV parsing and supplier-SKU linking
SP02aSupplier updates: this week's changesNeeds backend workweekly diff of supplier price lists, matched to products by supplier SKU; slab-aware price proposals
SP03Cost change: new price proposedNeeds backend workslab-aware price proposal from the margin rule (target 44% of price before GST, ₹99 shipping, endings 49 or 99)
ST06Store settings: drops and pricing rulesNeeds backend workcatalog_settings for cap, cadence, hero targets, pricing rule; slab-aware proposal function
SP08New product from the supplierNeeds backend workdraft creation from supplier rows with variant grouping; slab-aware price suggestion; photo source tag
SP04Approve in bulk dialogNeeds backend workapproved supplier changes: stock path for stock-outs, next release for costs and prices
SP05Sync failed alertNeeds backend workWhatsApp alerts (template approval, provider) alongside email, with step, item and reason on every alert7Meera's week: plan and publish the drop
DR01Weekly drop: this week
DR02aPlanner: next week's set
DR10Planner: suggested rotationNeeds backend workrotation suggestion from live history, stock, margin and enquiry counts
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
DR11Roll back dialogNeeds backend workrollback publication with reason; diff between two releases
CT05Release historyNeeds backend workrelease index across drops, small releases and rollbacks with per-release diff and verification result8When something fails
IM05Import: failedNeeds backend workfailure alerts on WhatsApp and email with step, item and reason
SP05Sync failed alertNeeds backend workWhatsApp alerts (template approval, provider) alongside email, with step, item and reason on every alert
DR08Drop failedNeeds backend workfailure capture (step, item, reason), WhatsApp and email alerts, retry of the same release
CT06Overview: partial loadNeeds backend workper-card loading and error states; cached last-known values with their timestamp
ST05Store settings: alertsNeeds backend workalert matrix per site; Wati utility templates for WhatsApp; delivery log with retries9Enquiries and what the drop did
EN01EnquiriesNeeds backend worksite_leads with ref, product, variant, price at click, channel, status, note; edge 302 logging
EN02Enquiry detailNeeds backend worklead detail with drop id, page path, referrer, consent, price at click; version-checked status and note
AN01Weekly drop: numbersNeeds backend workedge counters for views, taps and searches per release; drop_product_stats; search log10Stock
11Search, feeds and API
OR08Search synonymsNeeds backend worksearch_synonym_groups; zero-result search log from the edge counter; index rebuilt per release
CH01SEO templatesNeeds backend worksitemap submission to Search Console; Product and Offer schema generated from stored values
CH02Feeds: Meta catalogue and Google MerchantNeeds backend workMeta catalogue feed generated per release, with rotated-out products kept as out of stock for 30 days
CH03Catalogue API and webhooksNeeds backend workscoped API keys, signed webhooks with retries and a delivery log12theStacc runs it for you
ST04Store settings: people and permissionsNeeds backend workoperator role flag on project members; per-site permission grants; approval requests with expiry
OP01Operator: ask the owner to approveNeeds backend workoperator role; approval request with preview link and 48 h expiry; one-tap approve endpoint
MB02Phone: approve Week 44Needs backend workapproval request page by token; approve or return with note
OP02Activity by theStaccNeeds backend workoperator action log with release and approval references13On the owner's phone
MB01Phone: overviewNeeds backend worksame data as CT03; phone nav
MB04Phone: the alerts as Meera's WhatsApp shows themNeeds backend workWati utility templates, one per event; deep links to phone screens
MB03Phone: supplier changes, one group at a timeNeeds backend worksame proposals; stepwise decisions
MB02Phone: approve Week 44Needs backend workapproval request page by token; approve or return with note14Inside the website builder
WB01Website builder: catalogue sectionsNeeds backend workdata-bound sections (E13): query and reference field kinds, per-release snapshot, re-render impact
LB01Library: Products tab with the Catalogue onNeeds backend workLibrary projection of catalogue products; enabled_modules moved onto the product; live-set filter for content modules15Options
Each pair shows two designs for one screen; the caption says which is recommended.
DR02aPlanner: next week's set
DR02bPlanner: calendar (option)Needs backend workmulti-week plans; same drop model
SP02aSupplier updates: this week's changesNeeds backend workweekly diff of supplier price lists, matched to products by supplier SKU; slab-aware price proposals
SP02bSupplier updates: decide by group (option)Needs backend worksame proposals; group decisions
SF02aCategory listing with filter sidebar (option, recommended)Needs backend workfacets per release; URL state
SF02bCategory listing with filter drawer (option)
SF03aProduct page
SF03bProduct page, Commerce preview (option, not built)Needs backend workCommerce module (Phase C)
SF07Phone: WhatsApp enquiry openedNeeds backend workEdge route /__enquire/wa logs the tap with a ref (no name or number) and 302s to wa.me with the variant link.
SF11Phone: enquiry form (option b) and thanksNeeds backend work/__lead with Turnstile, rate limit, Indian mobile validation; ref assignment
SF12Desktop: enquiry dialog with QR and form (option c, recommended)Needs backend workQR of the wa.me URL; form fallback to /__lead
