How iamenibrahim/last-mile works
Last-Mile is a disaster-assistance navigator that turns a person’s location and needs into a cited, signed Disaster Action Packet, then offers ways to verify, save, resume, and deliver it. The main journey runs from browser intake through API navigation and deterministic matching against reviewed assistance data, into packet construction and verification, and finally to web, SMS, voice, print, or offline use. The README documents these capabilities; sampled source confirms the API boundary, navigation call, continuity and channel integrations, and safety checks. Some unsampled subsystem wiring is therefore shown only where documented.
Main entry points: main.py FastAPI application · actions.py Packet construction · navigator.py Need-based matching · azure_sms.py SMS delivery
Components 22
Intake and Matching
- Browser experience
web/grounded/assist.js - FastAPI application
api/main.py - Need-based matching
grounded/navigator.py - Location resolution
grounded/geo.py - County and areas
grounded/areas.py
Packet and Trust
- Packet construction
grounded/actions.py - Locked facts
grounded/entities.py - Plain-language transform
grounded/transform.py - Packet verification
grounded/verify.py - Packet signing
grounded/manifest.py
Channels and Continuity
- Recovery code store
grounded/store.py - SMS delivery
api/providers/azure_sms.py - Voice calls
api/providers/azure_voice.py - Offline packet
api/main.py
Data and Providers
- Reviewed source records
grounded/sources.py - FEMA program data
grounded/fema.py - Exact quote search
grounded/quote_search.py - Language and safety providers
grounded/providers/azure_providers.py
Other components
- Person seeking aid
- Government and nonprofit sources
- Azure services
- Human help
Connections 26
- Person seeking aid → Browser experience: provides needs
- Browser experience → FastAPI application: sends answers
- FastAPI application → Need-based matching: requests matching
- FastAPI application → Location resolution: resolves location
- FastAPI application → County and areas: disambiguates county
- Need-based matching → Reviewed source records: matches reviewed data
- Reviewed source records → Government and nonprofit sources: curates records
- Need-based matching → FEMA program data: uses program data
- Need-based matching → Packet construction: builds recommendations
- Packet construction → Exact quote search: retrieves evidence
- Exact quote search → Reviewed source records: locates exact passages
- Packet construction → Locked facts: locks critical facts
- Packet construction → Plain-language transform: prepares channel text
- Plain-language transform → Language and safety providers: requests transformation
- Language and safety providers → Azure services: uses configured services
- Packet construction → Packet signing: signs packet
- FastAPI application → Packet verification: verifies packet
- FastAPI application → Recovery code store: saves or resumes
- FastAPI application → Offline packet: creates offline packet
- Offline packet → Packet verification: checks packet
- FastAPI application → SMS delivery: sends with consent
- SMS delivery → Recovery code store: loads packet
- SMS delivery → Azure services: dispatches message
- FastAPI application → Voice calls: starts verified call
- Voice calls → Azure services: places call
- FastAPI application → Human help: offers escalation