Inspiration
All of our team are international students. Every May and June, we watched near-new furniture pile up outside dorms at the end of the school year. Shipping a desk back home costs more than the desk is worth, so most of it simply gets abandoned. We also noticed that local families nearby were looking for affordable furniture at the same time, but had no way to find what students were leaving behind. That gap between people who need to give things away and people who need those things is what we wanted to close.
What it does
reHome connects graduating students with local residents through a two-sided marketplace designed around the end-of-year move-out window. Students upload photos of their items, write a short description in any language, and our AI listing generator produces a complete English listing with a suggested price. They then set a pickup availability window and publish. Local buyers browse a distance-sorted map, filter by category or price, and book a pickup slot directly. Any items left unclaimed by the student's move-out date are automatically routed to partner nonprofits, so nothing defaults to a landfill.
How we built it
reHome is built as a cross-platform application with a native iOS app in SwiftUI and a companion web app in React with the help of Claude Code. Both clients share the same Firebase backend: Cloud Firestore serves as the real-time database for listings, conversations, and messages, while Firebase Authentication handles user sign-in with .edu email verification to confirm student identity. The iOS app follows a single-source-of-truth architecture through a FirestoreService singleton with Combine-backed @Published properties, while the web app uses Zustand with live Firestore snapshot listeners. Conversations are keyed by a deterministic ID (sortedUids + listingId) so both platforms reference the same document. The handoff confirmation flow, where both the giver and receiver tap "confirm" before an item is marked complete, is enforced in Firestore security rules, ensuring the status transition from available to completed is atomic and tamper-resistant.
Challenges we ran into
This was the first hackathon any of us had participated in, and scoping the project took real time we did not expect to spend. On the technical side, the database schema went through three full redesigns before we found a structure that handled bundle listings and status transitions cleanly. Integrating role-separated authentication across different user flows was more complex than anticipated. Push notifications for the Flash Sale feature required us to evaluate several delivery methods and ultimately ship a polling-based system for the demo, with the full push infrastructure stubbed out for later.
Accomplishments that we're proud of
We are proud that reHome works end-to-end. A user can sign up, post a listing, set a pickup window, and have a local buyer discover and book it, all within the demo. We are also proud that we grounded every feature decision in actual user research conducted before we wrote any code, which meant we built things people described as real needs rather than things that seemed technically interesting. For a team with no prior hackathon experience building its first transaction-capable platform, shipping a working product feels like a meaningful milestone for us.
What we learned
We learned that deciding what not to build is as important as deciding what to build, especially under time pressure. On the technical side, we learned that managed authentication providers save significant time and that getting a relational schema right early prevents costly rewrites later. On the product side, we learned that the hardest problems in a two-sided marketplace are often not the matching logic but the trust and friction on each side of the transaction. User research before development, even a small amount of it, shaped our priorities more than any other single decision we made.
What's next for reHome
We plan to introduce a low-price transaction marketplace alongside the current free model, so students can sell higher-value items they cannot keep rather than only giving them away. We also plan to add homepage advertising placements as a revenue stream to support platform sustainability. On the logistics side, we want to partner with local moving companies so that buyers who cannot transport large items themselves can pay for professional pickup directly through the platform, removing one of the last remaining barriers to completing a transaction.
Built With
- corelocation-(ios)-other-technologies-xcode
- fastapi-(backend)
- firebase
- firebase-hosting-databases-cloud-firestore-apis-firebase-rest-api
- firebase-storage
- ios
- javascript
- node.js
- python
- python-frameworks-swiftui
- react
- swift
- swiftui
- tailwind-css
- typescript
- vite
- web
- web-cloud-services-firebase-authentication
- xcode
- zustand
- zustand-platforms-ios
Log in or sign up for Devpost to join the conversation.