Skip to main content
Say Hello
Case Studies / Website Redesign

Paul Jeffers · 2025

Paul Jeffers Photography

Migrating a high-end Melbourne photography portfolio from Squarespace to a headless Astro architecture — achieving perfect Lighthouse scores and eliminating ~$540 AUD per year in platform costs.

Role

Designer & Full-Stack Developer

Year

2025

Stack

Astro v5 · TinaCMS · Cloudinary · Tailwind CSS v4 · Alpine.js · Vercel

100 Lighthouse Score
1.1s LCP (Desktop)
$0 Monthly Cost
~$2.7k 5-Year Savings

Project Details

Client

Paul Jeffers

Industry

Photography

Location

Melbourne, VIC

Type

Website Redesign & Migration

Previous Platform

Squarespace

Tech Stack

Astro v5 Framework
TinaCMS Headless CMS
Cloudinary Media CDN
Tailwind CSS v4 Styling
Alpine.js Interactivity
Vercel Deployment

The Challenge

Moving Beyond Squarespace

Paul Jeffers runs a high-end Melbourne photography practice spanning editorial, corporate, and portrait work. His portfolio, hosted on Squarespace, was struggling to keep pace with the demands of an image-heavy, SEO-sensitive business.

Performance Degradation

Squarespace's one-size-fits-all rendering led to slow loading times and poor Core Web Vitals for a high-resolution image portfolio.

High Recurring Costs

A professional-tier Squarespace subscription ran ~$45 AUD/month — a significant overhead for a sole operator.

Unoptimised Asset Delivery

High-res images were not being served in modern formats or resized dynamically, hurting mobile and desktop experiences alike.

Limited Customisation

Squarespace's proprietary template system blocked the fine-tuned aesthetic control required for a premium photography brand.

Performance

Lighthouse: Old vs. New

A laser focus on Core Web Vitals from day one meant the new site achieved perfect scores across all four Lighthouse categories upon its first production deployment.

Performance
48/100 100/100
Accessibility
92/100 100/100
Best Practices
75/100 100/100
SEO
92/100 100/100

Core Web Vitals (Desktop)

LCP

1.1s

Excellent

FCP

0.8s

Fast

TBT

10ms

Minimal

CLS

0.002

Near zero

Speed Index

1.9s

Fast

Solutions

How We Solved It

A

Advanced Image Optimisation via Cloudinary

By integrating Cloudinary into the TinaCMS schema, we fundamentally changed how assets are managed. Custom utilities pull images with specific URL transformations (converting to WebP/AVIF, resizing on-the-fly) — a massive leap over Squarespace's static image handling.

B

Lightweight Interactivity — Zero JS by Default

Rather than shipping bulky React payloads for a homepage carousel, we used Astro's selective hydration combined with isolated Alpine.js reactivity and CSS transitions. The result: a six-second fading carousel with zero heavy bundle scripts.

C

Visual Headless Content Workflow

Strict TinaCMS content schemas were built for editorial galleries, corporate events, and documentary stories. Paul can now create visually rich narratives pairing text and high-resolution galleries without any developer assistance — changes commit directly to Git as Markdown frontmatter.

D

Component Refactoring & Streamlined UX

The codebase was refactored to use modern, reusable Astro components and consolidated generic layouts. A smooth navigation flow clearly separates Editorial, Stories, and Corporate work with premium typography that foregrounds the photography itself.

Cost Analysis

The Real Financial Impact

Moving off Squarespace wasn't just a performance win — it fundamentally changed the economics of running Paul's online presence.

Expense Squarespace New Stack
Hosting & Platform Paid subscription $0
CMS Included in fee $0 (Open source)
Media / CDN Included (unoptimised) $0 (Free tier)
Monthly total ~$45 AUD ~$0 AUD
Yearly total ~$540 AUD ~$0 AUD
5-Year lifecycle ~$2,700 AUD ~$0 AUD

Unlike proprietary platforms where costs increase annually, this headless architecture means Paul owns his data and code — enabling free hosting on global edge networks.

Result

A Portfolio Built for the Long Haul

The migration has redefined the Paul Jeffers web experience. The site loads instantly, achieves 100/100 across all Google Lighthouse audits, handles image optimisation automatically via Cloudinary, and completely removes server bottlenecks.

Under the hood, the transition dramatically reduces repository bloat while providing a future-proof infrastructure natively hooked up to visual Markdown editing — perfect for continuous, effortless content publishing.

  • 100/100 across all four Google Lighthouse categories on first production deploy.
  • ~$540 AUD/year eliminated in platform costs, ~$2,700 over five years.
  • Zero-developer content publishing via visual TinaCMS editing committed directly to Git.