
This is a submission for the DEV Weekend Challenge: Community The Community South Africa...
This is a submission for the DEV Weekend Challenge: Community
South Africa is in a water crisis that has taken many years to manifest into daily life.
I live in the Johannesburg area, where water is not something you take for granted. Gauteng imports nearly 98% of its water from outside the province, the Vaal Dam fluctuates dangerously, and municipal restrictions can change overnight. In townships like Alexandra and Diepsloot, flooding and water outages are a lived reality, not a news headline. Nationwide, 47% of South Africans experience regular water disruptions, and the country loses an estimated 35% of its treated water to leaking infrastructure before it ever reaches a tap.
Yet for the average resident, getting reliable, consolidated water information means digging through the Department of Water & Sanitation's PDF reports, checking three different municipal websites, and hoping the news covers it. There is no single, accessible, community-facing app that brings it all together.
The community I built Amanzi AquaSA for is every South African who has ever woken up to no water and/or tried to figure out whether they can legally fill their borehole in a Level 2 restriction area. That's a community of tens of millions of people and they deserve better tools.
Amanzi AquaSA is a Flutter mobile app (Android & iOS) that turns South Africa's fragmented water data into one clear, beautiful, and genuinely useful experience. The tagline is simple: Know Your Water.
The app is organized into five core areas:
Dashboard - A live at-a-glance summary of national water health. Dam levels, active restrictions, rainfall this month vs. historical average, and a critical alerts banner if something urgent is happening in your area. It answers the question every Gauteng resident asks on a dry summer morning: "How bad is it today?"
Dams & Rivers - Detailed profiles for South Africa's 10 major dams (Vaal, Sterkfontein, Gariep, Theewaterskloof, and more) with historical level charts you can switch between 1-year and 10-year views. River health cards cover the Vaal, Olifants, Limpopo and other major waterways - including honest pollution and health status ratings. Catchment area maps show where the water actually comes from.
My Water Usage - A personal water calculator that lets you tally your real daily usage: glasses of water, coffee, shower minutes, toilet flushes, laundry loads, geyser, garden watering and more. It compares your total against the SA average (237L/day) and the humanitarian minimum (50L/day), estimates your monthly municipal bill, and gives you targeted tips based on where you're using the most.
Alerts - A filterable feed of water alerts: flood warnings, restriction level changes, dam level thresholds, quality advisories, and maintenance outages. Critical alerts surface across the whole app with a pulsing red banner so nothing urgent gets missed.
Explore - The bigger picture. National water infrastructure entities (Rand Water, Umgeni, Lepelle), active government water projects with budgets and timelines, dam levels by province, and an educational self-sufficiency hub covering borehole drilling (process, costs, legal requirements), DIY water treatment methods (UV, RO, ceramic filters, SODIS), and desalination techniques from emergency solar stills to municipal-scale reverse osmosis.
An interactive map ties it all together; toggling between dam markers, river health overlays, catchment area polygons, and flood-risk zones across the country.


Amanzi AquaSA is built entirely in Flutter, targeting Android and iOS from a single codebase. Here's the technical breakdown:
Framework & Language Flutter 3.x with Dart, using a feature-first folder structure. Each feature (dams, rivers, rainfall, etc.) is fully self-contained with its own models, repository, and screen files - making the codebase easy to extend as live APIs become available.
Navigation go_router for declarative, URL-like routing with deep linking support - important for eventually sharing direct links to specific dam or river detail pages.
Maps flutter_map with OpenStreetMap tiles (no API key, no cost, works offline). Custom CustomPainter layers for catchment area polygons and color-coded river polylines. Dam markers are dynamically colored by level percentage - teal for healthy, amber for low, red for critical.
Charts fl_chart powers the historical dam level line charts, monthly rainfall bar charts, and the usage history graph. The dam detail screen supports switching between 1-year and 10-year data views with smooth animated transitions between datasets.
Usage Calculator Built with stateful widget steppers and a real-time litre accumulator. Toilet flush mode toggles between old (9L) and new (4.5L) cistern volumes. Shower time uses a Slider rather than a stepper since duration is continuous. Results are persisted locally with shared_preferences to show a 7-day usage history.
Self-Sufficiency Hub The rainwater harvesting calculator uses a simple formula: roof area (m²) × rainfall (mm) × 0.8 efficiency = litres collected. Users input their roof size and select their region's monthly rainfall to get a realistic monthly collection estimate - surprisingly powerful for planning tank sizing.
Water security isn't a future problem in South Africa - it's today's problem, and it's getting harder to ignore. Amanzi is a small piece of infrastructure for a community that needs better tools to understand, track, and protect the water they depend on.
Know your water.
aiEvery developer tool follows the same pattern: parse flags, run logic, print output. git commit -m...
dockerAPT repositories are just HTTP file servers, doesn't seem like something that should require a custom piece of software.
opensourceWe wanted every employee in the company to use OpenClaw — not just engineers. Product managers...
azurefabricLeveraging Gemini CLI and the underlying Gemini LLM to build Model Context Protocol (MCP) AI...
googlecloudplatformLeveraging Gemini CLI and the underlying Gemini LLM to build Model Context Protocol (MCP) AI...
iacLeveraging Gemini CLI and the underlying Gemini LLM to build Model Context Protocol (MCP) AI...
Workflows from the Neura Market marketplace related to this Grok resource