Building a Research Data Platform for Underground Water Storage

PythonFASTAPIMongoDBAzure OpenAIReactDockerCI/CDSpacial Data

🏗️ This project grew out of my Hiwi role at the Technical University of Munich, where I worked with the Department of Civil Engineering to build a research-grade application for exploring and managing underground water storage data.

Context

Researchers in civil engineering were working with underground water storage data coming from multiple sources and in multiple formats. The data was valuable, but difficult to explore consistently because it needed to be collected, cleaned, organized, and presented in a way that supported research workflows rather than raw storage alone.

The core challenge was not only visualization. It was building a usable system that could bridge fragmented data inputs, researcher needs, and day-to-day operational workflows.

Problem Statement

The team needed an application that could help researchers:

This meant the solution had to combine data engineering, application development, and strong communication with domain experts.

My Role

I was responsible for designing and implementing the application end to end, with a focus on both technical delivery and researcher usability. My work covered:

Technical Approach

1. Data fusion and preprocessing pipeline

One of the main technical challenges was the heterogeneity of the data. Different sources used different structures, conventions, and formats, which made direct exploration difficult.

To address this, I designed a data fusion pipeline that standardized incoming data, organized it into a consistent structure, and supported cleaning workflows before visualization. This pipeline formed the foundation of the application because reliable exploration depends on reliable underlying data.

2. Full-stack application development

I developed the system using FastAPI for the backend and React for the frontend.

The backend was responsible for API design, data access, and integration logic. The frontend focused on making complex spatial and research data easier to inspect and manage through a practical user interface. Together, these components created a workflow where researchers could move from raw data handling to exploration inside a single application.

3. Requirements engineering across domains

A major part of the project was working with non-technical stakeholders and researchers in a specialized civil engineering context. Their needs were often expressed in domain language rather than software requirements.

I learned to translate these research and operational needs into technical system design decisions. This became one of the most valuable skills I developed in the role: cross-domain communication between engineering and scientific users.

4. AI-assisted exploration

To make the system more useful for exploration, I integrated the OpenAI API to support data insight discovery. This added an intelligent layer to the application, helping users interact with data in a more exploratory way rather than relying only on static views or manual inspection.

5. Engineering and deployment practices

Beyond feature development, I also applied practical software engineering workflows, including Docker, CI/CD, DevOps, and MLOps-oriented practices. These were important for making the application maintainable, deployable, and robust enough for real research use.

Outcome

The result was a product-level application for research use and spatial data management.

The system improved how the research team interacted with underground water storage data by making data organization, cleaning, and exploration significantly more efficient. Instead of spending excessive time dealing with fragmented inputs and manual processing, researchers could work with a more structured and usable environment.

What I Learned

This experience taught me that strong technical solutions in research environments require more than implementation skill alone. They also depend on understanding domain problems, communicating with non-technical stakeholders, and designing systems that fit real user workflows.

From this project, I strengthened my experience in:

Reflection

This Hiwi position was especially meaningful because it showed me how software engineering can create direct value in an academic research setting. It was not just about building a web app, but about enabling researchers to work faster, more clearly, and with better access to the information they needed.

It also reinforced my interest in building technical systems that sit at the intersection of data, AI, and real-world decision support.