Inspiration
What it does
How we built it
Inspiration
It's 11pm. You've been studying for hours. You grab your laundry basket, walk down to the machine room — and every washer is taken. Or worse: someone's finished load has been sitting in a dryer for two hours. Every Yale student knows this feeling. The problem was never the chore itself — it was that nobody had any information about what was actually happening in the laundry room.
What it does
Suds is a software-only platform that makes laundry at Yale predictable, social, and sustainable:
- Live machine map across all 13 residential colleges — crowdsourced, real-time status for every washer and dryer
- Smart queue — join from anywhere, get notified the moment a machine frees up
- ML-powered predictions — a trained model estimates when an in-use machine will be available, with a confidence score
- Suds Score & achievements — gamified sustainability: points for completing cycles and marking machines free, streaks, 10 unlockable badges
- Laundry Buddy — find floor mates doing laundry at the same time
- Personal stats — a "best time to wash" heatmap showing the quietest hours per building
No hardware. No IoT sensors. No facility modifications required — it runs on any phone browser as an installable PWA.
How we built it
- Frontend: React 18 + TypeScript + Vite, built as a PWA with light/dark mode
- Backend: Node.js + Express + TypeScript, SQLite (WAL mode) for storage, WebSocket for live updates, JWT for auth
- ML service: Python + FastAPI serving a GradientBoostingRegressor trained on cycle-time patterns, with a heuristic fallback so the app never breaks if the ML service is down
- Security: Rate limiting, input validation with Zod, prepared statements throughout, Yale-domain-gated auth
Every endpoint was verified against a live server with an automated self-check script — 28 checks covering auth, every report type, queue logic, favorites, notifications, achievement unlocking, and stats.
Challenges we ran into
The hardest problem was making availability predictions reliable without real sensor data. We solved it with a two-layer approach: an ML model trained on cycle-time patterns for when it's confident, and a straightforward heuristic (average cycle time minus elapsed time) as an instant fallback — so predictions degrade gracefully instead of breaking.
We also debated hardware (IoT sensors on machines) early on, but concluded a purely crowdsourced, software-only approach was more honest to what a hackathon team can actually ship and validate — and more realistic for Yale to actually deploy without facility changes.
Accomplishments we're proud of
A fully working, end-to-end product — not a mockup. Every button triggers a real database write. Live WebSocket updates. A trained ML model that actually predicts. An installable PWA with real generated icons. 28/28 automated checks passing on a clean install.
What we learned
That the best fix for a physical, everyday problem is often information, not new hardware. Yale doesn't need smarter machines — it needs students to know what's happening in the room before they walk down the stairs.
What's next for Suds
- Real Yale CAS/SSO authentication (current auth is Yale-domain-gated demo auth, by design, for hackathon scope)
- Push notifications via FCM/Web Push
- Integration with Yale's laundry vendor API if one becomes available
- Photo verification on issue reports ## Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for suds-laundry-yale
Built With
- express.js
- fastapi
- jwt
- machine-learning
- node.js
- pwa
- python
- react
- rest-api
- scikit-learn
- sqlite
- typescript
- vite
- websocket
Log in or sign up for Devpost to join the conversation.