Honest numbers, zero baggage.
SpeedPulse started with a simple irritation: why does checking your internet speed require ads, trackers, popups and a page heavier than the thing it's measuring?
We believe a diagnostic tool should be lighter than the problem it diagnoses — instant to load, honest in what it reports, and silent about who you are.
How the engine works
This build is a fully client-side demonstration — a complete speed-test experience with the network layer swapped for a physics simulation. Here's the machinery under the gauge.
Every run walks a deterministic pipeline — idle → connecting → ping → download → upload → complete — with each phase owning its own UI treatment, gauge palette and progress weight. No phase can be skipped or double-fired.
Throughput follows an exponential saturation ramp (the shape of real TCP slow-start) layered with dual sine oscillation and a damped random walk, so every run wobbles like genuine traffic. Latency is sampled as a distribution, and jitter is computed as the mean absolute deviation of those samples — the same way real testers do it.
A single requestAnimationFrame loop drives everything: the SVG arc (animated by stroke-dashoffset), the numeric counters, and the progress trail — all interpolated with exponential smoothing for that heavy, analog-needle feel at 60 fps.
One shared stylesheet of CSS custom properties defines the entire look — the #0A0C10 canvas, glass surfaces, the emerald-to-cyan gradient, radial glows. Every page consumes the same tokens, which is why the six routes feel like one product.
The simplest one possible: there is no backend. No accounts, no cookies, no analytics, no result storage. Close the tab and the session never happened.
Built with the platform, not on top of it
No frameworks, no build step, no node_modules. The browser is more capable than it gets credit for.
Semantic HTML5markup
Landmarked, accessible structure — real buttons, real navigation, ARIA states on everything interactive.
Modern CSSstyles.css
Custom properties, backdrop-filter glassmorphism, grid layouts and keyframe choreography — one stylesheet shared by all six pages.
Vanilla JavaScriptES2022
The whole engine — state machine, simulation, counters — in dependency-free modern JS. Nothing to install, audit or update.
Hand-built SVGgauge
The dial, ticks and scale labels are generated geometrically at runtime — crisp at any size, animated by pure math.
See the engine in action
The best introduction is the product itself — one click, fifteen seconds.