Localhhost

localhost:3000 is not an address you can send.

http://localhost:3000 what you are already running
├── https://myapp.local trusted on this machine
└── https://shop-a1b2.localhhost.xyz reachable from anywhere

Whatever you are already running gets a domain with a certificate your browser trusts, and a public URL when someone else has to reach it. Every request that arrives is recorded, body included, and you can send it again.

One email when the first build is ready. Nothing else, ever.

Domains on your machine

Name it once and it answers over HTTPS, so cookies, service workers and anything that refuses to run without a secure context behave the way they will in production.

The certificate comes from a local authority you install once. Nothing leaves the machine, and there is no warning page to click through.

https://myapp.local
    ↳ 127.0.0.1:3000

A URL that survives a restart

Public addresses that keep their name: the same URL after you close your laptop, so a webhook you registered last week still arrives.

Put a password on it, allow only your office address, or hand out a secret link. When the machine is off, visitors get a page you wrote rather than an error from a company they have never heard of.

https://shop-a1b2.localhhost.xyz
live · 4 connections · password required

What actually hit it

Every exchange is captured with its headers, its decoded body and where it came from. Replay the one that failed instead of asking the other side to send it again.

Take any of them out as cURL, HAR or Markdown, or freeze a handful into a link someone else can open.

POST /webhooks/stripe 200 128 ms US
GET /api/orders 200 41 ms FR
GET /api/orders/9f2 404 7 ms FR