We were sick of fires in the laundry room & taking all of our laundry just to find all the machines taken. So we made an app that lets us check the laundry machine status from the comfort of our rooms, via the web, android app, or alexa skill.

How I built it

We have a set of services for fire detection, laundry machine use detection, facial recognition, and sms notifications. When a fire is detected, an early warning is sent out to everyone before the fire alarms catch on.

Laundry machine use is detected using an Arduino & ESP8266 that can be queried by the central API. The clients connect to this API to view laundry machine status. Facial recognition is used to determine who was in the laundry room last, and an SMS can be sent to the user to remind them to remove their laundry. No names are stored, only IDs and phone numbers, and both sides are anonymous, preserving the privacy of users.

We use Google Cloud Platform's AutoML Vision to detect fire, Azure's Face API to do facial recognition and identification, node & flask for various services, OpenCV for image processing, and Twilio to send SMS messages.

Challenges I ran into

Flask does not cooperate with GCP's Python SDK even when they run in separate threads, so we have to run a subprogram rather than running the GCP API call directly from the flask application.

Getting all of our services deployed and integrated was the most difficult part, but good documentation & communication helped resolve any conflicts that came up between services.

Accomplishments that I'm proud of

We're proud of making our application as modular & scalable as it is, especially for a hackathon project where it is tempting to dump everything in a thousand line file.

What I learned

We learned how to run an API on small microcontrollers, use multiple cloud platforms with multiple backend technologies, and how to work as a team to integrate many parts of the same project.

Share this project: