Inspiration Houston floods fast, and the people most at risk often get the least usable warning: elderly residents, families without a car, and Spanish speakers who receive alerts only in English. Hurricane Beryl in July 2024 showed again how quickly bayous can rise and streets can become dangerous with little notice. Most flood information lives in gauge charts and technical dashboards that are hard to read in a panic. We wanted to turn that data into a plain, spoken warning that tells you whether your street is at risk and what to do next, in your own language.

What it does FloodLine monitors Houston's bayou gauges and shows them on a map color-coded as normal, watch, or flooding. Users create an account and set up their household with their address, preferred language (English or Spanish), and needs such as elderly residents, pets, medical equipment, or no car. Their alerts feed shows bayou warnings that can be played aloud with one tap, and an "Ask FloodLine" voice assistant answers questions like "Is my street flooding?" A Replay Beryl mode is designed to let users step back through the storm hour by hour to see how fast conditions changed.

How we built it The frontend is React with TypeScript and Vite, styled with Tailwind CSS, animated with Motion, and mapped with Leaflet using day and night basemaps. Supabase handles authentication and our Postgres database. User profiles are protected with row-level security, so household details like addresses stay private to each user. We managed the database schema as Supabase CLI migrations committed to GitHub, so every teammate could pull the same setup and stay in sync. Alerts are read aloud with the browser's built-in speech synthesis, and the app is structured so a higher-quality voice service can be swapped in later.

Challenges we ran into This was our first time working with agentic agents such as ElevenLabs. We decided to add phone calls for the alerts and we needed to buy a dedicated phone number for it. However, ElevenLabs only allowed Twillo which required account manual review for approval for new accounts. Due to the fact that its the weekend, we weren't sure if we were going to be able to get approved in time. We decided to ask a mentor and he told us to try again. We ended up getting approved for a phone number with an hour left.

Accomplishments that we're proud of We built a polished, bilingual interface that feels calm and readable, which matters when someone is stressed and the water is rising. Real accounts and household profiles save to a secure database, with privacy enforced at the database level rather than just in the UI. Every alert can be heard, not just read, which makes the app more accessible to people with low vision or limited literacy. Most of all, we're proud the design centers the households most likely to be left behind in a flood.

What we learned We learned how to use Supabase end to end: authentication, Postgres, row-level security, and CLI migrations tracked in Git. We got much more comfortable with environment variables and with keeping secrets like API keys out of a shared repository. Working as a team taught us the value of a single source of truth for the database and clear setup steps for every new teammate. We also learned that designing for emergencies means prioritizing clarity, speed, and language access over flashy features.

What's next for FloodLine Our next step is replacing our sample gauge readings with live data from sources like the Harris County Flood Warning System and USGS, and generating alerts automatically when levels approach flood stage. We'll use each household's saved address to show only the gauges that matter to them, and use their household needs to prioritize who gets warned first. We plan to add natural-sounding voices, more languages common in Houston such as Vietnamese and Chinese, and SMS or phone-call alerts for people without smartphones. Finally, we want to complete Replay Beryl with real historical data so residents and city planners can learn from past storms.

Built With

  • api
  • database
  • elevenlabs
  • gemini
  • llm
  • supabase
  • tigerbase
Share this project:

Updates

Submission history