-
-
Close-up of "Welcome to AidMap"
-
Community DIscussion board (not in production build yet)
-
Account login/creation
-
Further clarification, working toward CTA, explain how the movement works.
-
Scrolling down provides more information, everyone can take part without feeling like a mooch.
-
CTA-Join the community
-
"Welcome to AidMap!" with basic information about how the app works.
-
First Screen of user flow
-
Aid Request
-
Map obscures user location, giving only general location to balance privacy and so users can help people in their area.
-
Optional privacy mode.
Inspiration
Due to being disabled during economic hardships, I have witnessed, and been part of, communities that struggle to coordinate aid efficiently. Traditional charity can be slow and limited, while neighbors wanting to help have no direct way to connect with those in need.
I built AidMap to bridge this gap - enabling instant, hyperlocal mutual aid where every action or dollar goes directly from neighbor to neighbor.
What it does
AidMap transforms community support through an interactive map interface. Users in need click anywhere to post requests with details like groceries, medicine, or emergency housing. Neighbors browse local needs, fund them instantly through the stripe/cashapp/paypal payment system or organize assistance through direct messaging, Users can coordinate via real-time messaging.
Features include privacy protection (fuzzy locations), neighborhood-based communities, reputation systems, and an admin panel for community management.
How we built it
Frontend: React + TypeScript + Vite for lightning-fast development, Tailwind CSS for responsive design, Leaflet/React-Leaflet for interactive mapping Backend: Supabase for real-time database, authentication, and Row Level Security Infrastructure: Netlify for deployment, GitHub Actions for CI/CD Key Features: (For the hackathon) A Mock payment integration ready for Stripe/crypto/cashapp/paypal, real-time messaging, neighborhood communities, privacy-first location handling
Challenges we ran into
- Location Privacy: Balancing help-seekers' safety with donors' need to find them. Solution: Implemented location fuzzing and neighborhood-based display
- Real-time Updates: Ensuring map updates instantly when requests are posted/funded without overwhelming the system
- Trust & Safety: Building reputation systems and verification to prevent scams while keeping barriers low
- Database Schema: Designing flexible schemas that could handle various aid types while maintaining performance
Accomplishments that we're proud of
- Zero to MVP in 48 hours with full authentication, real-time updates, and payment flow
- Privacy-first design that protects vulnerable users while maintaining functionality
- Scalable architecture ready for thousands of concurrent users
- Admin panel for community moderators to ensure safety
- Mobile-responsive design that works perfectly on any device
- "Clean-ish" codebase with TypeScript, proper error handling, and passing CI/CD checks
What we learned
- Community-first design matters: Every feature decision should prioritize user safety and community trust
- Real-time is hard: Managing WebSocket connections and optimistic updates requires careful architecture
- privacy is paramount: Location data for vulnerable populations needs multiple protection layers
- simplicity wins: The easier it is to post/fund requests, the more people will participate
- local context matters: Different communities have different needs - flexibility is key
What's next for AidMap
- Blockchain Integration: Smart contracts for transparent, automated fund distribution
- Multi-language Support: Serve diverse communities in their native languages
- Mobile Apps: Native iOS/Android for push notifications and offline capability
- Partnerships: Work with local orgs to provide for the most pressing needs in a given community.
- Expansion: From neighborhood to city to global mutual aid network
- Analytics Dashboard: Help communities understand and predict aid patterns
Built With
- bolt.new
- date-fns
- leaflet.js
- lucide
- react
- react-hook-form
- supabase
- tailwind
- typescript
- vite
- zustand
Log in or sign up for Devpost to join the conversation.