Inspiration
At move-out, students leave behind shelves, bins and hangers. Months later, arriving students need the same basics. Campus reuse programs bridge that gap: Cal Poly's CP Thrift collected more than 1,500 items in its first year, and Stanford receives 50–80 tons of usable donations annually. [1][2] Keeping goods through summer takes storage and volunteer time, so someone has to decide what gets a spot.
RoomRelay turns that decision into a plan: ask what students need, then choose what to collect.
What it does
Students register requests and acceptable alternatives. Donors list items with their size and condition. A coordinator sets available floor space and volunteer hours; RoomRelay selects the donations that meet the most requests within both limits.
Every item comes with a reason. Select the wide shelf in the demo and see what accepting it changes: two smaller shelves leave the plan, and matched requests fall from 11 to 10. The coordinator can inspect the tradeoff and make the final intake decision.
ReDorm offers preorders, inventory and scheduled pickup. [3] RoomRelay focuses on choosing the intake combination before storage and handling time are committed.
Results
Synthetic batch: 16 offered items, 11 requests from nine students. All methods use the same 3 m² of usable floor and 180 item-minutes, plus 60 minutes for registration, coordination and hauling.
| Method | Intake rule | Requests met |
|---|---|---|
| First come | Accept each eligible item that fits | 5 / 11 |
| Demand-filtered | Also require an additional request match | 8 / 11 |
| RoomRelay | Choose the best feasible combination | 11 / 11 |
Across 100 shuffled arrival orders, first come ranges from 4 to 11 matches, demand-filtered from 7 to 11, and RoomRelay reaches 11 every time. Both demand-filtered and RoomRelay have a median of 11.
With ample resources, all three meet all 11 requests. With only five supplied items, all meet five. Cancelling three requests after intake leaves RoomRelay with eight simulated pickups; its original intake and assignments stay fixed.
How we built it
A static page runs an exact solver in the browser. It checks feasible item combinations and uses min-cost max-flow to match goods to requests. It prioritizes requests met, then distinct students served, then lower handling time and floor use. Each item and request is assigned at most once.
The demo, PDF and cost table share computed results from a frozen dataset. Automated checks compare small cases with exhaustive assignment search and verify resource limits, alternatives and cancellation accounting. The current solver handles up to 18 items per batch.
Operating model
One coordinator owns intake and pickup. Volunteers inspect, label and store accepted items, then record handoffs and arrange a destination for leftovers. Start with bins, small shelves, trays, crates and fixed hanger sets.
A three-month budget model for 100 offered items, 80 accepted and 64 pickups totals $460 cash: $300 storage, $60 supplies and $100 transport. Including volunteer time at $20/hour, full resource cost is $1,017.33, or $15.90 per pickup. The plan reserves 28.67 of 32 person-hours; donated storage reduces cash to $160. This larger operating model assumes a larger solver.
What's next
Run an initial batch of up to 18 items in one residence hall. Confirm demand before move-out, measure handling time and occupied floor space, and compare planned matches with pickups. Use those measurements and local quotes to set expansion targets. Then connect several halls, including the extra transfer effort, and integrate with campus inventory tools.
Sources
[3] ReDorm
Built With
- css
- html
- javascript
- python
- reportlab
Log in or sign up for Devpost to join the conversation.