Inspiration
My Burrow was inspired by a simple idea: most of us own useful things that sit idle most of the time, while people nearby may only need those same things once or twice. Buying more means that more waste will be generated which is harmful for the environment. Hence, My Burrow aims to promote sustainability by encouraging a circular economy with a sharing-based concept.
What it does
I built My Burrow as a peer-to-peer borrowing platform where users can list items, browse available listings, request reservations, chat with item owners, save listings, manage activity, and leave reviews. The goal was to make borrowing feel structured and safe, not like an awkward one-off message thread.
How we built it
My Burrow uses a React and Vite frontend with React Router for navigation and Axios for API calls. The backend is built with FastAPI, SQLAlchemy, and PostgreSQL. Authentication uses JWTs for normal email/password login, with optional Google OAuth support. Supabase Storage is used for uploaded images such as listing photos and profile pictures.
The system is organized around the main product areas:
- Listings for creating, editing, browsing, and deleting borrowable items
- Reservations for requesting, approving, borrowing, returning, and canceling
- Chat for communication between borrowers and lenders
- Profiles for user information and public profile pages
- Reviews for item and user feedback
- Saved listings for bookmarking interesting items
- Activity tracking for borrowing and lending history
The frontend talks to the backend through /api routes, while real-time chat uses WebSocket connections. The backend stores persistent data in PostgreSQL and uses external services such as Google OAuth and Supabase image storage only where needed.
Challenges we ran into
One challenge was keeping the reservation lifecycle consistent. Each action affects several parts of the app: the listing status, reservation status, chat messages, activity history, and sometimes calendar or review behavior. Making those flows predictable required careful backend logic.
Another challenge is image uploading. Large files can slow down the app or fail in production. I handled this by preparing and compressing images on the frontend before upload, then storing them through Supabase.
The final challenge was connecting many separate features into one coherent experience. MyBurrow has authentication, listings, reservations, chat, reviews, profiles, storage, and deployment configuration. Getting those pieces to work together is a huge challenge in this full-stack development.
Accomplishments that we're proud of
We are proud that we manage to explore AI integration in this web application. All of us actually have no experience in integrating AI. We learned MCP from scratch and build prompts for AI use. This is a bold improvement for all of us to building a more efficient app.
Websocket is also a new technology we explored and we are glad to have integrated this live connection in our app so that our user can chat with each other freely.
What we learned
We learned how important it is to design around real user workflows instead of isolated features. A borrowing platform needs more than “post item” and “request item”; it needs trust, communication, status tracking, ownership checks, and a smooth handoff between each step.
We also learned a lot about backend architecture. FastAPI routers, Pydantic schemas, SQLAlchemy models, JWT authentication, and database relationships all had to work together cleanly. On the frontend, we learned how to organize routes, components, forms, and API calls in a way that keeps the app understandable as it grows.
What's next for My Burrow
Next, we would like to make My Burrow smarter and more community-focused. This could include better search and filtering, location-based discovery, stronger notification support, and clearer calendar integration for upcoming borrow and return dates.
We also want to improve trust and safety with stronger verification, richer review summaries, reporting tools, and clearer user histories. Another future direction is improving the chat and reservation experience so users can coordinate pickups and returns more easily.
Built With
- fastapi
- google-cloud
- mcp
- openai
- python
- react
- websockets
Log in or sign up for Devpost to join the conversation.