Inspiration
Growing up, we noticed how many tools sit unused in garages and sheds—power drills used once a year, lawn equipment idle most weeks. Meanwhile, neighbors constantly buy or rent the same tools. This waste of resources and money, combined with the disconnect in modern neighborhoods, inspired Neighborly: a hyperlocal marketplace where communities can share tools and equipment.
What We Built
Neighborly is a mobile application built with React Native and Firebase that enables neighbors to lend and borrow tools within their local community. The app features:
- User Authentication: Secure sign-up/login system with email verification
- Real-time Database: Firebase Firestore for instant listing updates
- Geolocation: Location-based matching to connect nearby neighbors
- Reputation System: User ratings and reviews to build trust
- In-app Messaging: Direct communication between lenders and borrowers
How We Built It
The tech stack includes:
- Frontend: React Native with Expo for cross-platform mobile development
- Backend: Firebase (Authentication, Firestore, Cloud Storage)
- State Management: React hooks and context for app-wide state
- Navigation: React Navigation for smooth screen transitions
We started with the authentication flow, implementing Firebase Auth with email/password functionality. Then we built the core marketplace features—listing creation, browsing, and search. The UI prioritizes simplicity and trust-building through clear photography and detailed item descriptions.
Challenges We Faced
The biggest challenge was Git workflow management. At one point, merge conflicts completely broke our working application, forcing us to carefully reconstruct the stable version while preserving new features. This taught us the importance of frequent commits and feature branches.
Firebase integration also presented hurdles—configuring security rules, handling real-time listeners, and managing async state updates required careful debugging. We learned to use Firebase emulators for local testing and implemented proper error handling throughout the app.
Another challenge was balancing trust and privacy. We wanted to verify users while protecting personal information, ultimately implementing a reputation system that displays aggregated ratings without exposing too much data.
What We Learned
This project deepened our understanding of mobile development, particularly around authentication flows, real-time databases, and the unique UX considerations of mobile apps. We also learned valuable lessons about version control hygiene and the importance of testing database rules early.
Most importantly, we learned that building community-focused technology requires thinking beyond features—it's about creating systems that encourage trust, safety, and genuine human connection.
Log in or sign up for Devpost to join the conversation.