After we all began experiencing crushing wifi difficulties at the beginning of the hackathon, I decided I needed to pivot from my original idea and address a problem that was affecting all of us here instead. My resulting project is a distributed wifi load balancer.

Each laptop has a pool of wifi SSIDs that they're configured to connect to (in this case, MIT, MIT N, and MIT Guest). A service runs on each laptop that measures their individual network throughput and latency and then reports that information back to a machine called the collector. The role of the collector is to gather performance statistics on each of the wifi networks in the pool based on what each of the laptops report. Based on what it sees, when necessary it will occasionally instruct laptops to switch networks in order to balance the load across all networks in the pool as fairly as possible.

The name is portmanteau of 'wifi' and 'scheduler' but pronounced like the word 'whisked' in order to connote the idea of being speedily whisked away to a faster network connection.

Since my app is a service running in the background there's no real interface per se (the simplest interface is one that disappears), so in lieu of that for my image I just uploaded a screenshot of some of the code.

Share this project: