RexSoft · Articles · Case Studies

Article

Multi Service Internet Speed Checker App

Tools: Python / PyCharm / Selenium / Tkinter / Matplotlib / Pandas

Internet Speed Monitoring Made Easy

This application is designed to automatically measure and analyze internet connection speed, offering insights into ping, upload speed, and download speed. By aggregating data from multiple reputable internet speed testing services like Speedtest.net, Fast.com, and Broadbandspeed.co.uk, the app provides an accurate and objective view of your connection's performance over time.

Users can select specific services for testing, define the number of consecutive tests to perform, and review results through detailed analysis and visualizations. This tool is particularly useful for those seeking real-time internet speed monitoring and an unbiased average by combining multiple sources and repeated tests.

Software and Tools

The application is built using Python in PyCharm, with the following technologies:

Currently, the app supports Speedtest.net, Fast.com, and Broadbandspeed.co.uk, but it can be expanded to include additional services. Its modular structure ensures flexibility in integrating new sources that measure connection speed and ping.

The app can be upgraded to save all the data to SQL Lite local database or to web cloud database (MySQL or Postgre SQL) for saving data of multiple users. It will provide functions like analysing speed for the periods, for different times of day, for different internet providers, for different speed checking services, etc. etc... The app is deployed for Windows (with pyInstaller) but can also be deployed for MacOS or Linux.

Key Features

1.  Automated Testing:

• Fully automatic mode: The app opens websites, runs tests, and scrapes data without user intervention.

• All you need to do is set up the desired parameters, click "Start," and enjoy a cup of tea while the app works!

2. Customizable Testing Options:

• Choose specific speed testing services.

• Define the number of consecutive tests for each service to get a robust dataset.

3. Data Analysis and Visualization:

• All results are saved in .csv files with timestamps.

• Results include ping, upload speed, and download speed, with calculated min, max, and average values.

• Generate visual insights with Matplotlib charts for easy interpretation.


Future Upgrades

The app is designed with scalability in mind, with potential enhancements including:



This Python-based internet speed monitoring app combines automation, flexibility, and insightful analysis, making it a valuable tool for users who want reliable connection performance data. With its extensible design, it offers significant potential for future upgrades, such as advanced data analytics and cross-platform compatibility. Whether you're troubleshooting your internet connection or simply curious about its performance, this app provides a comprehensive and user-friendly solution.


Link to app : https://sergerex.itch.io/internet-speed-checker

Link to source code : https://github.com/SergeRex/Multi-Service-Internet-Speed-Checker