Homepage Next Project

VERDANCE · 2026

Designing and shipping a luxury property website,end-to-end.

Project Type

Concept project

My Role

design, art direction, copy, build, QA

Platforms

Desktop, Mobile

Tools Used

Figma, Claude Code, Claude Chat, ChatGPT, ElevenLabs AI Visuals Model

The Overview

6,000 homes. A green valley. 58% of it left unbuilt.

It shouldn't add up, and that's the idea. Verdance is a town that builds tall so the valley stays green, and a website that has to make you believe in a place you can never visit.

I invented it and built it end to end: the brand, the copy, AI-directed imagery and film, the motion, the mobile experience, and the testing that keeps it fast for a first-time visitor.

It's live, it loads in under six seconds on an ordinary connection, and it costs nothing to host.

Why I built this

The first viewing happens on a screen.

It started by accident. I landed on a property developer's website, and it was basic: a stock photo, a wall of text, and a form asking for my number. I looked at a few more, and they were the same.

A typical property website: a stock skyline, a discount banner and an enquiry form
A composite of common patterns, not a real site.

A discount before a reason

The first thing it sells is a deal, not a place.

A form before a reason

It asks for your number before showing a single home.

A stock skyline

Could be any city. It says nothing about the home.

That stayed with me. Buying a home is one of the biggest decisions a person makes, often with most of what they have. For an off-plan buyer there is nothing to walk around yet, so the website is the viewing. And most of these sites ask for your details before giving you a single reason to share them.

Property sites sell land. People buy a life.

I wanted to see what a property website could be if it sold the life first. So I set myself a brief: invent a town, make it feel real enough to want, and ship it to the standard a buyer deserves.

Finding the direction

Take what works. Leave what doesn't. Add what's missing.

Before designing anything, I looked at what was out there: property developers' sites, and the best-designed websites I could find beyond property. Some did one thing brilliantly, whether a sense of motion, a confident typeface, or imagery that made you feel something. Most property sites did none of it.

So I kept three lists: what to take, what to leave, and what nobody was doing yet. The third list became the design.

That's when Verdance took shape: a valley town of 6,000 homes with 58% of its land left unbuilt, a place calm and green enough to feel like home before you've seen a floor plan.

Moodboard of reference websites and imagery behind Verdance
The references behind Verdance.

Ingredients for a property website

Beauty earns attention. Trust earns the enquiry.

Designing for someone about to make a life-sized decision means asking what they need to feel before they pick up the phone. I landed on three ingredients and built the site around them.

Visuals: to picture the life. A flight over the town, three moments of everyday life, and a film you can step into.

Trust: proof that it gets delivered. The Makers section shows the developer's earlier work, six of its fourteen developments from 2006 to 2025, none delivered late.

Security: to know where the money goes. A payment plan where each instalment falls due only when the building reaches that stage, and not before.

Design Directions

A luxury town needed a voice that didn't shout.

Luxury is mostly restraint. Every choice below took several attempts, and the rejected ones taught me as much as the keepers.

Colour: plum, after four rounds

Forest green came first and was too dark. Celery, pink and a brighter green followed before plum settled it: modern and unexpected in property, with a sense of luxury that still feels calm and trustworthy.

Colour palette: Dark #14170F, Ink #20241B, Plum #350B24, Light plum #C35697, Bone #F4F1EA, White #FFFFFF; rounds 1 to 4 set aside C #14170F Dark the dark ground O #20241B Ink text on light L #350B24 Plum grounds, selection O #C35697 Light plum the accent U #F4F1EA Bone the light background R #FFFFFF White text on dark Rounds 1 to 4 Tried and set aside Round 1 #2E4034 Too dark Round 2 #B7CA46 Celery Round 3 #B64960 Pink Round 4 #216234 Green again Final Selected Colours: Modern, calm and trusted
Four rounds set aside, one palette kept.

Type: the italic is the identity

PP Editorial Old for headings, chosen for its true italic, drawn rather than slanted, and used from Ultralight to Ultrabold. Libre Caslon Text for body copy, so longer passages stay easy to read. A striking condensed serif was tested and dropped: it had no real italic, and its hairlines broke apart at small sizes.

Type specimen: PP Editorial Old for headings and Libre Caslon Text for body copy
Two faces: an italic with a voice, and a serif for reading.

Logo: a ring of words around a V

Building icons felt dated, so I worked through landscape glyphs, lozenges, seals and marks drawn from the site plan before landing on type: an ascending V inside a ring that reads Verdance Valley, twice, with all four gaps exactly equal. The ring drifts slowly, spins faster as you scroll, reverses when you scroll back, then settles. The V never moves. Below 48 px the ring can't be read, so the favicon is the V alone.

Eleven rounds to the final mark, which moves with your scroll.

Imagery: zero stock, one world

Every image and film is AI-generated, then directed until it belonged to the same world: one variable changed per attempt, and every new image graded to match the film's light and colour.

No stock: every image and film here is AI-generated, then graded to the same light.

Designing The Experience

Then I designed the moments that make someone stop scrolling.

Each moment had to do a job for the buyer, not just look good. Each one also hides a detail that most visitors will never notice, and that took the longest to get right. With reduced motion switched on, every moment still reads, just without the movement.

Arrival: a tower rises, then a flight

Instead of a spinner, a tower builds floor by floor at the real pace of the download, through the same five stages as the payment plan. Then scrolling takes over, driving a 30-second flight over the town from daylight to the night skyline.

The detail: the five tower renders were made with five different cameras, so the ground jumped between stages by up to 104 px. I composited every tower onto the first stage's plot, taking the drift to 0 px across all 90 frames. And the Verdance name appears only once the frame on screen is night, so even the fastest scroller never sees it over daylight.

The tower rises at the real pace of the download, through the same five stages as the payment plan.

The residences: day and night, one tap

A buyer can't visit an unbuilt home at dusk. So every residence can be seen in both lights with a single tap, turning a floor plan and a price into a life they can picture. Switching homes is a soft wipe, and the layout never shifts under your finger.

The detail: the day and night graphics were secretly carrying embedded photos. Rebuilt as true vectors, they went from 401 KB to 15 KB.

Every home, in daylight and at night, one tap apart.

The film: come down into Verdance

The title card reads "Come down into Verdance," and holds still while the film rises over it, so you read the line, then step into the town it describes. The film only starts once it can play without stopping, because a stuttering film breaks the moment.

The detail: chosen by eye from five versions, it went from 97 MB, which could never stream, to 39 MB, which plays on an ordinary connection.

A glimpse of the film. The full version plays on the live site.

The footer: the town draws itself

The site opens with the town being built and closes with it being drawn, like an architect's first sketch. On the plum ground, the skyline sketches itself from left to right, framed by moving hawthorn.

The detail: the drawing is traced line art revealed by an animated mask, not a video, because thin light lines on a dark ground are the worst case for video compression. The hawthorn got its own darker cut for the plum, so no pale halo shows around its leaves.

The skyline draws itself, left to right, as the site closes.

The finished townHere it is, all of it.

A tour of the live site on desktop.
Android
iPhone

Tested like a stranger

It worked perfectly on my laptop. That was the problem.

A laptop loads everything from its own disk, instantly. A buyer meets the site over a real connection, often on a phone, for the first time. So I stopped designing for my machine and started designing for theirs.

Designed for an ordinary connection

Live, the hero showed three frames and froze. The fix started with one rule: a file must arrive faster than it's watched. I set the target at an ordinary 8 Mbps connection, not a fast one, and rebuilt the hero from a video into sharp image frames, loading the opening first.

The result: time to first scroll went from 87s to under 6s. Nothing soft is ever shown. A blurry placeholder was built, then rejected: sharp or nothing.

The near-miss

Days before launch, I opened the site in Safari with an empty cache, the way a first-time visitor would. The film didn't play, the leaves were missing, and whole sections had no images. Every earlier test had quietly used a warm cache. I traced nine root causes and fixed each one.

For example: the film's first request in Safari went from 100 s to 42 s, and the payment plan's images from 2.78 MB to 235 KB.

Release check results: every row green in Safari and Chrome
The gate caught two Safari-only failures that Chrome passed. An hour later, every row was green.

Real phones told the truth

Emulators missed what real devices showed: leaves rendering as solid boxes on iPhone, and a white band appearing on the Samsung as the browser bar hid. The leaves were transparent videos, and Safari ignores the transparency in the format other browsers use, so it now gets its own. The phone hero became its own experience, drawn frame by frame, taking the first scrub from about 11 s to 0.9 s.

iPhone screenshot from testing: the leaves drawn as a solid box

Leaves drew as a solid box on iPhone.
Fixed: a separate transparent format for Safari.

A real iPhone screenshot from testing. The emulator never showed it.

Then I made it impossible to miss again

I built a release check that runs real Safari and real Chrome, on an empty cache and a throttled connection, and nothing ships unless every row is green. The final run passed on a line averaging just 3.1–3.5 Mbps, under half the target, with slower connections falling back gracefully to still images.

Release gate run with failing rows Release gate run with every row green
Nine root causes, all hidden by a warm cache.

Outcome

Verdance is live, and it sells the life before the land.

Here's how it answers the typical property site, and how it holds up for a first-time visitor.

The typical property siteVerdance
  • A stock photo
  • A wall of text
  • A form asking for your number first
  • A brochure to read
  • Zero stock: every image and film from one invented world
  • Short, flat lines, and motion that shows instead of explains
  • The enquiry comes last, after every reason to make it
  • A visit to take: fly over the town, see your home by day and night, walk the map
How long a first-time visitor waits before they can scrollTested on a connection deliberately limited to an ordinary 8 Mbps, with nothing saved in the browser, the way a stranger arrives.0s15s30s45s60s75s90sBefore87sAfter5.7s

First scrub on a phone

11s

0.9s

The film's size

97MB

39MB

Hosting cost to date

$0

Cloudflare Billing

How quickly real visitors see the site

Since launch, on their own devices and connections, measured by Cloudflare against Google's standard for how fast a page's main content should appear.

Good

under 2.5s

Needs improvement

2.5 – 4s

Poor

over 4s

1.9 sVerdance, for 3 in 4 visits

Live on desktop and mobile · Tested cold in real Safari and Chrome · Verified on a real iPhone and Android devices.

Key Takeaways

Three things this project changed about how I work.

Test the way a stranger arrives.

The site was fast on my laptop and passed every check. But my browser had saved everything from a week of work, so it hid what a first-time visitor would hit. One test in Safari with an empty cache found the film, leaves and images missing, days before launch.

Now every test starts from an empty cache.

Protect the experience first.

When the hero was too heavy, the quick fixes were fewer frames or a blurry first pass. Both would have broken what made it worth loading. I kept every frame sharp and changed how they load instead, taking the wait from 87 s to under 6.

Now I hold the experience fixed and change the build.

AI makes the first draft fast. Judgement makes it good.

AI was quick, and confident even when it was wrong. The footer drawing came back as a CAD diagram, then as European townhouses, and twice Claude Code reported work as done that the file showed wasn't.

Now every AI output is a draft to direct and check, never a result.

Footer drawing, first attempt: a CAD diagramv1 CAD diagram
Footer drawing, second attempt: European townhousesv2 Townhouses
Footer drawing, final versionv3 Final

The footer drawing, three attempts

What's next

A bilingual Arabic version, designed right to left from the start, not mirrored.

Where the view isthe address.

حيث الإطلالةهي العنوان.

Next Project

Editor Experience: Finding Solutions for Productivity & Teams Collaboration

Editor Experience: the redesigned Educative editor