Whispr.Marketing
Next.jsSanity CMSFramer MotionResend

Irish Transfer

Next.js and Sanity CMS website with 30 dynamic landing pages, live pricing rail, context-aware booking widget, multilingual support, and 14 SEO blog posts. Delivered and deployed; client-side DNS cutover pending.

Delivered - DNS pendingautomation
Irish Transfer - Website + Booking System

// delivery facts

30

Dynamic landing pages

CMS-driven, one route document = one SEO page

14

SEO blog posts

Schema.org Article markup, FAQ sections, internal linking

Live at request time

Pricing

No redeploy needed for price changes

Deployed - DNS pending

Status

Delivered and on Vercel; apex DNS cutover pending client side

The challenge

A transport operator needed a modern website capable of presenting dozens of distinct service routes as individual SEO-optimised landing pages, with live pricing surfaced at request time and a booking widget that understood which route the visitor was looking at.

  • 1

    Legacy WordPress site could not scale to 30+ route-specific landing pages without duplicating templates and managing each manually

  • 2

    Pricing changed frequently; embedding it in static pages meant every price update required a developer deploy

  • 3

    The booking widget on the legacy site was context-blind - it did not pre-fill the origin/destination from the landing page the user was on

  • 4

    No multilingual support despite a customer base that included non-English speakers

How it was built

Next.js + Sanity CMS with a route-driven static generation strategy, a live-pricing API rail, a context-aware booking widget that reads route context from the page, and a multilingual content model.

  • Sanity CMS powers all 30 landing pages from a single route document schema; adding a new route in the CMS triggers a new fully-optimised page with no code change

  • Live-pricing rail: the booking widget calls a pricing endpoint at request time (not build time), so price changes propagate instantly to every page without a redeploy

  • Context-aware booking widget reads the origin/destination from the current page's route data and pre-fills the form; users land on the correct route and book without re-entering details

  • 14 SEO-optimised blog posts authored in Sanity with Schema.org Article markup, structured with related-route internal links and FAQ sections for featured-snippet eligibility

  • Multilingual content model in Sanity supports locale variants per route; Framer Motion handles page transitions and scroll-triggered animations

What shipped

Website delivered and deployed on Vercel - 30 CMS-driven landing pages, live-pricing booking widget, multilingual support, and 14 SEO posts. DNS cutover pending on the client side.

Irish Transfer screenshot 2

// full stack

Next.jsSanity CMSFramer MotionResend

Want something built like this?

Free qualifying call - 20 minutes. Fixed price. Real code. You own it.

No contracts
Transparent pricing
You own the code