As a full stack developer, I utilize ngrok for running my local development server to the internet so that I can get a public URL, which could be utilized for testing, debugging, or sharing with clients.
In my current project for an application, we had to rely on webhooks, such as payment gateways or external services, so I used ngrok to expose my local server to those services that can send real-time data to my machine.
It is also helpful when I need to quickly share a work-in-progress feature with clients or teammates without having it deployed on the environment. This bypasses the testing and helps me prevent merging the in-progress code onto the environment while still allowing visualization through a public internet URL. Another use case is for Apple Pay integration, which does not work on localhost, so for that, I used ngrok to get an HTTPS URL.
ngrok has helped in many ways, specifically providing development support for features related to payment, such as Apple Pay, which cannot be tested on localhost. It allows us to share our localhost with team members, such as front-end developers, so they can utilize the API and integrate during the development flow, aiding in collaboration between back-end and front-end developers.
ngrok has helped in faster development and collaboration, allowing both teams to work in parallel without blocking the development flow. It provides benefits such as sharing public URLs for sensitive integrations, allowing clients to check in real-time, and is beneficial for performance testing with temporary URLs to identify challenges early on.
There are many features with ngrok that I have utilized during development, such as temporary public URLs, secure tunnels, request inspection, support for custom domains, and authentication, which makes it secure to utilize. In sensitive cases, such as integrating payment gateways, we need to ensure we are not exposing unnecessary things on the internet, and it goes through a secure tunnel.
There is a specific feature for request replay that makes it very useful for debugging and testing whenever a request has been hit with ngrok. This request replay feature is amazing.
ngrok is already a great tool with various tiers for free users and paid subscriptions, so I do not see any caveats as such.
In terms of features, ngrok is very feature-rich and reliable, but with heavy usage, the costs can increase based on the usage plan, which could be improved to be a little cheaper.
I have been using ngrok for the last two years.
ngrok is very stable, as we have not faced issues while running multiple servers and APIs, and it is fast and scalable.
ngrok is highly scalable, allowing multiple servers or URLs created within the same account, facilitating smooth collaboration among multiple teams and developers.
The customer support was really amazing, as they have always been proactive in responding to our queries or issues related to access.
We purchased ngrok directly by contacting their sales team because we are a large organization, and they offered us a bundled package.
We have not been utilizing any older solution, as we actually started with ngrok only.
The pricing is quite good, especially for the features it provides, and the sales and customer support teams are always supportive, making it very smooth to onboard our developers with ngrok, leading to a great overall experience.
We evaluated Cloudflare Tunnel as an alternative, but we found that ngrok is generally more reliable and feature-rich, which best suited our use case, leading us to choose ngrok.
Overall, ngrok is a very useful tool for developers, simplifying local testing, especially for APIs and integrations, which helps speed up the development workflow and identify issues early on.
Overall, I think ngrok is a great tool that will definitely help any organization, whether mid-scale, small, or large, by enabling dynamic collaboration early in the deployment stage and allowing teams to see their APIs live as they would behave in a real environment. It provides a glimpse of that, making it definitely a tool worth trying. I gave this review a rating of ten out of ten.