Case Study

How We Built a Photography and Video Portfolio That Loads Fast, Looks Stunning, and Costs Almost Nothing to Host

How We Built a Photography and Video Portfolio That Loads Fast, Looks Stunning, and Costs Almost Nothing to Host

Peach Life Productions is a photography and video studio. Their site is their portfolio — the first thing a prospective client sees. It has to be visually exceptional. But most media-rich sites pay for that with brutal load times, which kills conversions before a visitor ever sees the work. Here's how we built one that does both.

3 Image Formats Served
<2s Mobile Load Time
0 Render-Blocking Resources
$0 Monthly Hosting Cost

The Challenge

Peach Life Productions is a photography and video studio. Their site is their portfolio — the first thing a prospective client sees. It has to be visually exceptional. But most media-rich sites pay for that with brutal load times, which kills conversions before a visitor ever sees the work.

The brief was straightforward: build a site that looks like a premium studio and loads like a blog post. No WordPress. No page builder. No CMS overhead. Just fast, clean, and completely theirs.

What made this genuinely hard was the volume of content — hundreds of high-resolution images across multiple galleries, plus a full video production reel that needed to be embedded without tanking performance on every page load.

01 — Image volume & format

Hundreds of photos across weddings, portraits, commercial, and events galleries — each needing to serve in the best format the visitor’s browser supports.

02 — Video without the weight

A video production studio has to show video. Embedding YouTube naively loads its entire tracking and player infrastructure on every page — even pages with no video.

03 — Booking friction

The client needed a way for visitors to book sessions directly from the site, without a clunky redirect to a third-party page that breaks the brand experience.

04 — No backend, no budget

Everything had to run as a static site on Netlify. No server. No database. No ongoing infrastructure cost beyond the domain.


The Approach

We built the site on Vite with a custom EJS templating layer — a setup that gives us the speed and modern tooling of Vite with the ability to write reusable HTML partials across a multipage site. No React. No hydration cost. Just HTML, CSS, and vanilla JavaScript that ships as-is.

Each technical decision came down to one question: does this make the experience better for the visitor, or does it just make it easier for us to build? If the answer was only the latter, we didn’t do it.

Technical Decisions

The problems we solved and how we solved them.

Problem: YouTube kills page performance

A standard YouTube embed loads ~500KB of JavaScript, iframes, and tracking scripts on page load — whether or not the visitor ever clicks play.

Solution — YouTube facade pattern: We display the video’s thumbnail image pulled directly from YouTube’s CDN. The actual embed only loads when the visitor clicks play. Pages with video load as fast as pages without — until the visitor actively wants to watch.

Problem: High-res images in three formats

Modern browsers support AVIF and WebP — formats that can cut image size by 50–80% over JPEG. But older browsers don’t support them. Serving one format means either penalising modern browsers or breaking old ones.

Solution — Runtime format detection: We generate AVIF, WebP, and JPEG versions of every image at build time using Sharp. At runtime, JavaScript probes what the browser supports and silently serves the best version — AVIF first, WebP second, JPEG as the fallback. Visitors never see this happen.

A flat gallery grid with no interaction model means visitors are either scrolling endlessly or clicking to a new page, losing their place each time.

Solution — Modal carousel with mixed media: A single lightbox carousel handles images, YouTube embeds, and local video in one unified component. Keyboard, mouse, and touch swipe all work. No library — built entirely in vanilla JavaScript, so there’s no framework overhead.

Problem: Booking redirects break the experience

Sending a visitor to an external booking page at the moment they’re ready to book is a conversion risk. Brand continuity disappears and the visitor loses context.

Solution — TidyCal embedded in a modal: The booking calendar loads inside a full-screen modal on the site itself. The visitor never leaves the page. The calendar only loads when the booking button is clicked — zero impact on initial page load.

Problem: Git and Netlify can’t handle a 4GB image repo

Committing hundreds of high-res images directly to git caused the repository to balloon past 4GB. GitHub rejected pushes and Netlify builds failed before they even started.

Solution — Git LFS for binary assets: We migrated all image and video assets to Git Large File Storage. LFS stores binary files separately from the repository history, keeping the git repo lean while still giving Netlify access to all assets at build time.


The Stack

The entire site is vanilla HTML, CSS, and JavaScript — compiled by Vite, templated with EJS, deployed to Netlify’s global CDN. There is no runtime server. No database. No JavaScript framework to hydrate.

What the visitor downloads is exactly what the browser needs to render the page. Nothing more.


Results

Peach Life Productions launched in July 2026. Performance data and conversion metrics are being tracked and will be published here as the numbers come in.

What we can say now: the site passes Core Web Vitals, loads in under 2 seconds on a mid-range mobile connection, and serves a full gallery of professional photography without a single render-blocking resource.

Organic Traffic
Booking Conversions
<2s Load Time (Mobile) at Launch

This case study will be updated with real traffic, conversion, and performance data at the 60-day and 6-month marks.

For another fully custom, high-performance build, see how we built Posh Limousines of Atlanta’s booking infrastructure, or read how a fast, foundational site helped Duke’s Professional Cleaning Services rank #8 on Google in 90 days.

Need a site that carries your work without slowing it down?

Whether you're a photographer, videographer, or any creative professional — if your site is the product, it needs to perform like one. We'd love to talk about what that looks like for you.

Frequently Asked Questions

By generating AVIF, WebP, and JPEG versions of every image at build time and serving the best format the visitor's browser supports, combined with lazy loading and no JavaScript framework overhead. This site loads in under 2 seconds on mobile despite hosting a full professional gallery.
A standard YouTube embed loads around 500KB of tracking scripts and player code on every page, whether or not a visitor clicks play. A facade shows the video's thumbnail instead and only loads the real embed when the visitor clicks, so pages with video load as fast as pages without.
As a static site with no server or database, hosting runs close to $0 a month on Netlify's free tier, plus the cost of the domain. Compare that to typical monthly WordPress or Squarespace fees in our website cost breakdown for Georgia small businesses.
MORE FROM THE BLOG

Keep Reading

Insight
July 2026 6 min read

How Long Does a Small Business Website Take to Build? (Realistic 2026 Timeline)

What is a realistic timeline for building a small business website? We break down comparison timelines for DIY, WordPress, and Custom Astro sites, along with the most common bottlenecks.

Read the case study
Case Study
June 2026 6 min read

How We Built a Full Digital Infrastructure for Atlanta's Premier Black SUV Chauffeur Service

Posh Limousines of Atlanta needed a website as premium as their Lincoln Navigators. We built 10+ pages, a live fare calculator with Google Maps routing, HOT lane pricing logic, and a complete client loyalty system — entirely serverless.

Read the case study
Business Analysis
June 2026 8 min read

Modular vs. Custom: The Hidden Business Cost of Template Websites

A three-year financial analysis comparing Wix, Shopify, WordPress, and custom-built websites for local service businesses — with real performance benchmarks and revenue projections.

Read the analysis