Village-Level Flood Warning Web App in Urdu and Sindhi That Works Offline
Build a lightweight progressive web app that lets district officers and local NGOs publish flood warnings for specific villages and union councils, delivers them by web push in Urdu and Sindhi, and keeps evacuation points and safe routes available offline when the network fails. National alerts tell people a flood is coming; this tells a family in a named village where to go. It is a practical first project in offline-first web development with a real public purpose.
Beginner
Achievable by one student in a semester with familiar tools.1 semester · 2 students
8 to ship
4 optional extrasSuggested stack
What you should ship
- An admin screen for officers to draw or pick affected union councils and publish a warning
- Warning messages in Urdu, Sindhi and English with right-to-left layout
- Web push notifications to people subscribed to a village or area
- An offline map of evacuation points, safe routes and helpline numbers cached on the phone
- A first page that loads in under 100 KB so it works on weak 2G and 3G connections
- Point-in-polygon matching of subscribers to warning areas
- A delivery log showing how many subscribers were notified and when
- A pilot dataset for one district with real evacuation points from public sources or a partner NGO
If you have time left
- SMS fallback for phones that cannot receive web push
- Audio messages for people who do not read, recorded by local volunteers
- Import of public river forecast data where it is available
- A volunteer check-in feature to mark evacuation points as open, full or flooded
The problem: knowing a flood is coming is not the same as knowing where to go
The 2022 floods in Pakistan showed how fast water can cut off whole districts in Sindh, Balochistan and southern Punjab. Warnings did come, from the national and provincial disaster authorities and through the news. What many families lacked was local detail: is my village in the affected area, which school or embankment is the evacuation point, which road is still open, which number do I call?
That local knowledge usually sits with district officers, local NGOs and volunteers. They share it through WhatsApp forwards and loudspeaker announcements, which do not reach everyone and cannot be checked later.
What already exists and the gap
- The PAK NDMA Disaster Alert app from the National Disaster Management Authority shares official alerts, with audio in Urdu and English and an archive of past alerts. It is built for national and provincial warnings and requires installing an app.
- Google Flood Hub publishes free short-term river flood forecasts for more than 80 countries, based on research from Google. It shows where rivers may flood, not where a particular family should go.
- WhatsApp groups run by NGOs and community leaders are fast but unstructured, and messages get lost among forwards.
The gap is a simple tool for the last step: local officers and NGOs publishing village-level warnings with evacuation points, in local languages, that people can receive without installing an app and can still read when the network fails.
Inspiration
Nearing and colleagues at Google ("Global prediction of extreme floods in ungauged watersheds", Nature, 2024) showed that machine learning can forecast floods several days ahead even where rivers have no gauges, and their forecasts power Google Flood Hub. Better forecasts only help if the warning reaches people in a form they can act on. Your project focuses on that delivery problem: turning a forecast or an official alert into a local, actionable message.
What you build
- District officers and NGO staff log in, select affected union councils on a map, choose a template, fill in details and publish.
- Residents open a short link once, choose their village, allow notifications, and get warnings in their language. The map of evacuation points stays on their phone.
- Coordinators see who was notified and which areas have few subscribers, so they can focus outreach there.
The technically interesting part
Even as a beginner project, there are real engineering problems to solve:
- Offline first. Use a service worker to cache the app shell, the latest warnings and map tiles for the chosen area. Test what happens when the phone is offline for two days.
- Tiny pages. Many people will open the link on a cheap phone with a weak signal. Budget every kilobyte, avoid heavy frameworks on the first page, and measure load time on a throttled connection.
- Location without tracking. Let people choose their village from a list instead of sharing GPS, and match it to warning areas with point-in-polygon checks on the server.
- Web push. Implement push subscriptions, handle expired subscriptions and record delivery.
- Right-to-left text. Urdu and Sindhi need proper fonts, line height and layout. Check them with native readers.
How to evaluate it
- Load performance: page weight and time to first useful content on a throttled 3G profile and a low-end phone.
- Offline behaviour: a checklist of tasks (read the last warning, find the nearest evacuation point) done with the network switched off.
- Delivery: time from publishing a warning to it appearing on test phones, across Android browsers.
- Usability: test with five to ten people from the target area or similar, in their language, and record what they misunderstood.
Suggested plan
- Weeks 1 to 2: talk to an NGO or a district disaster office, collect evacuation points for one district.
- Weeks 3 to 6: admin screen, warning areas and the resident page in three languages.
- Weeks 7 to 9: service worker, offline map and web push.
- Weeks 10 to 12: performance budget, delivery log and testing on low-end phones.
- Weeks 13 to 15: user testing, write-up and demo.
Path to a product
Local NGOs, district authorities and humanitarian groups need cheap, reliable ways to reach people, and many run similar programmes every monsoon. An open source tool they can host, with paid setup and SMS integration, is a realistic path. The project also shows employers that you can build for real constraints, which is rarer than another dashboard.
Scope warning
Do not try to predict floods yourself, and do not present your app as an official source. Warnings must come from authorised people, and the app should say who published each one. Start with one district and one partner, and get the offline experience right before adding more features.
Learn what you need on Sefism
- Frontend development roadmap: service workers, performance and progressive web apps.
- Frontend development cheat sheet: quick reference for the browser APIs you will use.
- Full stack development roadmap: the admin side, database and push service.
- PostgreSQL Documentation: storing areas and points, with PostGIS for the spatial queries.
- web.dev: offline patterns and performance budgets.
- Learn Accessibility: readable, usable pages for everyone.
Get help with this idea
The risk is a polished app with no real data or partner behind it. Tauseef can help you find the right first district, scope the offline features and plan user testing with people who would actually use it. If you are new here, create a free account first.
Ideas and guidance, not finished projects
These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.
Not sure this one fits you?
I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.