🧠 Inspiration

The idea for KindKart was born from a simple yet powerful realization: while many people want to donate to good causes, they often don’t know where to go or what to give. At the same time, donation centers and shelters struggle to get the word out about their specific needs. We wanted to bridge this gap using technology and create a centralized, easy-to-use platform that connects donors with the nearest, most relevant donation opportunities.

πŸ’‘ What it does

KindKart helps users:

  • Locate nearby donation centers, shelters, and food banks
  • Filter results based on category, distance, and current opening hours
  • View detailed info like accepted items, directions, and contact details
  • Use a map or list view to browse locations
  • Access everything on mobile, desktop, or even offline during outages

It’s like Google Maps β€” but specifically for donation and charity centers.

πŸ› οΈ How we built it

We used modern full-stack tools to ensure performance, scalability, and developer experience:

  • Frontend: Next.js 14, React, TypeScript, shadcn/ui
  • Styling: Tailwind CSS
  • Backend: Prisma ORM connected to a PostgreSQL database (hosted on Supabase)
  • Maps: Leaflet with OpenStreetMap integration
  • Geocoding: OpenCage API
  • Deployment: Vercel

All data (centers, categories, filters) is stored in PostgreSQL and queried through optimized API routes.

🚧 Challenges we ran into

  • Geocoding Precision: Handling inaccuracies in user-provided addresses.
  • Time Zone Handling: Parsing and displaying real-time open/closed status across different time zones was more complex than expected.
  • Map Clustering: Integrating Leaflet clustering smoothly without degrading performance.
  • Offline Fallback: Ensuring the app provided meaningful functionality when offline.

πŸ† Accomplishments that we're proud of

  • Built a fully working end-to-end search experience in <72 hours.
  • Passed all internal QA and verification scripts with 100% success.
  • Designed a clean, minimal UI that looks great across devices.
  • Implemented live map clustering and advanced filtering seamlessly.

πŸ“š What we learned

  • Deepened our understanding of PostgreSQL spatial queries and geocoding APIs.
  • Learned how to implement offline fallback logic using Next.js and service workers.
  • Improved handling of real-time filtering in complex UI states.
  • Practiced building user-friendly forms for address input and mobile-first search UX.

πŸš€ What's next for KindKart

  • βœ… User Accounts: Let users save favorites and track their donation history.
  • βœ… Admin Dashboard: Enable organizations to manage and update their own center data.
  • βœ… Push Notifications: Alert users when a center near them has urgent needs.
  • βœ… Multilingual Support: Broaden accessibility for non-English speakers.
  • βœ… Partnership API: Allow third-party apps (e.g., Uber, GrubHub) to integrate donation data.

We want KindKart to become the go-to platform for discovering and giving to charitable causes in your area β€” because kindness shouldn't be hard to find. πŸ’™


Made with ❀️ for the community

Built With

Share this project:

Updates