🔒 Topher + Jaime. Design hand-off page. Three IA options live on the studio Worker, all backed by the live Boats Group feed. Jaime — pick the direction that fits your brand vision; the compare + AI features carry forward regardless. Topher — open decisions are at the bottom.
🚀 The three options are live — click around
Same inventory (115 boats), same compare feature, same AI assistant — three meaningfully different presentation choices.
- Hub: ugly-johns.studio.madebyaspire.com/boats/design (overview + toggle between the three)
- Gallery: /boats/design/gallery
- Marketplace: /boats/design/marketplace (try the AI search bar at the top)
- Map + List: /boats/design/map
To try the full flow: open Marketplace, type "wakeboard boat under $100K" in the AI search bar. From the results, check the Compare icon on 2-3 boats. The compare bar appears at the bottom. Hit Compare → on the compare page, hit "Summarize the differences (AI)." Then open one boat's detail page and try the "Ask about this boat" widget at the bottom of the description.
What makes each option different
These are information architecture choices, not skin choices. Same brand fonts (Fraunces + Nunito Sans), same colors. The IA decides how a buyer navigates the inventory.
Gallery
Magazine-style, photo-forward, lifestyle-led. Big hero per card, minimal chrome, curated collections. The emotional top-of-funnel option.
Closest to: Pardo Yachts brokerage · Hinckley · luxury single-brand dealer feel
When it wins: Wins if UJ's brand positioning is 'lake life destination,' not 'boat catalog.' Best for buyers who don't know what they want yet but know how they want to feel on the water.
Marketplace
Data-dense, filter-first, with a natural-language AI search bar at the top. Left-rail facet panel, dense grid, spec strip on every card.
Closest to: BoatTrader · CarGurus · Zillow listings feel
When it wins: Wins if UJ wants to dominate search and serve spec-aware buyers (the buyer who already knows they want a Nautique G23 under $100K). The AI search makes the filter UI obsolete for casual users.
Map + List
Geography-led. Map of 5 marinas pinned, list on the right syncs. Marina-led discovery: 'show me boats at Grand Lake.'
Closest to: Zillow · Airbnb · Redfin search experience
When it wins: Wins if which lake the boat sits at is load-bearing (which it absolutely is for UJ's market). Different lakes have different cultures — Beaver Lake wakeboards, Eufaula bass, Grand Lake everything.
🔧 What's shared across all three (built today)
Compare feature — checkbox on any card, sticky bar at the bottom (up to 4 boats), URL-shareable compare page. Cells that differ highlight in yellow. AI button: "Summarize the differences" returns plain-English diff. BoatTrader has compare but requires login; iboats has none; MarineMax has it but barely promotes it. Anonymous + shareable is the angle nobody else owns.
"Ask about this boat" AI widget on every detail page — 4 suggested questions ("Is this good for wakeboarding?" etc.) + free-text input. Pulls actual listing data including the seller's description. Verified working: asked about the 2009 Supra Launch 21 → assistant quoted the Indmar 325 Assault engine + wake tower from the description.
MAP-compliance pricing — Nautique + Pardo listings render "Call for Price" automatically. Other 94 boats show normal pricing. Confirmed required for Nautique inventory per research.
Consistent card data — every card surfaces year / make / model / length / price / location (the 100%-fill fields from the 110-field schema). Sparse fields conditionally render so no card ever looks broken.
Lead form above specs on mobile — research-backed: BoatTrader saw 30% mobile conversion lift after moving the contact form above the boat-details section. Sticky inquire CTA on desktop.
Research-driven decisions — what's stolen from where
Three Sonnet research subagents studied boats.com / yachtworld / BoatTrader / iboats / MarineMax / OneWater / Pardo / Nautique dealers + Apollo Duck / Ancasta / YATCO. Findings ranked by leverage:
| Stolen from | Pattern | Status |
|---|---|---|
| BoatTrader | Lead form above specs on mobile = 30% conversion lift | ✅ Built into detail page |
| BoatTrader | Natural-language AI search | ✅ Live on Marketplace option (Workers AI, Llama 3.3 70B) |
| BoatTrader | Price Drop badge with date + amount | 🟡 Phase 2 — needs price-history tracking |
| BoatTrader | Search alerts (email when matching boats land) | 🟡 Phase 2 — needs auth + email infra |
| MarineMax | "My Store" persistent location with global inventory default | 🟡 Phase 2 (skipped geolocation per your direction) |
| MarineMax | Quick Look spec drawer on hover/tap (no page load) | 🟡 Phase 2 |
| MarineMax | 3-column responsive grid + left-rail facets (dealer convention) | ✅ Marketplace option |
| MarineMax | Boat Finder Quiz (no AI, just branching logic) | 🟡 Tee'd up — AI assistant covers this need more flexibly |
| MarineMax | Editorial use-case content ("best boat for Lake Tenkiller") | 🟡 Phase 2 — SEO content play |
| Nautique dealers | MAP compliance: "Call for Price" on Nautique listings | ✅ Built (lib MAP_BRANDS set) |
| Pardo/SI Yachts | Luxury cues (no price, lifestyle photos, 'Enquire' CTA) for $200K+ boats | 🟡 Phase 2 — soft visual fork on Gallery option |
| BoatTrader | "What Owners Say" AI summary on detail pages | 🟡 Phase 2 — needs owner-review data source |
| Multiple | Compare feature — most dealers don't have one | ✅ Built across all 3 options + AI summary |
| BoatTrader | Per-listing AI Q&A widget ("Ask about this boat") | ✅ Built on every detail page |
| Boats Group platform | Sticky mobile bottom inquire bar (Call + Inquire) on detail pages | ✅ Built — research data: mobile inquiries 30%→52% YoY, conversion 4× mobile web |
| Ancasta / MarineMax | Status overlay badges on card photos ("Just In", "Updated", "Sale pending") | ✅ Built across all 3 options using ItemReceivedDate + LastModificationDate |
| boats.com platform | Compare drawer with bottom-counter badge (validated as canonical pattern) | ✅ Already built — independently arrived at the same pattern |
🚫 What we're explicitly NOT doing (dealer clichés)
- "BIGGEST SELECTION IN TRI-STATE" header banner — every regional dealer does it; zero differentiation
- Brand logo wall on homepage — reads as wholesale catalog, not curated destination
- "Call for Price" on everything — looks like a used-car lot hiding markups (we only apply MAP to Nautique + Pardo)
- Finance banner as the homepage hero — positions UJ as a finance shop, not a boating destination
- Account-gating the compare feature (BoatTrader does this) — adds friction; our compare is anonymous + URL-shareable
- Generic chatbot that says 'talk to a salesperson' — worse than no bot; our AI is wired to actual inventory data
AI assistant — three capabilities, all live (Cloudflare Workers AI)
Important: no other regional boat dealer has working AI inventory search at the time of this research. BoatTrader (the national marketplace) launched it Sept 2025 and saw a 5% lead-conversion lift. UJ adopting this puts a regional dealer at parity with the biggest national marketplace — that's the moat.
1. Natural-language search
Marketplace option, top of page. "Wakeboard boat under $100K in Arkansas" → 6 matched boats + a sentence explaining why.
Endpoint: POST /api/assistant/search · Latency: ~3-5s · Cost: ~free tier (Workers AI)
2. Per-listing Q&A ("Ask about this boat")
Every detail page. 4 suggested questions + free input. Assistant has the full listing in context including the seller's description.
Endpoint: POST /api/assistant/boat · Latency: ~3-5s
3. Compare summary
/boats/compare page. Plain-English diff across 2-4 selected boats — "boat 1 has 200 more hp but boat 2 is half the hours and $20K less."
Endpoint: POST /api/assistant/compare · Latency: ~5-8s
Model: @cf/meta/llama-3.3-70b-instruct-fp8-fast via Workers AI binding. Free tier eligible. We can graduate to Anthropic Claude 4.6 Sonnet (direct API key) once volume justifies it — the lib swaps with a one-line change.
Phase 2 features — teed up, not built
- Saved searches with email alerts — 64% of boat buyers say "catching listings fast enough" is their #1 frustration. One-click opt-in; email or SMS when matching inventory lands.
- Post-lead pre-qual screen — after inquiry submission, 2-question modal ("Financing?" "Trade-in?") that doesn't add fields to the visible form. Massively qualifies leads without adding friction.
- "More from this marina" on detail pages — adjacent inventory from the same store, reinforces location identity.
- Price-drop tracking — store a snapshot daily, badge listings with reductions ("$5K off, June 5"). Trust signal, not fake urgency.
- Editorial use-case content — "Best boat for Lake Tenkiller wakeboarding" / "Pontoon vs. tritoon for Lake Hudson" — low-competition local SEO, high-conversion intent.
- Luxury soft-fork — separate presentation layer for $200K+ inventory (no price, lifestyle hero photo, "Book a viewing" CTA). Pardo, top Sea Ray, top Cruisers Yachts. Applies the SI Yachts / Pardo brand cues without splitting the site.
- Quick Look spec drawer — hover/tap a card to expand specs inline without a page load. Reduces pogo-stick bounce on mobile.
- Per-store landing pages — each marina gets its own page with staff, hours, featured boats, local events. SEO + local search advantage.
- Conversational lead capture — instead of a 12-field form, the AI assistant collects info naturally and writes a structured lead into GHL. Better lead quality + lower abandonment.
⌛ What I'm waiting on
- Jaime's pick. Gallery / Marketplace / Map+List — which IA fits the brand direction? (Or a mix — e.g., "Marketplace IA with Gallery's hero treatment.")
- Should I start the intake-page write-API spike? You greenlit it earlier; I parked it to build these three options first. Ready when you are.
- (All three research subagents returned. The boats.com / yachtworld findings validated our compare drawer + left-rail facets + URL-state + omit-not-blank patterns as canonical. Two additions shipped in a follow-up: sticky mobile inquire bar on detail page + status overlay badges on cards.)
All three options + compare + AI are committed to studio. CI deploy verified. Nothing breaks if you sit on this for a day.