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>
104 lines
8.4 KiB
Markdown
104 lines
8.4 KiB
Markdown
# 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 + co-design partner.*
|
||
|
||
---
|
||
|
||
## 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.**
|
||
|
||
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:
|
||
|
||
- **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), 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 — 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.
|
||
|
||
---
|
||
|
||
## 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.
|
||
|
||
### 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 |
|
||
|
||
### 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.
|
||
|
||
---
|
||
|
||
## 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.
|
||
|
||
## 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.
|
||
|
||
## 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.
|
||
|
||
## 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.
|
||
|
||
## 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.
|
||
|
||
---
|
||
*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.*
|