Help build the future of open source observability software Open positions

Check out the open source projects we support Downloads

Dashboards and detergent: How two students monitor laundry machines in a college dorm with Grafana

Dashboards and detergent: How two students monitor laundry machines in a college dorm with Grafana

2025-05-16 6 min

It’s a familiar (and frustrating) scene for college students who live on campus: you rush over to your dorm’s laundry facilities, hamper in tow, hoping to wash a quick load before class. But when you get there, all the machines are in use. 

Defeated, you walk back to your room. All you can do is hope for better luck next time, right? Not if you have a Grafana dashboard or two.

“I saw these laundry machines at school and noticed that they’re internet-connected," said Cole Bentley, a first-year student at the Oregon Institute of Technology. “They all have service tags and QR codes. I scanned them and then curiosity got the best of me.”

Cole then did what he always does when something piques his interest: texted his friend and fellow data enthusiast Dakota Roth.

Together, Cole and Dakota built an observability solution, using TimescaleDB and Grafana, that provides real-time insights into the status of the washers and dryers at Cole’s school (plus so much more). Laundry days are now a breeze — and this is just the beginning of what the two plan to achieve with Grafana.

Note: Dakota recently presented at GrafanaCON 2025 about his and Cole’s experience building laundry dashboards, along with their other “absurdly unconventional” use cases for Grafana. Suffice it to say, the audience loved how the talk unfolded. We’ll update this post as soon as Dakota’s talk is ready to watch on demand. 

A photo of Dakota Roth and Cole Bentley at GrafanaCON 2025.
Dakota Roth (left) and Cole Bentley (right) at GrafanaCON 2025.

When inspiration hits like a spin cycle 

As co-founders of their high school computer science club, Dakota and Cole have always shared a love for data — and a natural curiosity for what they can do with it.

“I’ve always been the type of person with solutions looking for a problem,” Cole said.

So, even when Cole left for college (he’s one year ahead of Dakota in school), the two stayed in touch, bouncing ideas off each other whenever inspiration would strike. For Cole, that inspiration came one day in college, when he started to dig into the data behind those laundry machine QR codes. 

“Cole told me he could use those QR codes to get to a website where he could track how much time is left on his washing machine,” Dakota said. “Then we wondered if there was an API gateway behind all this that’s publicly available.”

From there, the two got to work on a way to collect, unify, and visualize data from all the washers and dryers in Cole’s laundry room. To do this, they turned to Grafana.

A screenshot of a Grafana dashboard for tracking machine availability.
A Grafana dashboard for monitoring the availability of the washers and dryers.

Dakota had previous experience using Grafana when he worked as a technical intern for his school district. Since then, “there was always this idea of making a Grafana dashboard that we had floating around,” he said. “So we thought, ‘oh, this would be something cool.’” 

Ironing out the wrinkles with Grafana  

First, Dakota and Cole got to work on data collection. They wrote a script in Perl, which they then rewrote in Go for better performance and maintainability. A cron job triggers the script to run every minute, fetching JSON data from the laundry machines’ APIs. From there, that data is written into an instance of TimescaleDB — which has grown to hold over 9 million rows of metrics. 

“Originally, before Dakota introduced me to Grafana, I was in the TimescaleDB terminal just reading the latest data as it came in,” Cole said. “But then he made the first version of a Grafana dashboard and it was just a better web UI vs. going to the terminal and opening it up.”

From there, the pair started to use Grafana OSS to visualize data from 32 machines, in total, with an even split between washers and dryers. Each machine is identified by a sticker number (1-32) and has key attributes stored, including machine type, license tag, and time remaining, which indicates how much time is left when a machine is running. 

Additional fields track availability status, toggling between states like “running” or “idle,” as well as water temperature, dryer heat level, and more. (Dakota and Cole said they’ve yet to figure out how to graph lost socks — but it’s a work in progress).

A photo of Dakota presenting at GrafanaCON 2025.
Dakota presenting at GrafanaCON 2025.

Dakota thought Grafana would be a good fit for the laundry project because of its plug-and-play nature and overall ease of use. 

“There are a lot of other web libraries for charting, but with many of those, you’re often distracted by other things, like how to set the width of a graph,” he said. “With Grafana, I can just write the queries and know the graphs will look nice.”

In addition to monitoring the status of individual machines, Dakota and Cole have gained even deeper insights from their real-time Grafana dashboard. They can tell, for example, which machines are the most popular and which time of day the room gets the busiest. 

“It made me aware that I shouldn’t be doing laundry late at night because, even during winter break, I see a spike at 11:00 or 11:30 PM,” Cole said. “It’s good motivation to do laundry earlier.”

Plus, as Dakota pointed out, it’s just downright fun. 

“The dashboard automatically refreshes and is quite entertaining to have pulled up while attempting to do school work,” he said. “It feels like I’m monitoring a spaceship landing.”

Rinse and repeat: what’s next?

For Dakota and Cole, this project is just the beginning.

“I wonder if we could get a weather station down at Cole’s college,” Dakota said. “Could we correlate this data to weather data and notice an increase in people running dryers when it rains? That would be interesting to me.”

There’s talk of trying to “gameify” the washers and dryers by writing a program that would make stock trades based on which machines were used the most in the past hour. The two friends even (half) joke about using Grafana to visualize the number of texts they exchange each day.

“I think what I’ve learned from all of this is that Grafana is just easy to pick up and do stuff with — and it can do a lot more than just monitor your network,” Dakota said. “Scraping data off the internet and putting it into Grafana is, by far, some of the most fun I’ve had messing around in computer science in a while.”