Date of Award


Document Type



Santa Clara : Santa Clara University, 2023.


Computer Science and Engineering

First Advisor

David Anastasiu


The Santa Clara Valley Water District, or Valley Water, provides water management resources to the two million residents in Santa Clara County. A few of their services include supplying safe water, ownership of streams, and flood protection. However, given the evolving conditions of the climate throughout the state of California, Valley Water seeks to include machine learning analytics as part of its water management services. Additionally, the increased access to the Internet has expanded the use of web applications, which provide a flexible platform to integrate the

predictions of machine learning models. In this paper, we design and implement a production-grade web application that incorporates machine learning to provide useful data predictions for reservoir levels and stream flows. The web application consists of a full-stack architecture with a backend implemented using the Flask Python framework and the frontend served using the Jinja HTML templating library. Because machine learning jobs can be time-consuming, we use RabbitMQ and Celery to asynchronously delegate tasks to GPUs so Flask can continue to handle other client requests. Lastly, Tailwind CSS and Alpine.js are used to style the Flask web application and provide interactivity as needed. We deploy our application onto an AWS EC2 cloud instance leveraging technologies like Docker and Nginx as a reverse web proxy secured with SSL certificates. By bundling the analytical power of machine learning with the accessibility of web applications, we provide an easy-to-use service that can save time and resources in a critical public sector.