Category Archives: Services

Sharing the web Application

If you want to share your work in the public web, so that your client can review the work in progress then you might think of traditional cloud service providers like AWS, Azure, etc.

But, there are a list of services which makes it very easy to share your work in progress without having to configure cloud provider or pay for hosting.

These services are:

  • localtunnel

  • ngrok

  • Surge

  • now


– localtunnel exposes your localhost to the world for easy testing and sharing via public url. It uses your local machine which act as a web server.

Setup :

  • npm install -g localtunnel
    This will install the localtunnel module globally and add the ‘lt’ client cli tool to your PATH.
  • Start your app.
  • Assuming your local server is running on port 3000, just use the lt command to start the tunnel.
  • lt –port 3000


– It also uses your local machine as a web server and exposes the local server behind a NAT or firewall to the internet.

As per github documentation, it is a reverse proxy that creates a secure tunnel from a public endpoint to a locally running web service. ngrok captures and analyzes all traffic over the tunnel for later inspection and replay.

It offers some additional features over localtunnel but requires some additional setup to support it.

Ngrok’s advantage over localtunnel is security. You can password protect access. With localtunnel, anyone with the url can access your app while your localtunnel is open. But the advantage of localtunnel is its lower friction to get setup.


  • Sign Up
  • Install ngrok
  • Install authtoken
  • Start your app
  • Run ngrok command –

./ngrok http 3000 (assuming your app is running on port 3000)


– It allows you to take your JavaScript (Node.js) or Docker powered websites, applications and services to the cloud with ease, speed and reliability.

It takes different approach than localtunnel and ngrok because it doesn’t punch a hole in your firewall instead it is an easy way to deploy your app in the cloud so that the others can review it. Any directory containing package.json can be uploaded to the cloud using one command “now”. Each time you deploy to now, you’re assigned a new unique url.

You can also use now for your production deployment.


  • npm install -g now
  • Create start script which opens your preferred web server such as express.
  • To deploy the app, just type > now

Since now publishes files to actual web server, it’s a more permanent solution compared to localtunnel or ngrok. You don’t need to keep your machine on for people to see your work in progress. If you application has a server side component that’s node based then now is a great option.


– Static web publishing for Front-End Developers. Quickly host static files to public URL.
So the downside of surge is that It only supports static files but the upside is its extreme simplicity.

Surge publishes your static files to their service and serves them at a public url.


  • npm install -g surge
  • surge

The first time you run surge, you’ll be promoted to enter an email and password on the command line. Otherwise it will list your existing login and confirm the path that you would like to serve. It will provide you a randomly generated url unless you provide your own custom subdomain by providing a parameter like :

-d, --domain
 domain of your project (

It will upload your app and expose it on the url listed.