Inspiration
Living in a busy urban neighborhood, I saw friends struggle to move furniture when relocating—either paying steep fees to discard it or wasting time trying to sell cheap pieces. I wanted to build something that turned waste into community connection, centered on sustainability and hyper-local trust. The karma system idea came from seeing how small acts of generosity (like giving away a couch) could foster more engagement in tight-knit areas.
What it does
FurnitureSwap is a mobile-first platform that lets users post unwanted furniture for free, browse local listings sorted by distance, and coordinate pickups with neighbors. A karma system rewards givers with better listing visibility, and premium features expand reach—all focused on keeping furniture in circulation, not landfills.
How we built it
We started with core user flows: sign-up (with location verification), listing creation, and messaging. We used React Native for cross-platform mobile compatibility, Firebase for real-time chat, and Google Maps API to map listings. The backend (Node.js/Express) handles karma calculations and proximity sorting, with MongoDB storing user/listing data. AWS S3 was integrated for fast photo uploads, and Stripe for premium subscription management.
Challenges we ran into
The biggest hurdle was perfecting proximity matching—ensuring listings sorted by distance were accurate, even when users adjusted radius filters (1/5/10 miles). We also struggled with balancing karma priority without making free-tier users feel disadvantaged, and fixing photo upload failures on low-bandwidth mobile connections.
Accomplishments that we're proud of
We built a seamless photo posting flow (under 5 seconds from camera to publish) and a karma system that actually boosts community generosity—early testers gave away 3x more furniture than expected. The map/list view toggle is intuitive, and premium users report 40% more engagement with their listings.
What we learned
We learned how critical location permission handling is for trust and functionality—users need clear explanations, not just prompts. We also realized simplicity beats complexity: cutting advanced filters (initially planned) kept the app fast and easy to use, aligning with our "speed first" goal.
What's next for this project
We plan to add subtle moving service recommendations (after successful pickups) to help users with transport, expand premium features to include category-specific highlighting, and refine the chat templates for even faster pickup coordination. Long-term, we want to deepen hyper-local community ties by adding neighborhood group feeds.
Log in or sign up for Devpost to join the conversation.