Case Study

Backlit Weddings
BKLT Media

Editorial wedding photography and cinema. Custom Next.js site for an Adelaide-based photographer and filmmaker.

7
Pages live
Cinema
Video hero
0
Templates
Editorial
Design system
The Problem

Editorial photography on a template website

Jonny shoots weddings the way a documentary filmmaker shoots a story. Quiet, candid, photo and film together. The work is genuinely editorial.

The old Squarespace site did not match. The portfolio page 404'd. The pricing link pointed to nothing. The lead form quietly broke. There was no cinema reel anywhere on the site, even though film is half the offering.

Editorial photography needs an editorial site. Not a template, not a builder, not a generic gallery widget.

Broken site architecture

Portfolio, pricing, and free consultation pages all 404'd. Half the site was unreachable.

No cinema reel

Wedding films were a major part of the offering, but the site had nowhere to show them.

Template aesthetic

Squarespace skin that looked like every other photographer site. The work deserved better framing.

Form sending nowhere

Lead form had been quietly broken for months. No auto-reply, no notification, no record.

The Solution

Custom Next.js with cinema video, native-aspect galleries, and editorial restraint

I rebuilt the site from scratch in Next.js. Cinema-style video hero, native aspect-ratio galleries (no forced 16:9 cropping on portrait shots), light and dark theme system, and editorial typography that gets out of the way of the photographs.

Brand voice locked first: photo-led, type as quiet accent, venue slugs over couple names, no clichés. Then every page was built to that standard. The site reads as one piece, not a stitched template.

What I Built

An editorial site that lets the photography do the talking

FEAT.01

Cinema Video Hero

Full-bleed video hero on desktop with native aspect on mobile (no letterbox black bars). The film does the talking before any copy loads. Auto-plays, muted, looped, lazy-loaded so it never blocks first paint.

FEAT.02

Editorial Photo Galleries

Native aspect-ratio gallery cells (no forced cropping). Landscape stays wide, portrait stays tall. Items align to the top so vertical stacks don't push copy to weird centres. The work reads the way the photographer shot it.

FEAT.03

Light and Dark Theme System

Tailwind v4 CSS variables with a data-theme attribute and an inline boot script that sets theme before paint (no flash of wrong theme). The whole site flips palette on a single class change.

FEAT.04

Films Page with Reel Showcase

Dedicated /films route featuring cinematic wedding reels. Each clip uses native aspect with object-contain on mobile and object-cover on desktop, so portrait-shot footage doesn't get squished into a 16:9 letterbox.

FEAT.05

Packages Page Without the Upsell Pressure

Clean pricing page that respects the reader. No countdowns, no urgency badges, no fake scarcity. Editorial restraint that matches the brand voice and lets the work justify the rate.

FEAT.06

Lead Form That Actually Lands

Mobile-first enquiry form wired to a real inbox via Resend. Auto-reply confirmation on submission. No more lost leads via a Squarespace form that quietly broke six months ago.

The Result

A site that finally matches the standard of the work

Backlit Weddings now has a site that reads as editorial, loads fast on mobile, and treats portrait-shot photography with the framing it deserves. The cinema reel finally has a home. Pricing is clear, contact form actually delivers, and the brand voice carries through every page.

Built on the same retainer model as every other Groundwork client: monthly fee, ongoing iteration, no surprise invoices. Same-day ship cadence on visual feedback so changes land while the eye is still fresh.

7
Pages live
Cinema
Video hero
0
Templates
Adelaide
Photographer
Your Turn

Want a site that actually
matches the standard of your work?

Photographer, hospo operator, allied health, trades. I build custom sites that are honest, fast, and yours. Same retainer model, no template baggage.