Skip to content
Carlsbad Web & AI
(858) 771-4439hello@carlsbadwebai.com

33.1581° N — 117.3506° W / Carlsbad, California

Client workUK close-up magician - static Vite build2026

Neil Granger Magic

A close-up magician's booking site in dark burgundy and gold: three service pages a visitor picks between in one glance, his own photographs dealt out like a hand of cards, and one enquiry form that emails him directly, with WhatsApp as the fallback.

The Neil Granger Magic homepage — the spade-as-A wordmark in gold over a near-black burgundy hero

Our exact role

Designed and built the site end to end — the identity treatment, the four pages, the motion, and the enquiry flow.

The context

Neil Granger is a close-up magician working weddings, corporate events and private parties across Kent, London and the South East, with a two-year residency at Houdini's behind him and twenty-plus years professional. He sells to two very different buyers — wedding couples and corporate event planners — and runs the whole business off his phone.

Where it started

The proof of the act was real but scattered: photographs from a decade of bookings living in WhatsApp sends, named client work for McDonald's, Barclays, Volvo, CIOB, CIWM and Ubertas Consulting with nowhere to show it, and reviews sitting on a Google profile a prospect had to go looking for.

The constraint

A wedding couple and a corporate booker want opposite things, and neither will read the other's pitch to find their own. The site had to be atmospheric enough to sell a magician and legible enough that a time-poor visitor knows in one glance which page is theirs — and it could not imply availability, because Neil is part time and keeps no public diary.

Decisions made

  1. 01Made the three services the primary navigation: whole-card links with the occasions spelled out at reading size and a button that names the page you land on, rather than a clever scroll effect over the one decision the site exists to get right.
  2. 02Held the whole site to one booking path: every 'Book now' goes to a single enquiry form that emails him, with no booking platform to pay for and no account for the visitor to make.
  3. 03Treated the failure path as part of the design. If the send does not confirm, the visitor is handed a prefilled WhatsApp message instead of a reset form and the assumption it arrived.
  4. 04Left the date picker out. No availability is claimed anywhere, and 'when' is a free-text field, so 'next summer' is a valid enquiry.
  5. 05Built the identity around the mark that was already his — the spade set as the A — and let the logo intro perform exactly that, once per session.
  6. 06Kept social proof to things that can be checked: real client marks, real named Google reviews quoted verbatim, and credentials, with no invented score or star rating.
  7. 07Chose a plain Vite multi-page build over a framework. Four pages of content and some scroll choreography have nothing worth hydrating.

What we built

  • A homepage running the hero, client wall, about, services, reviews, residency, gallery, video, credentials and booking form in one pass.
  • Three SEO service pages — weddings, corporate events, private parties — each walking the buyer through the event moment by moment into an FAQ and the form.
  • An enquiry form that emails him directly, with a prefilled WhatsApp handoff as the fallback when the send cannot be confirmed.
  • A gallery spread of four of his own photographs dealt out like a hand of cards, one suit per room, over a marquee of twelve more.
  • A logo intro that turns a card over, blooms it away and cuts the A-bar with a blade of light, in under two seconds, homepage only.
  • A 'pick a card' section whose card backs flip to real credentials, plus a residency band with count-up stats.
  • Person, Service, BreadcrumbList and FAQPage schema, canonicals, sitemap and robots.

More of the build

The three service cards — weddings, corporate events and private parties, each a single link with the destination named on the button
The three service cards — weddings, corporate events and private parties, each a single link with the destination named on the button
The gallery spread — four of Neil's own photographs held like a hand of cards, one suit per room
The gallery spread — four of Neil's own photographs held like a hand of cards, one suit per room

Stack

  • Vite, multi-page
  • Vanilla JavaScript, no framework
  • GSAP + ScrollTrigger
  • Lenis smooth scroll
  • IntersectionObserver + CSS transitions for reveals
  • Inline SVG brand mark
  • Vercel

Technical result

  • Static multi-page build with no framework runtime in the page — each route ships as its own HTML document.
  • Nothing that hides content depends on the animation ticker: reveals run on IntersectionObserver with CSS transitions, so a stalled frame cannot strand a section invisible.
  • Motion is compositor-only — no animated blur, clip-path or backdrop-filter anywhere in the page.
  • Photography is served at three sizes: full-size only for the static hero and portraits, 760px squares for the gallery prints, 560px crops for the twenty-four moving marquee elements.
  • Enquiries reach him by email with no database and no booking subscription; a serverless function logs each one alongside the send as a backstop.
  • Client logos are recoloured in CSS rather than re-exported, so the source artwork stays the client's own files.

Business result

Live, inspectable build. Measured business outcome pending client approval.

Open neilgrangermagic.co.uk (opens in a new tab)

Want to know what this standard would find on your site?

Get your free AI website audit