Seven ways to show a client a work-in-progress website
Screenshots, screen shares, staging, Vercel and Netlify previews, tunnels and uploads: what the client sees, what it costs, and which to pick.
Updated
The best way to show a client a website in progress is a link they open on their own phone and laptop: a preview deployment, a tunnel to your dev server, or an uploaded build. Screenshots, screen shares and a visit in person still have their uses, and the table below weighs all seven.
This page compares the ways. To do it with ouicu step by step, see show a client a website before it goes live.
The seven ways at a glance
| Way | What the client sees | What they do | Cost | Your laptop on |
|---|---|---|---|---|
| Screenshots or a PDF | Pictures | Nothing | Free | No |
| A screen share or video | Your screen | Join a call, or press play | Free tools exist | For a call |
| In the room | The site, on your laptop | Be there | Travel | Yes |
| A staging server | The site, on their device | Open a link | A server you run | No |
| Preview deployments | Each build, on their device | Open a link, and sign in when it's private | Vercel password: $20 per month per protected project | No |
| A tunnel | Your dev server, live | Open a link | Free tiers; ouicu passwords from $4 a month | Yes |
| An uploaded build | The build you uploaded | Open a link | Tiiny password: $18 a month | No |
Prices as checked at each source, listed at the end of the page.
1. Screenshots or a PDF
Quick, and fine for signing off a layout. A picture can't show how a page scrolls, loads or fits their phone, so it hides the problems a client finds later.
2. A screen share or a recorded video
You drive, and they watch it move. Good for walking through a flow, but they can't tap anything, and they see your screen, not theirs.
3. In the room, on your laptop
The best way to catch first reactions. To put the site on their own phone too, you need a link: on their phone, localhost means the phone. See localhost refused to connect on your phone.
4. A staging server
A copy of the site on hosting of your own, which you deploy each change to. It stays up and feels real, but it's one more server to set up and pay for, and it's public unless you lock it, as in password-protect a staging site.
5. Preview deployments on Vercel, Netlify or Cloudflare
Each push gets its own address. The catch for client work is who can open it:
- Vercel. Its docs say “the Hobby plan restricts users to non-commercial, personal use only”, so paid client work belongs on Pro, at $20 per user a month. A password on previews costs $20 per month per protected project more. With Vercel Authentication on instead, a client needs a Vercel login, or a shareable link: “Developers on the hobby plan can only create one shareable link in total per account.”
- Netlify. Teams made on or after 28 July 2026 start with private projects, which only the team and the people it invites can open. A project can be “password protected (only available on Pro)”, and Pro is $20 a month.
- Cloudflare Pages. Previews are public, with X-Robots-Tag: noindex to keep them out of search. To lock them, Cloudflare Access asks visitors for their email address and sends a code, free for up to 50 users, then $7 per user a month, paid annually.
“Cloudflare Access can send a one-time PIN (OTP) to approved email addresses as an alternative to integrating an identity provider.”
Previews are builds, never your running dev server, so the client sees a change after a push and a build, not as you save.
6. A tunnel to your dev server
A tunnel gives the dev server on your laptop a public link, so the client sees your work as it is, and a change shows as soon as you save. It needs your laptop on and the command running. Free tunnels often put a warning page in front of visitors, for reasons explained in what a localhost tunnel is. With ouicu, a reserved name keeps the last version of each page up while your laptop sleeps (Hobby and Pro).
7. An uploaded build
Build the site and upload the folder: the link stays up with your laptop off, and nothing changes until you upload again. It suits static sites and single-page apps, not code that runs on a server. Tiiny Host puts a password on an upload from its Solo plan, at $18 a month, or $156 a year; ouicu does it from Hobby, at $4 a month.
Getting their comments
ouicu has no comment overlay: clients can't pin notes to a page in it. If you want comments on the page itself, these tools add them:
- BugHerd, from $50 a month for 5 members.
- Markup.io, from $79 a month.
- Ruttl, free for 1 project of 5 pages, for up to 5 users, then $18 per user a month.
Or ask for screenshots with arrows, which every client can do. What ouicu does instead is tell you when they look: an email when someone opens your link (Hobby and Pro), so you can follow up while it's fresh.
Which one to pick
- A layout to approve: screenshots.
- A first look together: a screen share, or the room.
- A meeting where they click through on their own device: a tunnel.
- A review in their own time: an uploaded build or a preview.
- A team that ships from Git every day: preview deployments.
Questions
How do I share a development site with a client?
Give it a link. Share the dev server through a tunnel while you talk it through, or upload a build for them to open later. Both work on their phone, unlike localhost.
Can I use Vercel's free plan for client previews?
Not for paid work: Hobby is for personal, non-commercial projects, as quoted above.
How do I keep a site in progress out of Google?
Put a password on it, so there is nothing to read. Links at ouicu.app also ask search engines not to list them.
Show it with ouicu
Share the dev server live, under a name of the client's, with a password (Hobby and Pro):
ouicu share 3000 --name studiolund --passwordOr upload the build to the same link, for later:
ouicu deploy ./dist --name studiolund --passwordOn Free, leave out --name and --password: you get a random link, and visitors see a short notice first.
Sources
Prices, defaults and quotes about other products, and the day each was last checked at its source.
- Vercel Hobby Plan, Vercel docs. Checked .
- Sharable Links, Vercel docs. Checked .
- Deployment Protection on Vercel, Vercel docs. Checked .
- Project visibility, Netlify docs. Checked .
- Pricing, Netlify. Checked .
- Preview deployments, Cloudflare docs. Checked .
- One-time PIN login, Cloudflare docs. Checked .
- Access: pricing, Cloudflare. Checked .
- Pricing, Tiiny Host. Checked .
- Pricing, BugHerd. Checked .
- Pricing, Markup.io. Checked .
- Pricing, Ruttl. Checked .