Case Study
Ugly John's
And yours comes with a slip.
Three generations of the Mullen family. Six marinas across Oklahoma, Arkansas, and Texas. And the strongest differentiator in the regional market — a guaranteed marina slip with every boat — buried under a five-megabyte DealerSpike template. We rebuilt from scratch and put the slip guarantee where it belongs: above the fold.
Before & After
Three generations of trust.
A first impression that finally earns them.
Before — DealerSpike template
After — Aspire Digital redesign
The Challenge
A fifty-year reputation,
five megabytes of template.
— five MB of DealerSpike, eleven seconds to first paint.
The single thing no other regional dealer can match — and it was invisible above the fold.
Buy a boat at Ugly John's and a marina slip comes with it. Across Oklahoma, Arkansas, and Texas, no competitor offers it. Prairie Creek, Grand Lake Boats, the marina-only operators — none of them. The whole sales story turns on that one promise. On the old DealerSpike site it lived four scrolls down, in a paragraph, next to a stock photo of a different brand's boat.
A locked hero stack — "John's ugly. His boats aren't. And yours comes with a slip." — with the slip line underlined in vermillion as the visual anchor. A dedicated /marina page with schema markup so AI search engines understand the offer the moment they crawl the site.
Five megabytes. Eleven seconds. A thirty-second time-to-interactive on mobile.
DealerSpike serves the same canned template to thousands of dealers — the homepage was a five-megabyte page weight, eleven seconds to first view, thirty seconds to interactive on a phone. Mobile Lighthouse: thirty-two out of a hundred. Every Grand Lake parent searching "boats for sale Oklahoma" on a Saturday morning hit the back button before the hero loaded. Speed is the silent conversion killer in marine retail and the old site was bleeding leads from the first byte.
A custom Astro 6 build on Cloudflare Workers — pre-rendered pages, edge-cached images, zero blocking scripts. The whole hero paints under a second. Mobile Lighthouse targets ninety-plus from page one, the same standard every Aspire site ships at.
Thirty-five reviews across six locations. Prairie Creek had five hundred and twenty-four.
Fifteen times the review count, sitting one search result up from Ugly John's. When a buyer searches for a marina at Grand Lake and sees the numbers side by side, they click Prairie Creek first — the count signals authority to a human and to the AI engines now answering most marine queries. Half of the gap was real ratings work. The other half was that two of the six locations didn't even have a Google Business Profile.
A review-request automation tied to the CRM, a citation audit across all six locations, and the two missing Google Business Profiles claimed at Prairie Creek and Lake Eufaula. The structural floor that lets reviews actually compound month over month.
DealerSpike's financing form asked about car loans, RV loans, and powersports — for someone buying a yacht.
A two-hundred-thousand-dollar Pardo buyer filling out a financing application that included a dropdown for ATV loans is a buyer who closes the tab. The old flow was a generic dealer-tool application back-fed into a system designed for low-ticket inventory. Nothing about it acknowledged that marine financing has different lenders, different terms, different paperwork.
A purpose-built /financing experience with marine-specific lenders, term ranges that match the inventory price band, and an /apply flow that asks for the right paperwork the first time. Forms wired to Lightspeed via ADF/XML so the CRM gets the lead in the exact format it expects.
Six locations. Six landing pages. Ninety-eight percent identical content.
Grand Lake's Thunder Bay Marina is the flagship — a hundred and twenty covered slips to seventy feet, dry storage, fuel, full service, ship store, ramp, plus Ugly's Grill & Bar. Carlton Landing is the Marina Store at an upscale New Urbanist resort. Tulsa is inland sales and service. They were all running the same six paragraphs, with the location name swapped in. Google reads that as one page and ranks none of them for any of it.
Six location pages each built locally true — unique amenity matrix (slips, fuel, food, on-water vs on-site service, storage, ramp, rentals), unique copy, unique photography, unique schema. Multi-market local SEO so each lake town finds its closest Ugly John's first.
The Scope
Everything we shipped.
Locked Brand Promise — Slip Guarantee Above the Fold
"John's ugly. His boats aren't. And yours comes with a slip." — the locked hero stack that puts the regional differentiator in the first thing every visitor reads. Vermillion underline anchors the slip line. The "Since 1974" three-generation eyebrow sits one line above. The buying journey now opens on the strongest reason to buy from Ugly John's.
BrandCustom 30+ Page Astro 6 Build
Replacing the DealerSpike template wholesale. Home, our story, marina, service, financing, sell-your-boat, quote, six location pages, six brand showcase pages, restaurant, blog, news, FAQ, contact, visit. Every page structured around how marine buyers actually shop, not how a dealer template wants to organize content.
Web DesignLive BoatWizard Inventory — Pulled Every 15 Minutes
The dealership's "mothership" inventory lives in Boats Group / BoatWizard. We wired it through the api.boats.com REST feed.
- 15–60 min poll cadence vs the old 24-hour DealerSpike lag
- Listing cards surface the six fields buyers actually compare on — price, length, HP, dry weight, fuel capacity, amenities
- The other 100+ feed fields are one click deep on the detail page
AI Inventory Assistant + Compare Feature
Conversational inventory search the dealer asked for, plus side-by-side compare.
- Three endpoints power it — /api/assistant/search, /boat, and /compare
- "Good first family pontoon under $50K?" returns scored matches
- Product + Vehicle schema on every listing so ChatGPT, Perplexity, and Google AI Overviews can recommend Ugly John's inventory directly
Marine-Specific Financing Experience
Replacing the DealerSpike form that asked about non-marine loan categories. A /financing page that explains marine financing in plain language, then an /apply flow built for the actual lenders and price bands Ugly John's works with. Wired to Lightspeed via ADF/XML so the CRM gets each application in the format the sales team expects.
CRMSix Location Pages, Each Locally True
No more 98% identical templates. Six pages, six different stories.
- Grand Lake — Thunder Bay Marina, ~120 covered slips + Ugly's Grill
- Tulsa — inland sales + service center
- Beaver Lake — Rocky Branch Marina + Prairie Creek (two distinct lake-side stories)
- Lake Eufaula — small on-water sales + service satellite
- Carlton Landing — 146 slips + 72 PWC at the New Urbanist resort
Each page carries its own amenity matrix, photography, and schema — multi-market local SEO so every lake town finds its nearest Ugly John's first.
Local SEOSix Brand Showcase Pages
Monterey, Nautique, Pardo, Premier, Sea Ray, and a Pre-Owned hub. Each brand gets a page that introduces the lineup, explains who the boat is for, and routes buyers into the inventory filtered to just that manufacturer. The Pardo page in particular leans into the editorial bento gallery treatment so the high-ticket yachts read the way Pardo's own product photography does.
Web DesignFull-Service Story — Marina, Service, and Ugly's Grill & Bar
The dealership's actual pitch is end-to-end ownership: buy the boat, dock it in our slip, fuel it at our pump, service it at our shop, eat dinner at our grill. The old site told the boat-sale half. We built dedicated /marina (slip program + storage), /service (on-water vs on-site repair), /restaurant (Ugly's Grill at Thunder Bay), /sell-your-boat, /quote, and /visit pages so every part of the relationship has a place on the site.
ContentThe Result
Three generations.
Finally, a site that says so.
Thirty-plus custom pages, the slip guarantee leading every visit, live inventory pulled every fifteen minutes, six locations each built locally true, and an AI inventory assistant that answers buyer questions in conversational language. The site is now in studio review with the family — the digital foundation that finally matches a fifty-year reputation.
What the work is built to do.
Strong regional demand met a thin digital presence — and the gap was being captured by competitors. The discovery brief put a dollar figure on it.
A canned marine-dealer template. Five-megabyte page weight. Eleven-second first paint. Thirty-two mobile Lighthouse. Slip guarantee buried four scrolls down. Generic financing form asking about non-marine loans. Six locations running the same six paragraphs with the city name swapped in.
Thirty-plus page custom Astro 6 build. Slip guarantee leading the hero. Live BoatWizard inventory on a fifteen-minute poll. AI inventory assistant. Marine-specific financing. Six locally-true location pages with their own schema. Lightspeed CRM wired in ADF/XML. AI-search-ready from day one.
More Projects
Start your Project today.
We listen first, pitch never.
Tell us where you're headed — we'll show you how to get there. No long contracts, no hidden fees.

