docs: Wax Museum report — three-layer model + feature matrix
Reframed from backend-only to three layers (Lighthouse measures speed, not records-features): A Discovery (clickable genre/artist/style/label, audio samples, find-in-store), B In-store ops (item location, store map, A-Z refile/crate-reorg — the deepest moat, nothing else does it), C Market intel (value/underpricing/scarcity/arbitrage — mostly Have today). Added per-feature matrix (layer / today / RecordGod / Shopify+Discogs-sync can't / build effort) + Jackson as co-design partner for the ops layer, not just a reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b256b1399c
commit
a304476645
@ -1,115 +1,103 @@
|
||||
# Wax Museum Records — RecordGod Deep-Dive & Onboarding Report
|
||||
*Prepared from DealGod data (catalog scrape, Lighthouse/OSINT, cross-store arbitrage) + live-site audit. First enterprise onboarding target — Jackson, free year as a non-self test case.*
|
||||
*Prepared from DealGod data (catalog scrape, Lighthouse/OSINT, cross-store arbitrage) + live-site audit. First enterprise onboarding target — Jackson, free year as a non-self test case + co-design partner.*
|
||||
|
||||
---
|
||||
|
||||
## TL;DR — the strategic reframe
|
||||
**Wax Museum's Shopify is genuinely excellent. Do not pitch "faster / cheaper / better SEO" — every one of those claims is false for them, and Jackson will know it.**
|
||||
## TL;DR
|
||||
Wax Museum's Shopify is **technically excellent** (Lighthouse perf 99 / SEO 100, fast, no search-app tax) and their data is already **Discogs-sync-native** (clean titles, Media/Sleeve grades, country/year). So **do not pitch "faster / cheaper / better SEO" — all false, Jackson will know.**
|
||||
|
||||
- Lighthouse: **perf 99, SEO 100, a11y 93**, JS-boot 17 ms. Fast.
|
||||
- **No paid search app** (no Boost/Algolia "app tax" to save him).
|
||||
- They already run a **Discogs-sync app** → their data is Discogs-native + condition-graded.
|
||||
But "technically excellent" ≠ "feature-complete for a record shop." Lighthouse measures *speed and crawlability*, not whether a digger can browse by label or staff can refile a crate. RecordGod's value lands across **three layers** Shopify + a Discogs-sync app structurally can't touch:
|
||||
|
||||
The pitch is **the one thing Shopify + a Discogs-sync app structurally cannot give them: the cross-store AU market view** — value, underpricing, scarcity, arbitrage, buy-side intel — built on data they *already publish*, so onboarding is near-zero-effort for him.
|
||||
- **A — Discovery (customer frontend):** clickable genre/artist/style/label, audio samples, find-in-store.
|
||||
- **B — In-store operations:** item location, store map, A-Z refile/crate-reorg. *Nothing else solves this. Daily. Stickiest.*
|
||||
- **C — Market intelligence (backend):** cross-store value, underpricing, scarcity, arbitrage.
|
||||
|
||||
**Intel (C) is the dollars. Ops + discovery (A/B) are the habit.** Pitch all three; lead the demo with C's money and B's daily-use stickiness.
|
||||
|
||||
---
|
||||
|
||||
## 1. Store snapshot
|
||||
| | |
|
||||
|---|---|
|
||||
| Site | waxmuseumrecords.com (Shopify, est. 2006, online since 2011) |
|
||||
| Location | 250 Flinders St, Melbourne CBD | Mail: Microsoft 365 |
|
||||
| Catalog | **2,714 products / 2,459 live** · total stock value ≈ **$99k** |
|
||||
| Pricing | median **$30**, avg $40, range $1–650 — crate-digger pricing (853 items <$20, ~80% under $60) |
|
||||
| Velocity | **~255 sold / 30 days**, sell-through ≈ **9.4%/mo** (full turn ≈ 10 months) |
|
||||
| Site | waxmuseumrecords.com (Shopify, est. 2006, online since 2011), 250 Flinders St Melbourne CBD, mail M365 |
|
||||
| Catalog | **2,714 products / 2,459 live** · stock value ≈ **$99k** |
|
||||
| Pricing | median **$30**, avg $40, range $1–650 — ~80% under $60 (crate-digger pricing) |
|
||||
| Velocity | **~255 sold / 30 days**, sell-through ≈ **9.4%/mo** (~10-month turn) |
|
||||
| Mix | Vinyl 1,883 · CD 222 · Books 41 · + LP/12″/7″ split + **437 uncategorised** |
|
||||
| Lean | Hip-hop / funk-soul / jazz / rock — a curated, second-hand crate store |
|
||||
| Lean | Hip-hop / funk-soul / jazz / rock — curated second-hand |
|
||||
|
||||
## 2. Technical / SEO audit — *storefront speed is NOT the gap*
|
||||
Lighthouse (2026-06-16): perf **99** · SEO **100** · a11y **93** · best-practices **73** · page 2.4 MB · JS-boot **17 ms** · Shopify · stack PayPal/Shop Pay/GA/Mailchimp.
|
||||
Live: **no third-party search app** · **`products.json` open** (full-catalog access) · **0 homepage JSON-LD** (the one genuine SEO gap — no Org/Product schema → no rich results) · security headers **F** (common Shopify, low priority).
|
||||
**Verdict:** the box is fast and clean. The gaps are *features and operations*, not milliseconds.
|
||||
|
||||
## 3. Data foundation — already Discogs-native (why this is cheap to light up)
|
||||
They run a **Discogs → Shopify sync**. Every listing:
|
||||
> Title `Deep Purple - 24 Carat Purple (LP, Comp) (Very Good Plus (VG+))` · Body `Media Condition: VG+ · Sleeve Condition: VG+ · Country: Japan · Released: …` · Tags `Comp, Hard Rock, LP, Rock` · Vendor = label.
|
||||
|
||||
The hard part (clean Discogs metadata + grading) is **done**. But DealGod under-captures it — **condition 0% structured** (it's in the text), **`release_id` only 26%** (693/2,714, despite perfect-format titles). Fixing that powers all three layers from data they already publish.
|
||||
|
||||
---
|
||||
|
||||
## 2. Technical & SEO audit — *storefront is not the problem*
|
||||
**Lighthouse (DealGod OSINT, 2026-06-16):** perf **99** · SEO **100** · a11y **93** · best-practices **73** · page 2.4 MB · JS-boot **17 ms** · platform Shopify · stack: PayPal, Shop Pay, GA, Shopify Analytics, Mailchimp.
|
||||
## 4. THE THREE LAYERS — feature matrix
|
||||
> Legend — **Have:** exists in DealGod today · **Low/Med/High:** build effort · **❌ S/D:** Shopify *and* a Discogs-sync app structurally can't do it.
|
||||
|
||||
**Live audit:**
|
||||
- **No third-party search app** (Boost/Algolia/Searchanise absent) — runs native Shopify search.
|
||||
- **`products.json` open** (HTTP 200) → full-catalog access for migration without even needing an Admin token (Admin API still better for inventory/cost).
|
||||
- **0 JSON-LD on the homepage** — no Organization/Store structured data → missed rich-result eligibility. *(The one genuine SEO gap.)*
|
||||
- **Security headers: grade F / 0** (no CSP/HSTS) — common on Shopify, low priority.
|
||||
### A — Discovery (customer-facing frontend)
|
||||
| Feature | Today at Wax | RecordGod | ❌ S/D | Effort |
|
||||
|---|---|---|---|---|
|
||||
| **Clickable genre / artist / style / label** facets (Discogs-style browse) | dead-text tags only | `release_id → artist_id/genre/style/label` → click any → that whole catalogue | ❌ (theme shows static tags) | **Low** (data exists) |
|
||||
| **Audio samples** (listen-before-buy) | none | per-pressing preview pipeline | ❌ | **Med–High** (sample source) |
|
||||
| **Find-in-store** (customer: "in stock, Crate 12") | none | item-location surfaced on the product | ❌ | Med (needs layer B) |
|
||||
| **Rich structured data** (Product/Org schema → rich results) | 0 JSON-LD | emit schema from canonical data | partial | Low |
|
||||
|
||||
**Verdict:** the storefront is fast and SEO-clean. Gemini's "Shopify is slow / forces you onto search apps / API-throttles you" pitch **does not apply to Wax Museum.** The only storefront-side adds worth a sentence: structured data (Org + Product schema) and records-native search Shopify can't do.
|
||||
### B — In-store operations *(the deepest moat — nobody else even tries)*
|
||||
| Feature | Today at Wax | RecordGod | ❌ S/D | Effort |
|
||||
|---|---|---|---|---|
|
||||
| **Item physical location** (crate / shelf / bin per record) | none | location field per item, set on intake | ❌ | Med (schema + capture) |
|
||||
| **Store map / find-on-map** (pick & locate visually) | none | floor map → highlight the crate | ❌ | Med (map UI) |
|
||||
| **A-Z refile / crate-reorg with directional arrows** | none | staff tool: "← back 3 / → fwd 2, Crate H–K" for returns, mis-files, new stock | ❌ | Med — **the killer daily tool** |
|
||||
| Intake / restock workflow | manual / Discogs | scan-in → graded, located, priced, listed | ❌ | Med |
|
||||
|
||||
### C — Market intelligence (backend $)
|
||||
| Feature | Today at Wax | RecordGod | ❌ S/D | Effort |
|
||||
|---|---|---|---|---|
|
||||
| **Cross-store value** per record (AU network) | 13% valued (329/2,459) | value the rest via `release_id` | ❌ | **Have** |
|
||||
| **Underpricing flags** | none | 36% of valued sit below cross-store median → list them | ❌ | **Have** |
|
||||
| **Scarcity** ("only copy in network") | none | uniqueness scan | ❌ | **Have** |
|
||||
| **Arbitrage / buy radar** | none | what to chase, below-median/melt | ❌ | **Have** |
|
||||
| **Condition (Media/Sleeve) structured + searchable** | in text, 0% structured | parse → first-class graded fields | sync has text only | Low |
|
||||
| Reorder / distributor intel | none | restock signals | ❌ | Roadmap |
|
||||
|
||||
**Read of the matrix:** Layer C is mostly **Have** (immediate $ demo). Layers A/B are mostly **build** — but they're the differentiators Shopify can never ship, and they're *daily-use* (A every customer visit, B every staff shift). That's what makes it sticky, not just impressive.
|
||||
|
||||
---
|
||||
|
||||
## 3. The killer finding — their data is already Discogs-native
|
||||
Wax Museum runs a **Discogs → Shopify sync app**. Sample product:
|
||||
## 5. The hook + sequencing for Jackson
|
||||
1. **Money first (C, today):** "Here are N records you're underpricing vs the AU market" + "your only-copy rarities." Built from his existing feed, one screen.
|
||||
2. **Habit next (B, co-build):** the refile/locate/crate tools his floor staff use every shift — designed *with* him in his actual shop.
|
||||
3. **Discovery (A):** Discogs-style browse + samples for his customers.
|
||||
|
||||
> **Title:** `Deep Purple - 24 Carat Purple (LP, Comp) (Very Good Plus (VG+))`
|
||||
> **Body:** `Media Condition: Very Good Plus (VG+) · Sleeve Condition: Very Good Plus (VG+) · Country: Japan · Released: …`
|
||||
> **Tags:** `Comp, Hard Rock, LP, Rock` · **Vendor:** `Warner Bros. Records` (= label)
|
||||
## 6. Onboarding plan — read-only intel first, co-design ops second
|
||||
0. Connect — Shopify Admin token (read_products/inventory/orders) or the already-scraped 2,714 + open `products.json`.
|
||||
1. Link + grade — Discogs-format parser (26% → ~90%+) + Media/Sleeve condition.
|
||||
2. Value + flag (C) — cockpit read-only over live stock; webhooks keep it live. **Prove $.**
|
||||
3. Co-design (B) — build crate-location / refile / map *in his shop* (he's the design partner, not just a reference).
|
||||
4. Discovery (A) — facets + samples on the customer side.
|
||||
5. Storefront/checkout — *only* if the fee math holds, in parallel, never a cutover. His Shopify is good; replacement is not the lead.
|
||||
|
||||
Every listing carries **Artist – Title (Format) (Grade)** + **Media/Sleeve condition + Country + Year**. This is the cleanest possible feed — the hard part (clean Discogs metadata) is *already done*.
|
||||
## 7. Pitch discipline — what NOT vs what TO say
|
||||
**Don't (false for them):** faster than Shopify (perf 99) · save the search-app tax (no app) · Shopify API throttles you (not near limits; bulk ops exist) · "Shopify surveils your buyers" (FUD — cut it). Fee savings = *maybe*, model his real volume, Square also charges ~1.6–1.9% — don't quote invented numbers.
|
||||
**Do:** the three layers above — records-native **discovery + in-store ops + market intelligence**, none of which Shopify or a Discogs-sync app can do, most of it from data he already publishes.
|
||||
|
||||
**But DealGod is under-capturing it:**
|
||||
| Signal | In their feed? | Captured in DealGod | Fix |
|
||||
|---|---|---|---|
|
||||
| Discogs `release_id` | derivable (perfect-format title + country + year) | **26%** (693/2,714) | tune the Discogs-format title parser → near-100% |
|
||||
| Media/Sleeve condition | **yes, every item** | **0%** | parse `Media/Sleeve Condition:` from body |
|
||||
| Country / pressing year | yes | partial | parse from body |
|
||||
## 8. DealGod-side actions this surfaced (help every Discogs-sync store)
|
||||
- Parse **Media/Sleeve condition** from `body_html` → `products.condition` (0% today).
|
||||
- Lift **Discogs-format match rate** (strip trailing `(Format)(Grade)` + use body Country/Year) — 26% → 90%+.
|
||||
- Both reusable across the Disconnect/CommonGround/Discogs-sync family.
|
||||
|
||||
→ This is a **slam-dunk**: we can light up near-total Discogs linkage + full grading from data they already publish. (Same pattern as the Disconnect/CommonGround stores — a reusable Discogs-sync ingest, not a one-off.)
|
||||
## 9. Capture next (John / popup)
|
||||
- Social reach (IG/FB — not captured) for the dossier.
|
||||
- A few product pages to confirm the body grading format is 100% consistent before shipping the condition parser.
|
||||
- Admin-API `cost` per variant (Jackson's token) → true margin, not just market delta.
|
||||
|
||||
---
|
||||
|
||||
## 4. The gaps = the RecordGod value
|
||||
| Gap today | RecordGod delivers |
|
||||
|---|---|
|
||||
| 74% of catalog unlinked to a `release_id` | link it → canonical + market value per item |
|
||||
| **Condition 0% structured** (it's in the text) | Media/Sleeve grades as first-class fields |
|
||||
| **Only 13% valued** vs the cross-store network (329/2,459) | value the rest → real AU market price per record |
|
||||
| **36% of valued stock priced below cross-store median** | flag underpricing → direct $ to the register |
|
||||
| No scarcity signal | "only copy in the network" rarity flags |
|
||||
| No buy-side intel | restock + arbitrage radar (what to chase) |
|
||||
| 437 uncategorised + Vinyl/LP/12″/7″ split | normalise to format |
|
||||
|
||||
---
|
||||
|
||||
## 5. The hook to open with Jackson (lead with money, not infra)
|
||||
1. **"Here are N records you're underpricing vs the AU market."** 36% of his *valued* stock sits below the cross-store median — and only 13% is even valued today because linkage is low. Linking the rest surfaces the full list. Real dollars, his data.
|
||||
2. **"Here are your only-copy-in-the-network rarities"** — price those with confidence.
|
||||
3. **"All of this from your existing Discogs feed — you do nothing."**
|
||||
|
||||
That's a demo, not a deck. It proves value in one screen.
|
||||
|
||||
---
|
||||
|
||||
## 6. Onboarding plan — read-only intel layer, zero disruption
|
||||
0. **Connect** — Shopify custom-app token (read_products / read_inventory / read_orders); or start from the already-scraped 2,714 + open `products.json`.
|
||||
1. **Link + grade** — run the Discogs-format parser hard (26% → target ~90%+); extract Media/Sleeve condition + country/year from body.
|
||||
2. **Value + flag** — cross-store value per item; underpricing list; scarcity; arbitrage.
|
||||
3. **Cockpit (read-only)** over his live stock; **webhooks** keep it live (sales/restock/reprice).
|
||||
4. **Prove $**, earn trust → *only then* discuss storefront/checkout — and even then in parallel, never a cutover. His Shopify is good; replacement is not the lead.
|
||||
|
||||
---
|
||||
|
||||
## 7. Honest "do NOT pitch" list (protect the friendship + the reference)
|
||||
- ❌ "We're faster than Shopify" — he's perf 99.
|
||||
- ❌ "Save on the Algolia/Boost app tax" — he runs no search app.
|
||||
- ❌ "Shopify API throttles you" — he's nowhere near limits; GraphQL bulk ops exist anyway.
|
||||
- ⚠️ Fee savings — *maybe* (median $30, mostly sub-$60 → per-transaction fixed fees do sting), but **model his real volume** and remember **Square also charges ~1.6–1.9%**. Don't quote Gemini's invented "$2k/yr".
|
||||
- ❌ "Shopify surveils your buyers" — unsubstantiated FUD; cut it.
|
||||
- ✅ The win is **records-native market intelligence**, full stop.
|
||||
|
||||
---
|
||||
|
||||
## 8. DealGod-side actions this surfaced (benefit ALL Discogs-sync stores)
|
||||
- **Parse Media/Sleeve condition** from `body_html` (`Media Condition: …` / `Sleeve Condition: …`) → `products.condition`. Currently 0% for a used-record store.
|
||||
- **Lift the Discogs-format match rate** — titles are `Artist - Title (Format) (Grade)`; strip the trailing `(…)(…)` + use body Country/Year as the disconnect-matcher already does. 26% → 90%+.
|
||||
- Both reusable across the Disconnect/CommonGround/Discogs-sync store family.
|
||||
|
||||
## 9. Data to capture next (ask John / popup)
|
||||
- **Social reach** — IG/FB not yet captured for waxmuseumrecords; popup-capture for the dossier.
|
||||
- **Margin intel** — Admin API `cost` per variant (needs Jackson's token) → true margin, not just market delta.
|
||||
- **Condition parser sample** — a few product pages to confirm the body format is 100% consistent before shipping the parser.
|
||||
|
||||
---
|
||||
*Bottom line: don't sell Jackson a new storefront — his is excellent. Sell him the brain that turns his already-clean Discogs feed into an AU-market pricing & buying advantage Shopify can't touch. Near-zero lift for him, immediate dollars, and a clean reference store that isn't you.*
|
||||
*Bottom line: his Shopify is a great cash register and catalogue — leave it. RecordGod is the **record-shop operating system** layered on top: Discogs-deep discovery for customers (A), a crate/refile/locate system for the floor (B), and AU-market pricing intelligence for buying (C). Jackson isn't just the reference store — he's the co-design partner for the in-store ops layer no platform has ever built.*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user