Browser-based internet speed test powered by @cloudflare/speedtest.
Live: speedtest.nohelll.com
- Download / Upload bandwidth against the Cloudflare edge (Mbps)
- Idle ping and jitter
- Loaded ping (down / up) with bufferbloat grade (A–D, Waveform thresholds)
- Overall verdict (Excellent / Good / Fair / Poor)
Past runs are stored in the browser under localStorage key netpulse.history.v1 (up to 100 entries). No backend, no tracking.
The storage key still carries the original
netpulseprefix on purpose so existing browsers don't lose their history after the rename.
- Single-file static HTML
@cloudflare/speedtestv1.3.0 loaded viaesm.shCDN- Vanilla JS + Canvas 2D for charts (Catmull-Rom smoothing, eased y-axis)
- Fonts: Barlow Condensed + Inter (Google Fonts)
- Push this repo to GitHub.
- In Vercel, Add New Project and import the repo. Zero-config — no build step needed, Vercel serves the static files.
- Under Settings → Domains, add
speedtest.nohelll.com. - At your DNS provider, add a CNAME record:
- Name:
speedtest - Value:
cname.vercel-dns.com
- Name:
- Wait for DNS propagation + cert issuance.
That's it. Any push to the default branch triggers a redeploy.
No build step. Serve the folder:
python -m http.server 8000
# or
npx serve .Open http://localhost:8000.
Opening index.html over file:// also works, but the speed.cloudflare.com/meta CORS fetch may fail, falling back to cdn-cgi/trace.
├── index.html # Everything — markup, styles, test logic
├── favicon.svg # Brand mark
├── og-image.png # 1200x630 social preview
├── vercel.json # Headers, clean URLs
├── .gitignore
└── README.md
Made by nohell.
