BN
Automotive

Client
BN Automotive — performance & luxury car dealer, London (Edgware)
Scope
Full brand site + working inventory showroom + editorial journal, built from a blank repo
Stack
Next.js 16 · React 19 · Tailwind v4 · motion/react · Vercel
bn-automotive.vercel.app
BN Automotive homepage — cinematic hero with overlaid editorial typography
0

Routes, All Statically Rendered

0

Next.js Version (App Router)

0px

Mobile-Tested Down To

0%

Built From a Blank Repo

The brief

BN Automotive is a London-based specialist dealer for performance and luxury cars — founded by Ben Kannan in 2024 to do the trade properly: hand-selected inventory, transparent sales, real aftercare. We built their digital presence from a blank repo: a marketing site that doubles as a working inventory showroom and editorial journal.

The design language

The visual language is editorial typography on a Swiss grid — display headlines set in Sora 800 uppercase with a single italic accent word in racing red, body copy in DM Sans, hairlines in place of card chrome, and a hard "no border-radius except pills" rule. The result reads like a Sunday-supplement magazine spread rather than a typical dealer site — exactly the calm-but-confident voice the brand wanted.

BN Automotive inventory grid with sticky filters
The /stock showroom — hairline-fused card grid with URL-synced filters

How it's built

Built on Next.js 16 with the App Router, React 19, and Tailwind v4's native @theme token system. All 9 routes are statically prerendered for instant first paint and SEO. Motion is handled by motion/react with full prefers-reduced-motion support, smooth scroll via Lenis sitewide, and it's deployed to Vercel with auto-deploy from master.

The hero uses a dual layout: full-bleed cinematic on desktop with overlaid ivory typography, and a stacked editorial treatment on mobile that shows the image at its native aspect ratio to preserve composition — switching layout rather than cropping. The inventory is a card grid with sticky filters and URL-synced state; vehicle pages pair an image gallery with a sticky info panel; and journal articles run as a narrow reading column with Sora 800 drop caps.

Signature moves

01

Word-by-word headline reveal

Each display word animates up out of a masked overflow:hidden window; the italic accent words land in racing red.

02

Hairline-fused card grid

Vehicle cards share borders (-mt-px -ml-px) so the grid reads as one engineered field, not separate tiles.

03

URL-synced filters

Brand, body, fuel, price, transmission, and sort all live in the URL — shareable, back-button-friendly inventory views.

04

Brand-marque ticker

Endless marquee of 10 marques, rendered by tiered priority: custom logos, then simple-icons paths in each brand's official hex, then wordmark fallback.

05

Ghost wordmark footer

Oversized stroke-outline "BN AUTOMOTIVE" bleeds into the page edge as a closing gesture.

06

Data strip counter-up

Stats animate from 0 to target on viewport enter; a single dark CTA band inverts the colour tokens before the footer.

The site — 9 routes

/HomeDual-layout hero, brand ticker, stats strip, featured stock, heritage block, testimonials, journal teaser, Sell-Your-Car dark CTA, ghost-wordmark footer
/stockInventoryFull inventory, filter drawer with URL-synced state, hairline-fused card grid
/stock/[slug]VehicleGallery + sticky info panel (price, finance estimate, CTAs, trust strip), specs, description, similar cars
/aboutAboutFounder story, the principle, by-the-numbers data strip with counter-up, team hairline grid
/servicesServicesFour service blocks with alternating image sides, FCA disclaimer, dark CTA band
/sell-your-carSellScroll-CTA hero, three-step process, 10-field valuation form, 6-item FAQ
/contactContactFour-method hairline grid (WhatsApp / phone / email / visit), contact form, hours block
/journalJournalArticle listing using shared hairline-row teasers
/journal/[slug]ArticleCentred meta strip, Sora drop cap, narrow reading column, related articles

The stack

Next.js 16 React 19 Tailwind v4 motion/react Lenis Vercel

Performance & accessibility

  • All routes static — generated at build time for instant first paint.
  • prefers-reduced-motion respected sitewide — every animation collapses to a static end-state when the OS asks.
  • Mobile-tested at 375px — no horizontal overflow, every form operable, hero composition preserved by switching layout instead of cropping.
  • Semantic landmarks — proper nav / main / section structure, aria-label on interactive controls.
  • Responsive image sizing — per-breakpoint sizes hints and AVIF/WebP delivery via next/image prevent over-fetching on small screens.

Want a site that doesn't look like everyone else's?

BN Automotive went from a blank repo to a distinctive, fast, fully-built storefront. If your brand deserves better than a template, let's talk.