Building an Internet Speed Test Platform
· 3 min · Bolt Bunny
What Is Bolt Bunny?
Bolt Bunny is a browser-based internet speed test that measures download speed, upload speed, and latency directly from your device. No plugins or downloads required. Open the page, click test, and get accurate results in about 15 seconds.
Results include download and upload speeds in Mbps, ping latency in milliseconds, and jitter (latency variation). A results history lets you track your connection performance over time.
Architecture Overview
Speed Test Flow
-> CloudFront (serve test page)
-> Browser opens WebSocket connection
-> API Gateway WebSocket API
-> Lambda (manage test session)
Download Test
-> Lambda sends binary data chunks over WebSocket
-> Browser measures throughput over time
Upload Test
-> Browser sends binary data chunks over WebSocket
-> Lambda measures received throughput
Latency Test
-> Browser sends ping frames
-> Lambda echoes immediately
-> Browser calculates round-trip time
WebSockets are the key to accurate speed measurement. Unlike HTTP-based tests that include request overhead on every chunk, a persistent WebSocket connection lets data flow continuously in both directions. This gives a more accurate picture of sustained throughput.
Measuring Accurately
The download test starts with small data chunks and ramps up to larger ones, adapting to the connection speed. This warm-up phase prevents slow-start effects from skewing the results. The final measurement is taken over a stable window of sustained transfer.
Latency is measured by sending a series of small ping messages through the WebSocket and recording the round-trip time for each. The median value is reported as the ping, and the standard deviation is reported as jitter. Multiple samples smooth out any single-packet anomalies.
Real-Time Progress and Results
During the test, the WebSocket connection streams progress updates back to the browser in real time. Users see a live speedometer that updates multiple times per second as the test runs. Download, upload, and latency phases are shown sequentially with clear visual feedback.
After completing a test, results are displayed with context about what the speeds mean practically: whether they are sufficient for video streaming, video calls, gaming, or large file transfers.