🌱 Inspiration

Finding local volunteer work in India is unnecessarily hard. There's no central platform — opportunities are scattered across WhatsApp groups, notice boards, and outdated websites. National platforms like VolunteerMatch are US-focused and useless for cities like Pune, Nagpur, or Hyderabad. We built VolunteerBridge to fix this.

🚀 What it does

VolunteerBridge is a hyperlocal platform connecting individuals with nearby organizations offering volunteer positions, paid community work, and skill-based engagements across India.

For Seekers:

  • Search opportunities by city, work category, and compensation type (unpaid, stipend, paid hourly)
  • Interactive map view showing opportunities across 20+ Indian cities
  • Bookmark listings and set email alerts for new matching roles
  • Express interest directly — get email confirmation instantly

For Organizations:

  • Register and post opportunities in minutes
  • Preview listing exactly as seekers will see it before publishing
  • Dashboard showing every applicant's name, email, and message
  • Live impact counter showing people interested and roles posted

Bonus features:

  • One-click WhatsApp share on every listing for viral growth
  • Related opportunities section on every detail page
  • Live stats on homepage (total opportunities, organizations, cities)

🛠️ How we built it

  • Next.js 15— Full-stack framework handling both frontend and API routes
  • TypeScript— Type safety across the entire codebase
  • Supabase— PostgreSQL database with Row Level Security + authentication
  • Tailwind CSS— Custom forest green + amber design system
  • Vercel— Deployed in 45 seconds, global CDN
  • Resend— Email notifications for expressions of interest
  • Leaflet.js— Free interactive map with no API key required

🧗 Challenges we faced

  • Next.js 15 async params — Server components required awaiting params, breaking multiple pages
  • Leaflet double-initialization — React strict mode caused map to initialize twice, solved with useRef guard pattern
  • GitHub large file rejection — node_modules accidentally committed, solved by switching to Vercel CLI direct deployment
  • TypeScript strict enums — Supabase returning any types required explicit casting to WorkCategory and CommitmentType

📚 What we learned

  • How to build a full production-ready app in 48 hours
  • Supabase RLS policies for secure multi-tenant data
  • Leaflet.js map integration in Next.js without SSR issues
  • Vercel deployment pipeline and environment variable management

🔮 What's next

  • Skills-based matching — show % match based on seeker profile
  • Mobile app with push notifications
  • NGO verification badge system
  • Multi-language support (Hindi, Telugu, Marathi)
  • Municipality API for government community programs

Built With

Share this project:

Updates