Inspiration

We came up with the AI Farm Water Management System after noticing how much energy and water modern AI data farms consume just to keep their servers cool. Standard cooling systems wait until things get too hot and then blast water everywhere, wasting resources and risking hardware. We thought, “Why not use machine learning to stay one step ahead?” Our goal is to make cooling smarter and greener by predicting when servers are about to heat up and taking action before it becomes a problem.

What it does

Our system keeps an eye on 24 servers spread across four racks and simulates their temperatures in real time. It can run in two different modes:

  • Standard Reactive Mode: turns on the cooling when a server’s temperature goes above 85 °F.
  • AI Predictive Mode: uses a pair of machine‑learning models to predict heat spikes with more than 70 % confidence so we can cool things down before they overheat.

Every second, the simulation updates each server’s temperature, lets heat spread between neighbors, and applies cooling as needed. Heat spikes can pop up automatically (about a 15 % chance each cycle) or you can trigger them manually from the interface. On the front end, we’ve built a 3D server room using Three.js where each server changes color based on its temperature — green for cool, yellow, orange, and red as it gets hotter, and blue when cooling is active. You also get a dashboard with cards for each server showing its current and predicted temperature, the probability of a spike, and whether cooling is on. A sidebar lets you start or stop the simulation, flip between modes, toggle auto‑spikes, trigger spikes yourself, or retrain the ML model.

How we built it

We built the backend using Python and Flask and deployed it on Render. The backend keeps track of the 24 server areas, updates their temperatures every second, and applies cooling based on the selected mode. For the brains of the system, we trained two machine‑learning models: one for predicting the next temperature and another for spotting upcoming heat spikes. We engineered over 40 features, such as time of day, rolling averages, how fast the temperature is changing, and even what the neighboring servers are doing. We use Gradient Boosting for the main predictor and fall back to a Random Forest if needed.

All of this is exposed through a simple REST API that the front end calls to get the current state, control the simulation, switch modes, and kick off model training. The front end is a React app running on Netlify. It uses react-three-fiber and Three.js for the 3D view and has a dark, animated UI built with vanilla JavaScript, HTML and CSS.

Code used

  • Backend (Python): app.py for the Flask API server, models/heat_predictor.py for the machine‑learning models, plus a few scripts to generate and process training data.
  • Libraries: Flask, pandas, numpy, scikit‑learn, joblib.
  • Frontend (JavaScript): app.js handles UI logic, fetches data from the API, and creates the Three.js visualization.
  • HTML: index.html lays out the page.
  • CSS: styles.css defines the dark theme and animations.

Challenges we ran into

Simulating server temperatures in a way that’s simple enough to run in real time but still interesting for machine learning wasn’t easy. Feature engineering took a lot of experimentation to capture the right patterns without overfitting. On the front end, rendering a 3D scene and updating it every two seconds pushed us to optimize performance. Getting the predictive cooling to work smoothly alongside the reactive cooling also involved a lot of tweaking and tuning.

Accomplishments that we're proud of

  • We managed to get a pair of ML models to work together to predict heat spikes accurately.
  • The 3D visualization makes it easy to see what’s happening in the server room at a glance.
  • The user interface is simple and responsive — you can start the simulation, watch servers heat up, trigger spikes, and retrain the model with just a few clicks.
  • The backend and frontend communicate seamlessly over the API.

What we learned

Working on this project taught us how to tie together simulation, machine learning, APIs, and modern web technologies. We deepened our understanding of feature engineering for time series data, learned how to deploy ML models in a live system, and discovered how much fun it is to build interactive 3D visualizations. We also learned that even small optimizations can make a big difference when you’re updating a scene every second.

What's next for AI Farm Water Management System

We’d love to connect the system to real sensors in an actual server farm to see how it performs on real data. We also want to experiment with smarter cooling strategies that save even more water and energy, add alerts and historical charts so users can see past behavior, and scale the system up to handle many more servers. And, of course, we’re looking forward to open‑sourcing the project so others can build on it and help make AI infrastructure more sustainable.

Share this project:

Updates