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

Built With

Share this project:

Updates