A client in another city wants to see the website today — not screenshots next week. The two-command tunnel was practically invented for this exact moment. Here is how to run that demo like a professional instead of a lucky amateur.
This is the tunnel's best use case in the world: a short, planned, supervised showing of work in progress. The client opens one link and sees the real site running on your machine — clickable, current, honest. Done well, it feels effortless and builds more trust than any slide deck. Done carelessly, it leaks half-finished work, real data and your whole afternoon. The difference is a small routine.
A demo is an event with a start and an end — not a website you forget to switch off.
On your own machine the site always works; that proves almost nothing. The client receives the public path — tunnel, home upload speed and all — so rehearse on that. Open the tunnel URL from your phone with Wi-Fi off and click everything the client will click. The classic failure is a page that loads while its images or scripts quietly point at localhost: perfect on your screen, broken pictures for the client. Ten minutes of clicking as a stranger finds these before the call does.
Fill the demo with sample names, sample orders and sample customers. A public link — even a short-lived one — carrying your other clients' real records is a data breach performed by hand. The same discipline applies to your screen on the call: close the tabs, folders and chat windows that are not part of this demo before you share anything. Professionals are not people who never make mistakes; they are people whose mistakes contain only sample data.
Send the link with its expiry attached: this demo link stays live until 6 pm today. One sentence does three jobs. It creates healthy urgency, so the client actually looks now. It sets the honest expectation that the link is an event, not a deliverable. And it gives you a clean, pre-agreed reason the link stops working later — no awkward 'the site is down' conversation tomorrow, because it was never promised to be up tomorrow.
During the session, keep the terminal where the server and tunnel are running visible on a second screen or a corner of the main one. Requests arrive in real time: you will see the client's clicks land as they browse, which tells you the demo is alive and where they are in it. If requests appear for paths you never built — admin pages, strange file names — someone else is probing your link. End the session, check the checklist page in this set, and restart clean if needed. A live demo is attended, like a shop with its door open.
The moment the call wraps up: stop the tunnel first, then the local server. On free tiers the address dies with the session anyway, which is a hidden gift — yesterday's link in the client's inbox is already harmless. Write the feedback down immediately, while 'the blue button thing on the second page' still maps to a real page in your head. If the client wants another look tomorrow, that is a new session with a fresh link, sent fresh. You are running showings, not a hosting company, and the client will respect the rhythm once they see it work.
Watch the video for the full setup — then borrow the routine on this page: rehearse on the public link, present, and close the shop on time.
Watch Full VideoMost often the tunnel is forwarding to a port where nothing is running, or your PC slept in the middle of the demo. Check the site on localhost first, confirm the tunnel is connected, and if the session was restarted, send a fresh link — free-tier addresses change between sessions, so an old link in the chat may simply be yesterday's door.
Yes. The tunnel forwards every visitor to your one local server, so a small group can browse together and even compare notes on a call. Performance is limited by your home upload speed, so a demo for two or three people feels fine — a launch event for five hundred does not, and should never be attempted this way.
Either works, but remember both can be forwarded in one tap. Assume anyone the client forwards it to can open it while it is live. That assumption is exactly why the session stays short, the data stays sample, and the tunnel gets switched off when the meeting ends — the link's privacy is a habit, not a setting.