Project Info
This project did not submit a demo video on Devpost.
PathSafe is an AI-powered safety and advocacy hub that helps users navigate the safest walking routes, stay alert to nearby threats, and connect through community-verified protests and events.
Inspiration
We were inspired by the rising need for grassroots safety infrastructure — especially for individuals from marginalized or at-risk communities. While navigating cities, many people don’t have access to real-time threat data or safe routing options, particularly when moving on foot. We wanted to create a tool that empowers users not only to stay informed and protected, but also to engage in advocacy and mutual aid efforts by participating in verified protests and community events. What It Does PathSafe helps users: Detect nearby dangerous activity based on community reports. View risk zones visualized on a live map. Receive AI-generated safe walking routes that avoid threats. Submit and view reports from others in the area. Check safety levels at specific locations. View upcoming protests and confirm attendance. Access local support resources like shelters or aid hubs. How We Built It Frontend: Built using React Native (Expo), with Mapbox for map visualization and geolocation, plus Lucide icons for clean UI. Backend: Node.js with Express, featuring RESTful APIs for report submission, safety checks, and route generation. Database: MongoDB to store incident reports and event data. AI Integration: Python backend used to calculate optimal routes avoiding reported danger zones using geo-fencing and custom heuristics. Map Routing: Combined Mapbox GL and Directions API for pathfinding, augmented with custom threat logic. Deployment: Backend runs locally for demo, but can be containerized with Docker; frontend is deployable via Expo. What We Learned How to integrate AI-assisted routing logic with geospatial data. The complexity of translating real-world safety concerns into functional, accessible UX. Handling geolocation, heatmaps, and point annotations in Mapbox within a React Native mobile environment. Designing for real-time updates and reliability in safety-critical contexts. Challenges We Ran Into Getting accurate geospatial calculations while filtering real-time threat zones. Managing state across components when syncing user location, map interactions, and backend data. Making the map UI responsive and intuitive across devices. Accomplishments We’re Proud Of Seamless integration of live maps, AI-based routing, and real-time community input. Built a mobile safety tool with real-world applications under tight time constraints. Developed a prototype that is both technically functional and socially impactful. What's Next for PathSafe Add SMS or push notifications for alerts in high-risk areas. Improve AI route prediction with more robust historical data. Gamify safety reporting to encourage wider participation. Enable users to mark “safe zones” like community centers, pop-up shelters, or check-in spots. Add multilingual support and accessibility features. Deploy a scalable version for real-world pilots with community partners. Disclaimer: This app is for educational and demonstration purposes only. It is not intended to replace official safety guidance or emergency services.
PathSafe
PathSafe is a safety navigation tool that helps individuals avoid known ICE activity areas based on real-time, community-submitted reports. Designed for humanitarian aid and immigrant safety, this app routes users away from risk zones and toward support resources.
🏗️ Project Structure
PathSafe/
├── backend/ # Express backend (API endpoints)
├── frontend/ # React Native (or other framework) frontend
├── .gitignore # Git ignore file
├── package.json # Project metadata & dependencies
├── README.md # Project overview and setup
└── LICENSE # License for the project
📦 Backend Setup
-
Navigate to the backend folder:
cd backend -
Install dependencies:
npm install -
Start the backend server:
npm start -
Server runs at: http://localhost:3000/
API Endpoints
POST /report: Submit ICE sighting reportsGET /safety?lat=...&lng=...: Check risk level near given coordinatesGET /resources: Get a list of safe locations/resources
🎨 Frontend Overview
Frontend allows users to:
- Submit sightings via a map interface
- View heatmaps of recent reports
- Get directions away from risky areas
- Find nearby legal/shelter resources
Tech Stack:
- Frontend: React Native (Expo), Mapbox/Leaflet, Axios for API requests
- Backend: Express.js (Node.js), MongoDB for database (or any other DB as needed)
- Deployment: Docker (for backend deployment), Expo (for mobile app deployment)
🚀 Team
- Angelo Payavala – UI/Frontend Lead
- Alexander Cummin – Frontend and Backend Developer
- Arfana Sham – AI/Data
- Sagar Kapri – Data & Research
💡 Inspiration
Created at the 2025 UC Berkeley AI Hackathon in response to humanitarian safety challenges. This project aims to provide a real-time, community-driven safety tool using AI-assisted decision-making and mapping.
⚠️ Disclaimer: This project is for educational and demonstration purposes only. It does not provide guaranteed safety, legal advice, or official immigration guidance.
Analysis
View
Metric
- 12
- 5
- 5
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- TypeScriptIn code
- DockerClaimed
6 of 7 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
84 KB
Source files
25
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
XenobyteDev/PathSafe
46 files · 2.1 MB · @ 500c2b3
Structure
Interface
14 files · 30%Screens, components and styles rendered to the user.
Application logic
10 files · 22%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript79%
- JavaScript10%
- Markdown8%
- HTML2%
- CSS1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
UI/package.json
npm · 36- @expo-google-fonts/inter
- @expo/vector-icons
- @lucide/lab
- @react-navigation/bottom-tabs
- @react-navigation/native
- expo
- expo-blur
- expo-camera
- expo-constants
- expo-font
- expo-haptics
- expo-linear-gradient
- expo-linking
- expo-location
- expo-router
- expo-splash-screen
- expo-status-bar
- expo-symbols
- +18 more
package.json
npm · 11- @expo/metro-runtime
- concurrently
- expo
- mapbox-gl
- maplibre-gl
- react
- react-dom
- react-map-gl
- react-native-web
- +2 more
frontend/package.json
npm · 10- @testing-library/dom
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- mapbox-gl
- react
- react-dom
- react-map-gl
- web-vitals
- +1 more
backend/package.json
npm · 3- body-parser
- cors
- express
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.