Setting up preview deployments for client review
Deploy & ship · updated aug 2026
The single biggest improvement I’ve made to client review over the past couple of years wasn’t a process change, it was just turning on preview deployments and actually sending clients the link instead of a screen recording. A screen recording shows them what I clicked. A preview link lets them click things themselves, on their own device, and that changes what feedback you get back — you find out the mobile nav is broken before launch instead of after, because they’re on their phone reading it the way any real visitor would.
Both Vercel and Netlify (and Cloudflare Pages) give you this for free on any GitHub-connected repo: every pull request gets its own deployed URL, isolated from production, that updates automatically as you push. There’s no extra setup beyond connecting the repo, but there’s a workflow habit that makes it actually useful.
I open a PR per review round rather than one long-lived branch that I keep force-pushing to. Each PR gets its own preview URL that stays live and stable, so a client can bookmark it, reference it in an email thread, and come back to the same link a week later and still see the current state. A single long-lived branch works technically, but the preview URL becomes something the client has to be re-sent every time it “resets,” which erodes the whole point.
I also write a short PR description aimed at the client, not just my team: what changed, what specifically I want them to look at, and what’s known-incomplete so they’re not reporting a bug on something I already know isn’t finished. Without that, you get feedback on placeholder copy or unstyled sections that were never meant to be reviewed yet, and sorting real feedback from noise about known gaps wastes a review cycle.
The last piece is making sure preview deployments don’t leak anything they shouldn’t — check your environment variable scoping so preview builds aren’t pointed at production data or using production API keys, and if the client’s project is sensitive, use your platform’s password-protection or SSO option for preview URLs rather than relying on an unguessable link as the only barrier. A preview link is convenient specifically because it’s easy to share, which is also exactly why it’s easy to share further than intended if you’re not deliberate about who can open it.
builder, codelabs.com.au
Stay up to date with AI coding
New articles roughly every couple of weeks. No spam, unsubscribe any time.