Next.js Local SEO Site
Fast Track Recovery

A complete Next.js 16 marketing site for a 24/7 vehicle recovery company in Dubai. Built entirely as static pages around one goal: rank for car-towing-near-me searches across the UAE, then convert that traffic into a phone call or WhatsApp message in a single tap.
The Challenge
Roadside recovery is won on two things: showing up for near-me searches, and being one tap from a phone call when a stranded driver finds you. Almost all of that traffic is mobile and impatient. The site needed genuine local-SEO depth across every emirate and service the business covers, while staying fast enough that a driver on a weak signal does not bounce before the page paints.
Approach
I built it in Next.js 16 on the App Router, statically generating a page for each of the 8 services and 8 UAE areas from typed content files, so every service-plus-location query has its own page with its own metadata and copy instead of one thin page trying to rank for everything. Structured data is hand-written rather than plugin-generated: AutomotiveBusiness with coordinates, 24/7 opening hours and City areaServed, plus Service, Offer and FAQPage schema, wired to a generated sitemap and robots. The whole build stayed on React Server Components with next/image and next/font, and every page carries click-to-call and prefilled WhatsApp CTAs plus a sticky mobile call bar. I built it with an AI-assisted workflow in Claude Code, driving a design-taste frontend skill so the result reads as designed rather than templated.
What I did
- Built the full App Router site in Next.js 16, React 19, and TypeScript with Tailwind v4, using a Claude Code AI-assisted workflow and a design-taste frontend skill to keep the UI out of template territory.
- Shipped a dedicated page per service and per area, 8 services and 8 UAE locations, each with unique copy rather than thin duplicates, so there is a real page to rank for every service-plus-location query.
- Hand-wrote the structured data: AutomotiveBusiness with geo, 24/7 opening hours, and City areaServed, plus Service, Offer, and FAQPage schema, alongside a generated sitemap and robots.
- Kept it fast by default: React Server Components throughout, next/image and next/font, and a sticky mobile call bar with click-to-call and prefilled WhatsApp on every page.
Outcomes
- 25 statically generated pages: 8 services, 8 UAE areas, a blog, and the core marketing pages.
- Full local-SEO structured data: AutomotiveBusiness, Service, Offer and FAQPage, with per-page metadata and a generated sitemap.
- Mobile-first conversion path: click-to-call and prefilled WhatsApp on every page, plus a sticky call bar.
Next project
Global Scientific