Back to Projects

Helix

2025

Self-Hosted Localhost Tunneling Tool

H
Node.jsTypeScriptCLISelf-HostedNetworking

The Challenge

Existing tunneling tools like ngrok hand out disposable subdomains on every restart, offer no self-hosting story, and charge for basics like persistent URLs. Developers demoing work-in-progress need a stable, shareable link without standing up their own infrastructure from scratch — but they also don't want to hand traffic to a third party they don't control.

The Solution

Built Helix around path-based routing instead of subdomains — every tunnel lives at a persistent /tunnel/{name}/ path, claimed once and reused. The relay is self-hostable, so traffic stays on infrastructure the user controls. Auth is passwordless (email one-time code), shared across web and CLI. Handled the hard part of path-based routing: rewriting relative asset URLs in tunneled responses so they resolve under the path prefix instead of breaking against the relay's root.

Impact

  • •Delivered a working ngrok alternative with zero ongoing hosting cost via Render's free tier
  • •Solved the relative-URL breakage problem inherent to path-based (non-subdomain) tunneling
  • •Shipped passwordless auth shared cleanly across CLI and web dashboard
  • •Built a Pro tier (unlimited tunnels, 24h idle timeout, password-locked tunnels, request history) as a real monetization path
  • •Took the product from idea to full build in 4-5 days

Key Features

Path-based persistent tunnels (/tunnel/{name}/) instead of disposable subdomains

Self-hosted relay — traffic stays on infrastructure you control

Passwordless email-code authentication, shared across CLI and web

Live request history dashboard

Password-protected tunnels (Pro)

Simple two-command flow: helix login, helix myapp 3000

Tech Stack

Node.js relay server + CLI client, TypeScript throughout
Appwrite for auth/data (cloud free tier)
GitHub OAuth for CLI authentication
Render (free tier) for hosting, with uptime pinging to prevent idle spin-down
Paystack for Pro tier billing

Lessons Learned

  • →Path-based routing is viable but requires rewriting relative asset URLs server-side — a subdomain-based tool doesn't have this problem
  • →Free-tier hosting is workable for a real product if you actively manage idle spin-down
  • →GitHub OAuth costs more build time than a plain API token but fits a developer-tool audience better
  • →Shipping a full product (not just an MVP) in 4-5 days is possible with tight scope discipline

Interested in working together?

Let's build something amazing.

Get in Touch