Inspiration
During emergencies, neighbors often lack fast, reliable ways to communicate and coordinate. Social media is noisy, and official alerts are often delayed. CivicMesh was inspired by the need for a hyperlocal, real-time network where communities can respond together, share resources, and provide help immediately.
What it does
CivicMesh allows residents to:
- Report emergencies (fires, floods, accidents) with photos and geolocation
- Request or offer help for urgent needs
- Share resources like food banks, charging stations, and shelters
- Coordinate responses using the "On My Way" feature
- Resolve posts with status updates and photos
How we built it
Frontend: React Native + Expo mobile app with map-based feed, photo uploads, quick post creation, and category filtering Backend: FastAPI with PostgreSQL + SQLAlchemy, secure authentication with bcrypt, REST endpoints for users, posts, and images Deployment: Render with CI/CD Team workflow: Collaborative GitHub repo with separate frontend and backend repositories
Challenges we ran into
- Ensuring accurate geolocation across devices
- Efficiently handling image uploads in the database
- Keeping frontend and backend data models in sync
- Designing an interface that works under stressful emergency scenarios
Accomplishments that we're proud of
- Fully functional end-to-end mobile app + backend
- Real-time community coordination features like "On My Way"
- Clean, intuitive interface for urgent reporting
- Scalable database design supporting geolocation, posts, and images
What we learned
- Cross-platform mobile development with React Native
- API design, authentication, and database modeling
- Secure image handling and data validation
- Effective team collaboration across frontend and backend
What's next for CivicMesh
- JWT authentication and role-based access control
- WebSocket-based real-time updates
- Push notifications for urgent alerts
- Migrate images to AWS S3 or Firebase Storage
- Advanced map analytics and clustering
- Admin dashboard for volunteers and responders
Built With
- expo.io
- fast-api
- javascript
- jwt-tokens
- postgresql
- python
- react-native
- render
- sqlalchemy
- typescript
Log in or sign up for Devpost to join the conversation.