What it does Khidmah is a dignity-first community aid platform that connects people in need with local volunteers through anonymous matching. Recipients can post requests for essentials—food, clothing, household items—without revealing their identity or specific location (only general area like "North London"). Volunteers browse available requests in their area and claim ones they can fulfill. Once matched, a private chat opens where they can coordinate delivery details. The recipient's address is only shared when they choose to share it with their matched volunteer. The platform ensures complete anonymity, hyper-local matching, and respectful interactions throughout the entire process. How we built it We built Khidmah using a modern, full-stack architecture:

Frontend: React with React Router for navigation, featuring a cohesive organic design system with earthy tones (sage/olive green), grain textures, and smooth animations. We used Fraunces serif for headings and Nunito for body text to create a warm, approachable aesthetic. Backend: Node.js with Express for our REST API, Socket.io for real-time chat functionality, and MongoDB Atlas for our database Database Schema: Three main models—Requests (what people need), Volunteers (who's helping), and Matches (connections between them with chat history) Real-time Features: Socket.io handles private messaging between matched pairs, with message persistence in MongoDB Design Philosophy: Every component follows organic design principles—soft shadows, rounded corners, natural hover effects, and no harsh angles—to create a welcoming, human-centered experience

Challenges we ran into

Port conflicts: MacOS AirPlay was using port 5000, forcing us to switch our backend to port 5001 MongoDB Atlas configuration: Setting up IP whitelisting and getting the connection string right took iteration Design cohesion: Creating a unified visual language across all pages while maintaining the organic, earthy aesthetic required careful attention to color tokens, typography, and spacing Real-time chat architecture: Designing a Socket.io implementation that properly handles private rooms, message persistence, and user authentication took thoughtful planning Balancing features with hackathon timeline: We had to prioritize core MVP features (anonymous posting, matching, chat) over advanced features like proactive volunteer postings and advanced filtering

Accomplishments that we're proud of

Complete end-to-end functionality: Users can post requests, volunteers can claim them, and they can chat—all working seamlessly Beautiful, cohesive design: Our organic design system with grain textures, soft animations, and earthy colors creates a truly distinctive and welcoming experience Dignity-first approach: Every design decision reinforces privacy and respect—from anonymous posting to area-based matching to private messaging Real-time chat: Successfully implemented Socket.io for instant communication between matched pairs Responsive design: The platform works beautifully on mobile, tablet, and desktop Meaningful impact potential: We built something that could genuinely help vulnerable community members receive aid with dignity intact

What we learned

Full-stack integration: We gained hands-on experience connecting React frontend with Node.js/Express backend and MongoDB database Real-time technologies: Learned how to implement Socket.io for bidirectional communication and manage WebSocket connections Design systems: Discovered the importance of establishing design tokens (colors, typography, spacing) early for maintaining consistency User-centered design: Learned that building for dignity means considering every interaction—from form labels to button copy to error messages MongoDB relationships: Understood how to structure related data (Requests, Volunteers, Matches) and use population for efficient queries Hackathon prioritization: Learned to identify MVP features and resist scope creep while keeping the vision intact

What's next for Khidmah

Proactive volunteer postings: Allow volunteers to post available items ("extra groceries," "winter coats sizes 4-6") that recipients can claim anonymously Advanced filtering: Enable volunteers to filter requests by category, urgency, and distance radius Notification system: Email/SMS notifications when requests are claimed or messages received Volunteer verification: Optional identity verification for volunteers to build trust while maintaining recipient anonymity Request tracking: Allow recipients to track their request status and view fulfillment history Rating system: Respectful feedback mechanism to maintain platform quality without compromising dignity Multi-language support: Expand to serve non-English speaking community members Mobile app: Native iOS and Android apps for easier access and push notifications Analytics dashboard: For community leaders to understand local needs while preserving individual privacy Integration with existing organizations: Partner with established charities to complement rather than replace their work Expansion beyond London: Scale to other cities while maintaining the hyper-local matching that makes Khidmah effective

Built With

Share this project:

Updates