Inspiration
Growing up in Vietnam, flooding was never an abstract climate issue; it was a seasonal, familiar rhythm. Every flood season, my grandparents would leave their flood-prone home to come stay with my family.
That rhythm became normal to us: the calls in September, the familiar bags at the door, and the quiet understanding that the water would inevitably rise. But even as a child, I understood that our situation was a privilege. For my family, the flood was an inconvenience; for millions of others across the Delta, it remains a recurring catastrophe.
I watched the flood seasons with a mix of dread and helplessness, but as I got older, I started asking harder questions. Why does this cycle repeat so predictably? Why are people still caught off guard? Why do families lose everything when we can see the floods coming weeks in advance?
The problem is not a lack of data. The problem is the heartbreaking gap between data and action. Local authorities know a flood season is coming, but preparation is often too general, too delayed, or too difficult to visualize. Without concrete, visual, and location-specific evidence, decisions get delayed and resources are misallocated. When the water rises, it is the most vulnerable who are left behind - the elderly, the poor, and the families who do not have a relative's home to escape to.
Therefore, with Mekong Watch, I wanted to create something for the families who do not have the options my grandparents had, those waiting for a public bus that never arrives or a system that fails to reach them in time. Through this project, I hope that better visibility can lead to better action before the disaster begins.
What it does
Mekong Watch is an awareness-focused web app that helps users visually understand flood vulnerability in Vietnam using satellite imagery and AI analysis.
A user enters a location, and the app retrieves an aerial or satellite view of that area. It then analyzes the image to identify visible land patterns such as:
- water bodies
- vegetation and absorbent land
- dense built-up areas
- highly exposed flood-risk zones
Based on that visual analysis, Mekong Watch returns:
- a structured flood risk assessment
- a risk score
- overlay coordinates for key areas of concern
- actionable recommendations for what should be prioritized before a flood
Instead of presenting users with a technical map that may be hard to interpret, the app makes flood vulnerability visual, intuitive, and immediate.
How I built it
On the frontend, I used React and Tailwind CSS to create a clean, interactive interface where users can search for a location and compare the original satellite image with the analyzed result. A major focus was making the experience easy to understand at a glance, since the audience is not just technical users but also people who need clear visual communication.
On the backend, I built a pipeline that takes a user’s searched location, fetches live satellite imagery, and sends that image into Google Gemini 2.0 Flash for multimodal analysis. Gemini is used as the core reasoning engine inside the product: it examines the visual composition of the land and returns structured output describing water coverage, vegetation, built density, exposed zones, and practical recommendations.
I also used generative AI during development itself. As a solo builder working under hackathon time pressure, I used AI assistants to help me plan the product scope, refine the feature set, debug implementation issues, and iterate faster on both the interface and the analysis flow.
Challenges I ran into
One of the biggest challenges I ran into was getting satellite imagery with high enough resolution to be useful. Depending on the location, zoom level, and image source, some areas appeared blurry or lacked enough visual detail to clearly distinguish roads, waterways, vegetation, and built-up land. Since Mekong Watch depends on users being able to see vulnerability clearly, image quality had a direct impact on how effective the experience felt.
Another major challenge that I spent a lot of time on was building the annotation process so the app could reliably distinguish and label different land features from the image. It was difficult to make the system consistently identify water, green space, dense development, and exposed zones in a way that felt believable and visually meaningful. Natural landscapes are messy, and similar textures or colors can represent very different things, so designing a process that produced useful labeled overlays took a lot of effort.
Accomplishments that I'm proud of
I am very proud that I turned a deeply personal issue into a working product that feels meaningful, and that Mekong Watch does more than just show a map. It connects real satellite imagery, multimodal AI analysis, and actionable recommendations into one experience that is easy to understand. It is also the first time I built the entire hackathon project myself, from concept and interface design to implementation and debugging.
Most importantly, I am really glad that the project stays grounded in a real human problem. It is not technology for the sake of technology. It is a tool designed to help people better see risk before disaster becomes loss.
What I learned
This project taught me a lot about building with multimodal AI in a real product setting.
I learned that AI is most useful when it is paired with a clear user need and a carefully designed interface. The model output alone is not enough but what matters is how that output is translated into something understandable and actionable.
I also learned how hard it is to build responsibly in spaces related to climate risk and public safety. It forced me to think not just about what is technically possible, but about how to communicate uncertainty, limitations, and recommendations honestly.
What's next for Mekong Watch
The next step for Mekong Watch is to make the analysis more reliable, more local, and more actionable.
I would like to improve the quality of the imagery and the flood assessment pipeline by combining visual analysis with additional environmental data such as elevation, rainfall history, river proximity, and land-use information. That would make the risk scoring stronger and less dependent on image interpretation alone.
I also want to expand the recommendation system so that it can better support local authorities and communities with clearer preparedness actions, such as identifying vulnerable roads, essential facilities, and evacuation priorities.
Long term, I want Mekong Watch to become more than an awareness tool. I want it to become a decision-support tool that helps communities in flood-prone regions prepare earlier, respond smarter, and reduce preventable damage.
Built With
- eslint
- google-gemini
- google-geocoding
- google-maps
- google-maps-javascript-api
- google-places-autocomplete
- next.js
- node.js
- npm
- postcss
- react
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.