Inspiration
Social Impact was inspired by a simple problem: people want to help, but donations often fail because there is no trusted, local, real-time coordination between donors and receivers. We wanted to build something human, direct, and practical that turns intent into completed help.
What it does
Social Impact is a donation coordination platform where users can create location-based offers (food, shelter, or items), browse available help nearby, apply to offers, and chat directly to coordinate handover.
The platform supports:
- Offer lifecycle actions (selection → handover → completion)
- Post-completion two-way reviews
- Notifications
- Safety controls like offer expiration handling
How we built it
We built the app with Python and Flask, using Supabase for authentication, database, and storage.
The frontend uses server-rendered Jinja templates with HTML/CSS/JavaScript for interactive flows like chat polling, status transitions, and review modals.
We added background scheduling using APScheduler for:
- Timeout-based completion
- Expired-offer cancellation
We also implemented role-aware APIs for messaging, status actions, notifications, and reviews.
Challenges we ran into
We had to solve several real-world coordination issues:
- Multi-step state transitions (selected → handed over → confirmed)
- Edge cases in review eligibility, even with inactive tabs
- Data-shape mismatches between backend queries and templates
- Safe handling of sensitive configuration while iterating quickly
- Automation logic for time-based transitions without incorrect updates
Accomplishments that we're proud of
We’re proud that Social Impact goes beyond a static listing app and supports an end-to-end donation journey:
- Discovery
- Application
- Communication
- Completion
- Trust-building through ratings
We also implemented:
- Auto-complete and auto-cancel jobs
- Clearer status UX
- Robust review flow for both participants
What we learned
We learned that building social-good software is as much about workflow reliability as feature count.
Key takeaways:
- Consistent state management matters
- Defensive backend validation is essential
- UX fallbacks (like persistent review actions) improve usability
We also learned to prioritize secure secret management and clean, deployment-friendly architecture early.
What's next for Social Impact
Next, we plan to add:
- Stronger trust and reputation systems
- Smarter matching and prioritization
- Better moderation and reporting tools
- Real-time messaging via WebSockets
- Analytics for donation impact
- Mobile-first UX improvements for faster coordination
Log in or sign up for Devpost to join the conversation.