Velo: A Cross-Platform Network Speed Monitor Built with Go & Wails

Published: (January 10, 2026 at 02:14 PM EST)
2 min read
Source: Dev.to

Source: Dev.to

Introduction

Have you ever felt your internet connection dragging, but you aren’t sure if it’s just a momentary glitch or a consistent pattern?

I built Velo, a desktop application that helps you track your network speed over time without the hassle of manually running speed tests in your browser.

In this post, I’ll share why I built it, how it works, and the technology stack behind it.

GitHub Repository:

What is Velo?

Velo is a network speed measurement tool designed to run as a desktop application.

It automatically runs a speed test once every hour to record your download, upload, and latency metrics. The data is visualized on an interactive chart, allowing you to spot trends at a glance. You can also trigger a manual measurement whenever you want.

Fun fact: The name velo comes from the Italian word veloce, which means “fast.” I chose it simply because it sounded cool.

Velo Dashboard Example

Motivation

I noticed my internet connection tends to get sluggish at night. Usually I open FAST.com to check the speed, but launching a browser each time is tedious, and a single test only shows the current speed—it doesn’t reveal trends.

I wanted an application that would automatically measure and record speed periodically so I could analyze patterns over time.

While similar tools exist, building my own was the best way to learn.

Features

  • Speed Test: Measures download speed, upload speed, and latency using speedtest-go.
  • Automatic Monitoring: Runs in the background and tests speed every hour.
  • Visualization: Displays network history on an interactive time‑vs‑speed chart.
  • Cross‑Platform: Works on macOS, Windows, and Linux.

Tech Stack

  • Framework: Wails v2
  • Backend: Go (v1.25+)
  • Frontend: Vue.js (Node.js & npm)
  • Library: speedtest-go for the core measurement logic.

Getting Started

If you want to try it out or contribute, you can build it from source.

Prerequisites

  • Go (v1.25 or later)
  • Node.js & npm
  • Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest

Installation & Running

Clone the repository:

git clone https://github.com/kanywst/velo.git
cd velo

Install dependencies:

# Backend
go mod tidy

# Frontend
cd frontend
npm install
cd ..

Run in development mode:

wails dev

Build for production:

wails build

The binary will be generated in build/bin.

Conclusion

Velo is a personal project born out of a simple need to verify my ISP’s performance. It’s still a work in progress, and there are likely a few bugs lurking around. I plan to keep improving it and fixing issues as I find them.

Give it a try and let me know what you think. If you find it useful (or just like the name), a star on GitHub is appreciated.

Back to Blog

Related posts

Read more »