Inspiration
Every summer, lakes and rivers turn into green sludge, including the Charles here in Boston. Algal blooms are not just an eyesore. They can poison water supplies, harm wildlife, and shut down rowing, swimming, and other time on the water. The tools to spot this already exist, but they rarely reach people early enough to act. We built Algaebros as an early-warning pipeline that reads satellite imagery and flags where bloom risk is rising.
What it does
Algaebros connects remote sensing, a forecast, and alerts so a community can see risk, understand the evidence, and decide what to do next. City planners get a map of river and lake zones, a timeline of past weeks, and a look at whether elevated conditions may persist. The public side can ask about a place, send a photo, and opt into a warning when a nearby zone is flagged. It is an early signal, not a toxin test or a statement that the water is safe.
How we built it
We pull Sentinel-2 scenes from Microsoft Planetary Computer, mask clouds and non-water pixels, and compute the Normalized Difference Chlorophyll Index from red and red-edge reflectance. NDCI is a proxy for surface chlorophyll, not a count of toxic cyanobacteria. Weather from Open-Meteo is joined to those zone readings for context.
The product has two interfaces on one forecast. Planners use a local web app with an interactive map, charts, and a history slider. Everyone else uses a messaging bot to ask for status, upload a shoreline photo, and receive alerts. A predictive model runs first. If it does not clearly beat a simple baseline, the system carries forward the latest usable satellite reading instead of trusting a weaker guess.
Challenges we ran into
The Charles is narrow, and a Sentinel-2 pixel is about 20 meters across. Many pixels mix open water with banks, bridges, and shadows, so we had to mask aggressively and still keep enough clean pixels before a zone score counted.
The model was the bigger surprise. A weather-driven forecast slightly reduced average error, but it caught high readings much less often than simply carrying the last clear satellite reading forward. We kept the baseline unless the model beat it out of sample, because missing a high week is worse than a slightly prettier average.
Accomplishments that we're proud of
We have one pipeline running on real data: satellite scenes, weather, a forecast, a map, and text alerts. Risk is judged against each water body's own history rather than one cutoff for every lake and river. Planners can replay past weeks, including the misses, and the public bot will not turn a chlorophyll number into a yes or no on swimming.
What we learned
A model that looks better on average can still be the wrong alert. What mattered was catching the high readings, and persistence did that more reliably. We also learned not to overclaim the satellite signal. NDCI is a strong screen for likely hotspots, but it sees many kinds of algae, cannot identify toxins, and cannot see a bloom that stays below the surface.
What's next for Algaebros
Satellites are a good pre-screen, not a full measurement. Next, we want ground sensors where the imagery is ambiguous or the bloom is underwater, plus the same zone-and-forecast setup on water bodies outside Boston.
Built With
- capital-one-nessie
- claude
- daytona
- maplibre
- microsoft-planetary-computer
- open-meteo
- openfreemap
- pandas
- photon
- python
- scikit-learn
- sentinel-2
- us-census-bureau
- xai-grok
Log in or sign up for Devpost to join the conversation.