Swift Student Challenge 2026
Distinguished Winner
Swift Student Challenge 2026
Distinguished Winner
Swift Student Challenge 2026
Distinguished Winner


Why Asuo?


Why Asuo?


Why Asuo?

I lived in Accra for most of my life growing up, and every rainy season brought the same fear. Streets would flood within minutes. People would wade through deep water with no idea which roads were safe. On June 3, 2015, severe flooding in Accra claimed 154 lives when floodwaters triggered an explosion at a gas station near Circle, a major commercial and transport area in Accra. That moment shaped the reason I built this app.


Asuo, which means "flowing water" in Akan or Twi, a language from Ghana, was built from that experience. It is an offline flood navigation app that uses pre-loaded historical flood data and available weather forecasts to guide users to safety through the safest walking routes, it also locates nearby shelters and includes a slide-to-call SOS button for emergency services.

I lived in Accra for most of my life growing up, and every rainy season brought the same fear. Streets would flood within minutes. People would wade through deep water with no idea which roads were safe. On June 3, 2015, severe flooding in Accra claimed 154 lives when floodwaters triggered an explosion at a gas station near Circle, a major commercial and transport area in Accra. That moment shaped the reason I built this app.


Asuo, which means "flowing water" in Akan or Twi, a language from Ghana, was built from that experience. It is an offline flood navigation app that uses pre-loaded historical flood data and available weather forecasts to guide users to safety through the safest walking routes, it also locates nearby shelters and includes a slide-to-call SOS button for emergency services.

I lived in Accra for most of my life growing up, and every rainy season brought the same fear. Streets would flood within minutes. People would wade through deep water with no idea which roads were safe. On June 3, 2015, severe flooding in Accra claimed 154 lives when floodwaters triggered an explosion at a gas station near Circle, a major commercial and transport area in Accra. That moment shaped the reason I built this app.


Asuo, which means "flowing water" in Akan or Twi, a language from Ghana, was built from that experience. It is an offline flood navigation app that uses pre-loaded historical flood data and available weather forecasts to guide users to safety through the safest walking routes, it also locates nearby shelters and includes a slide-to-call SOS button for emergency services.

Project Overview

Project Overview

Project Overview

What is Asuo? A mobile app that guides users through safe routes during flooding in real time, even without internet connection.

User problem: Flooding in cities like Accra causes lives to be lost because people have no reliable way to navigate danger zones or find safety quickly, especially when connectivity is unavailable.

My role: Product and interaction designer, research, concept, prototyping.

What I designed: The navigation system, alert dashboard, flood map interface, offline functionality, and SOS emergency feature.

Outcome or validation: Prototype built and refined through user feedback and research insights.

What is Asuo? A mobile app that guides users through safe routes during flooding in real time, even without internet connection.

User problem: Flooding in cities like Accra causes lives to be lost because people have no reliable way to navigate danger zones or find safety quickly, especially when connectivity is unavailable.

My role: Product and interaction designer, research, concept, prototyping.

What I designed: The navigation system, alert dashboard, flood map interface, offline functionality, and SOS emergency feature.

Outcome or validation: Prototype built and refined through user feedback and research insights.

What is Asuo? A mobile app that guides users through safe routes during flooding in real time, even without internet connection.

User problem: Flooding in cities like Accra causes lives to be lost because people have no reliable way to navigate danger zones or find safety quickly, especially when connectivity is unavailable.

My role: Product and interaction designer, research, concept, prototyping.

What I designed: The navigation system, alert dashboard, flood map interface, offline functionality, and SOS emergency feature.

Outcome or validation: Prototype built and refined through user feedback and research insights.

Available on TestFlight

Available on TestFlight

Available on TestFlight

Apple's beta testing platform, install and try the app.

Apple's beta testing platform, install and try the app.

Scan to try Asuo

or

User Interaction Design

User Interaction Design

User Interaction Design

Designing for crisis means designing for someone who has no time to think. High contrast alerts, clear zone labels, and a map that speaks before you read it. Every decision was intentional.

Designing for crisis means designing for someone who has no time to think. High contrast alerts, clear zone labels, and a map that speaks before you read it. Every decision was intentional.

Designing for crisis means designing for someone who has no time to think. High contrast alerts, clear zone labels, and a map that speaks before you read it. Every decision was intentional.

Sketches and ideation

Sketches and ideation

Sketches and ideation

Designing for crisis means designing for someone who has no time to think. High contrast alerts, clear zone labels, and a map that speaks before you read it. Every decision was intentional.

Designing for crisis means designing for someone who has no time to think. High contrast alerts, clear zone labels, and a map that speaks before you read it. Every decision was intentional.

Designing for crisis means designing for someone who has no time to think. High contrast alerts, clear zone labels, and a map that speaks before you read it. Every decision was intentional.

Low Fidelity Wireframes

Low Fidelity Wireframes

Low Fidelity Wireframes

Before refining the visual design, I used lo fi wireframes to focus on structure and usability. This stage helped me test layout, navigation, and content priority, making sure the most important actions were easy to find and understand in a moment of crisis.

Before refining the visual design, I used lo fi wireframes to focus on structure and usability. This stage helped me test layout, navigation, and content priority, making sure the most important actions were easy to find and understand in a moment of crisis.

Before refining the visual design, I used lo fi wireframes to focus on structure and usability. This stage helped me test layout, navigation, and content priority, making sure the most important actions were easy to find and understand in a moment of crisis.

System Architecture

System Architecture

Building an offline flood navigation system means every decision has to work without internet. This is the architecture I designed to make that possible.

Building an offline flood navigation system means every decision has to work without internet. This is the architecture I designed to make that possible.

Flood Risk Scoring Formula
Score = (Rain x 0.4) + (Drainage x 0.3) + (Elevation x 0.2) + (River x 0.1)
Danger ≥ 3.5  ·  Caution ≥ 2.0  ·  Safe < 2.0
External Data Sources
Weather Prediction API
Ghana Meteorological Agency. Real-time rainfall data, flood warnings, and weather forecasts.
Water Level Sensors
IoT sensors on Odaw River and drainage outlets. Real-time water depth and flow rate per zone.
Historical Flood Records
Past flood events, affected areas, water levels, and damage data used to calibrate risk models.
Geographic Data
Topographic and elevation data. Terrain, drainage infrastructure, and land use for each zone.
OpenStreetMap
Map tiles at multiple zoom levels, road network geometry, and geographic features. Cached locally for offline use.
Shelter Database
Emergency shelters, hospitals, and safe locations. Name, GPS coordinates, capacity, and current status.
Zone Characteristics
Per-zone data: population, drainage score, elevation score, river proximity, and drainage infrastructure status.
View full architecture
Backend Server
Asuo Backend
Ingests data, calculates risk, builds grid, finds safe routes
Data Ingestion
Receives weather and sensor data. Normalizes into rain intensity levels and flood phases.
Flood Risk Engine
Runs weighted formula per zone. Outputs risk level and estimated water depth.
Grid Builder
Builds 40x30 pathfinding grid. Danger = impassable. Caution = high cost. Safe = low cost.
A* Pathfinding
Finds safest route avoiding danger zones. Returns waypoints and estimated travel time.
Push Notifications
Alerts on phase changes: approaching, active, receding, all clear
WebSocket
Real-time updates: zone risk changes, route reroutes, status messages
Status Generator
Produces human-readable messages from live sensor data
Communication Layer
Weather updatesZone risk levelsShelter availabilitySafe route dataReal-time alerts
Sent to the app when online, cached for offline use
iOS App (On Device)
Asuo iOS App Works Offline
Three-tab interface powered by SwiftUI and @Observable engine
Alert Dashboard
Phase banner (clear to safe)Rain intensity meterWeather status + countdownZone flood cardsStatus message cardSOS slide-to-call
Flood Map
Zoomable, pannable mapColor-coded flood zonesOdaw River overlayShelter + hospital markersWater depth badgesZone detail sheet
Safe Route
Destination selectionWalking / driving toggleRoute preview on mapTurn-by-turn navigationCamera follows userArrival confirmation
Local Cache
Map tiles, zone data, shelters, routes. Powers offline mode.
On-Device Engine
Navigation tracking, heading, position interpolation, shelter proximity.
GPS
Real-time user position via CoreLocation. Feeds navigation.
Accessibility
Haptics, speech synthesis, VoiceOver, reduce motion support.
Device Hardware Used
GPS Sensor
Haptic Engine
Speaker
Phone Dialer
Network
Collapse
Flood Risk Scoring Formula
Score = (Rain x 0.4) + (Drainage x 0.3) + (Elevation x 0.2) + (River x 0.1)
Danger ≥ 3.5  ·  Caution ≥ 2.0  ·  Safe < 2.0
External Data Sources
Weather Prediction API
Ghana Meteorological Agency. Real-time rainfall data, flood warnings, and weather forecasts.
Water Level Sensors
IoT sensors on Odaw River and drainage outlets. Real-time water depth and flow rate per zone.
Historical Flood Records
Past flood events, affected areas, water levels, and damage data used to calibrate risk models.
Geographic Data
Topographic and elevation data. Terrain, drainage infrastructure, and land use for each zone.
OpenStreetMap
Map tiles at multiple zoom levels, road network geometry, and geographic features. Cached locally for offline use.
Shelter Database
Emergency shelters, hospitals, and safe locations. Name, GPS coordinates, capacity, and current status.
Zone Characteristics
Per-zone data: population, drainage score, elevation score, river proximity, and drainage infrastructure status.
View full architecture
Backend Server
Asuo Backend
Ingests data, calculates risk, builds grid, finds safe routes
Data Ingestion
Receives weather and sensor data. Normalizes into rain intensity levels and flood phases.
Flood Risk Engine
Runs weighted formula per zone. Outputs risk level and estimated water depth.
Grid Builder
Builds 40x30 pathfinding grid. Danger = impassable. Caution = high cost. Safe = low cost.
A* Pathfinding
Finds safest route avoiding danger zones. Returns waypoints and estimated travel time.
Push Notifications
Alerts on phase changes: approaching, active, receding, all clear
WebSocket
Real-time updates: zone risk changes, route reroutes, status messages
Status Generator
Produces human-readable messages from live sensor data
Communication Layer
Weather updatesZone risk levelsShelter availabilitySafe route dataReal-time alerts
Sent to the app when online, cached for offline use
iOS App (On Device)
Asuo iOS App Works Offline
Three-tab interface powered by SwiftUI and @Observable engine
Alert Dashboard
Phase banner (clear to safe)Rain intensity meterWeather status + countdownZone flood cardsStatus message cardSOS slide-to-call
Flood Map
Zoomable, pannable mapColor-coded flood zonesOdaw River overlayShelter + hospital markersWater depth badgesZone detail sheet
Safe Route
Destination selectionWalking / driving toggleRoute preview on mapTurn-by-turn navigationCamera follows userArrival confirmation
Local Cache
Map tiles, zone data, shelters, routes. Powers offline mode.
On-Device Engine
Navigation tracking, heading, position interpolation, shelter proximity.
GPS
Real-time user position via CoreLocation. Feeds navigation.
Accessibility
Haptics, speech synthesis, VoiceOver, reduce motion support.
Device Hardware Used
GPS Sensor
Haptic Engine
Speaker
Phone Dialer
Network
Collapse
Flood Risk Scoring Formula
Score =
(Rain x 0.4)
+ (Drainage x 0.3)
+ (Elevation x 0.2)
+ (River x 0.1)
Danger ≥ 3.5  ·  Caution ≥ 2.0  ·  Safe < 2.0
External Data Sources
Weather Prediction API
Ghana Meteorological Agency. Real-time rainfall data, flood warnings, and weather forecasts.
Water Level Sensors
IoT sensors on Odaw River and drainage outlets. Real-time water depth and flow rate per zone.
Historical Flood Records
Past flood events, affected areas, water levels, and damage data used to calibrate risk models.
Geographic Data
Topographic and elevation data. Terrain, drainage infrastructure, and land use for each zone.
OpenStreetMap
Map tiles at multiple zoom levels, road network geometry, and geographic features. Cached locally for offline use.
Shelter Database
Emergency shelters, hospitals, and safe locations. Name, GPS coordinates, capacity, and current status.
Zone Characteristics
Per-zone data: population, drainage score, elevation score, river proximity, and drainage infrastructure status.
View full architecture
Backend Server
Asuo Backend
Ingests data, calculates risk, builds grid, finds safe routes
Data Ingestion
Receives weather and sensor data. Normalizes into rain intensity levels and flood phases.
Flood Risk Engine
Runs weighted formula per zone. Outputs risk level and estimated water depth.
Grid Builder
Builds 40x30 pathfinding grid. Danger = impassable. Caution = high cost. Safe = low cost.
A* Pathfinding
Finds safest route avoiding danger zones. Returns waypoints and estimated travel time.
Push Notifications
Alerts on phase changes: approaching, active, receding, all clear
WebSocket
Real-time updates: zone risk changes, route reroutes, status messages
Status Generator
Produces human-readable messages from live sensor data
Communication Layer
Weather updatesZone risk levelsShelter availabilitySafe route dataReal-time alerts
Sent to the app when online, cached for offline use
iOS App (On Device)
Asuo iOS App Works Offline
Three-tab interface powered by SwiftUI and @Observable engine
Alert Dashboard
Phase banner (clear to safe)Rain intensity meterWeather status + countdownZone flood cardsStatus message cardSOS slide-to-call
Flood Map
Zoomable, pannable mapColor-coded flood zonesOdaw River overlayShelter + hospital markersWater depth badgesZone detail sheet
Safe Route
Destination selectionWalking / driving toggleRoute preview on mapTurn-by-turn navigationCamera follows userArrival confirmation
Local Cache
Map tiles, zone data, shelters, routes. Powers offline mode.
On-Device Engine
Navigation tracking, heading, position interpolation, shelter proximity.
GPS
Real-time user position via CoreLocation. Feeds navigation.
Accessibility
Haptics, speech synthesis, VoiceOver, reduce motion support.
Device Hardware Used
GPS Sensor
Haptic Engine
Speaker
Phone Dialer
Network
Collapse

Next Steps

Next Steps


  • Conduct usability testing with real users in flood-prone communities in Accra to validate the experience

  • Integrate live weather and flood data to move the app from simulation to real-time prediction

  • Partner with local authorities in Ghana to expand flood zone data coverage and emergency response integration




  • Conduct usability testing with real users in flood-prone communities in Accra to validate the experience

  • Integrate live weather and flood data to move the app from simulation to real-time prediction

  • Partner with local authorities in Ghana to expand flood zone data coverage and emergency response integration




  • Conduct usability testing with real users in flood-prone communities in Accra to validate the experience

  • Integrate live weather and flood data to move the app from simulation to real-time prediction

  • Partner with local authorities in Ghana to expand flood zone data coverage and emergency response integration



Tools

Tools

FigmaFigma
Google GeminiGoogle Gemini
Claude CodeClaude Code
XcodeXcode
SwiftUISwiftUI