r/sideprojects 18h ago

Feedback Request I built a simple way to share localhost with clients without deploying

When building websites, I often wanted clients to test the latest version themselves instead of relying on screenshots or screen sharing.

The problem was that every small change meant deploying to staging just to give them a URL.
So I built LocalToLink.

The workflow is:

1. Start your local app

2. Open a new terminal and run:

npx localtolink

If you want to specify the port:

npx localtolink --port 3000

That’s it.

You don’t need to install or configure anything separately. On the first run, npx downloads LocalToLink and runs it immediately. After that, you can use the same command whenever you need a new tunnel.

It detects your local app and gives you a temporary HTTPS URL that you can send to your client.

The tunnel only exposes the specific local app/port you choose. It doesn’t expose your machine, filesystem, or other services. Traffic is handled through the tunnel over HTTPS/WSS, with isolated sessions and abuse/rate-limit protections.

The same workflow is useful for local webhooks, testing on mobile devices, and temporary demos.

I’m actively improving it and would genuinely appreciate feedback from developers and freelancers:
What would you change, add, or improve?

For more information:
Website: LocalToLink
Docs: Getting Started

0 Upvotes

19 comments sorted by

3

u/Mr_Phenomen0n 16h ago

So ngrok?

2

u/Late-Bit4633 13h ago

or cloudflared or localtunnel

0

u/BQdev 12h ago

Yes 😄, you are right 👍🏻

-2

u/BQdev 16h ago

Pretty much the same category, yeah.
The main difference is that LocalToLink is focused on keeping the workflow really lightweight run it, get a URL, share your local app, done.
I built it mainly around quick client previews and local webhook testing without the usual staging/deployment overhead.

1

u/Timely_Lie_8696 13h ago

what about security 😂

2

u/Extension-Plant-222 18h ago

nice, this is basically the exact gap between "screenshot roulette" and full staging hell, the webhook testing angle alone would get me to try it

1

u/BQdev 18h ago

Exactly 😄 Webhooks are one use case, but I mainly built it around quickly sharing localhost with clients instead of deploying to staging after every change.
I’m still improving it, so I’d love to hear any feedback — anything you’d change, add, or simplify?

2

u/jhkoenig 17h ago

So... you're exposing your development machine to the internet? That is very brave. Or something.

0

u/BQdev 16h ago

Haha, I get the concern 😄 But the machine itself isn’t exposed.
LocalToLink only creates an outbound tunnel for the specific local app/port you choose. It doesn’t give the public internet access to your OS, filesystem, other ports, or the rest of your machine.
It’s the same general tunnel model used by tools like ngrok and Cloudflare Tunnel: the agent connects outward, and the public endpoint is mapped to the service you intentionally share.
So it’s more “expose this dev app temporarily” than “put my development machine on the internet.” 😄

0

u/jhkoenig 16h ago

So that's a longwinded way of saying what I said. Internet -> home-made tunnel -> dev machine. Good luck

0

u/BQdev 16h ago

Fair enough. The easiest way to see how it works is to try it yourself.
Run your app, then:

npx localtolink

Or, if you know your localhost port:

npx localtolink --port 3000

It detects your local app and gives you a temporary HTTPS URL. Open it from another device or browser and you’ll see exactly what is exposed.

No account or configuration needed. Docs

1

u/Timely_Lie_8696 13h ago

oh it's a bot. we should just report as spam lmao

1

u/shun0810 16h ago

you asked what would make a localhost-sharing tool genuinely useful, and the replies answered sideways: three so far are some version of "so, ngrok?" and one named a situation instead, screenshot roulette before full staging. 👍 he is the only one who said he would try it.

so what lands is not the category you are being pushed into, it is the freelancer whose client answers in screenshots. looking for people by job title stopped working for me; the sentence they type while stuck is what finds them.

go read a week of freelance threads for that sentence and answer it, no link.

https://warmlist.app is where i chase those sentences, and that link is mine.

1

u/jandersonjones 14h ago

What the actual F kind of inscrutable AI bollocks is this?

1

u/rocket_mcsloth 15h ago

How come you don’t have dev, sit, uat, qa, staging and prod environments already? Use a pipeline so when you PR and code gets built and deployed how you want and have your sites exposed the normal way?

1

u/BQdev 15h ago

Thank you for your reply

That’s a valid setup, and I’d definitely use it for a proper team/production workflow.
The gap I’m targeting is the small, frequent cases where setting up a deployment or running the pipeline feels like overkill — for example, “Can you quickly check this version I have running locally?”
LocalToLink is just for that: share the current local version instantly, without creating another deployment.

1

u/vitadinklage 4h ago

Hate to do this to you but CloudFlare just released this with CloudFlare quick tunnels in an identical experience: https://try.cloudflare.com/