Dish Shamer

Project Description

DishShamer solves the age-old problem of getting your roommates to wash their dishes.  The kitchen is a communal space.  When one individual fails to keep this shared environment clean, there can be two outcomes: conflict and socially awkward confrontations, or placing unfair cleaning burdens on the responsible roommates.  By tracking who checks out and returns dishes, maintaining a leaderboard, and sending periodic email updates, DishShamer holds sloppy roommates accountable for their actions.

The Prototype

A closer look at our working prototype.

Dish Shamer


  • Auditory feedback in response to dish stock changes
  • An LED dish stock gauge
  • Image capture, triggered by dish stock changes
  • Web app with leaderboards
  • Email feedback


How to wire up your own DishShamer.
schematic Dishshamer

1. Wire up your electronics as shown above.

2. Download, DishBlamer.inoindex.html, update.js, and style.css from the GitHub repository below.

3. Upload the Arduino code to your Arduino.

4. Check the port that your Arduino is using and change line 11 of to indicate that port.

5. ‘cd’ into your project directory.

6. Run ‘python -m SimpleHTTPServer 8000’.

7. Point your browser to http://localhost:8000.

8. For each user of your DishShamer, add an entry in the emails dictionary in  The key should be the user’s name, and the value should be the user’s email address.

9. For each user of your DishShamer, take a photo of the user, name it <name>.jpg, where <name> is the same string that was used for the user’s entry in the emails dictionary in Step 8.  Put these images in the ‘images/training’ directory.

10. Select the Gmail account from which your DishBlamer emails should be sent.  In, set GMAIL_USER to be the username and GMAIL_PASS to be the password.

11. Run ‘python‘.

12. You should be up and running!

Logging User Activity

On every change in the dish stock, DishShamer automatically photographs the user adding or removing a plate.  This image is used to identify who completed the action, which allows us to maintain a log of user interactions with DishShamer.

The web application allows users to see the current leaderboards at any time.  It updates in real time, so when a user adds or removes dishes, the web application displays the captured photograph along with its guess about who is in the photograph.  Changes in the leaderboards are briefly highlighted.

Shelf Unit

In order to test our sensor in a live setting we needed a kitchen cabinet. In order to conveniently prototype and later demonstrate and explore how DishShamer functions in different locations, we needed a portable shelf. We decided on on a light weight design able to be collapsed and “flat packed” for easy deconstruction, reconstruction, moving and storage. A series of simple joints and notches created structural redundancy, resulting in an open frame able to hold dishes and electronic equipment. Plywood, used for its strength in tension and compression and light weight properties, made up the entire shelf unit.

A further iteration would include a housing unit for the sensor and electronics. This housing would be self contained with a battery and could be installed on the underside of the shelf above the target dishes. This idea would meet renters’ needs in that the device could be installed without having to drill or screw into existing cabinetry. In order to achieve this, the housing could be slid onto removable plastic hooks, installed with sticky backed tape.

Shelving unit sketches and early renderings
schematic dishshamer

Background Research

Our four kitchens vary greatly in terms of culture and usage. Alison shares her kitchen with three other flatmates; Sarah does not have roommates but shares her kitchen with her boyfriend; Baxter lives in a 20-person house; Christian rarely uses his shared kitchen. But as we compared notes and images, one obvious commonality was that dishes sometimes went unwashed for days. In one case, Christian says his frustrated roommate actually bought a portable dishwasher…which then went almost totally unused.

We all took different approaches to deeply exploring and understanding our kitchens.  For example, Sarah’s exploration included detailed logging of her kitchen’s contents each day for a week.  From this log, she synthesized the following map of her kitchen, which labels items according to whether they are immovable, stable across the observation period, or present only occasionally.  Objects that moved were labelled with their frequency in a given location.  This map reveals that dishes piled up in many locations in her kitchen, both unwashed dishes, and dishes that had been washed but needed to dry.

Read More:  DishShamer


About The Author

Ibrar Ayyub

I am an experienced technical writer with a Master's degree in computer science from BZU Multan University. I have written for various industries, mainly home automation, and engineering. I have a clear and simple writing style and am skilled in using infographics and diagrams. I am a great researcher and is able to present information in a well-organized and logical manner.

Scroll to Top