Cole Wisniewski ← all projects

Dishwatcher

Active

A Raspberry Pi camera that reminds me when dishes stay in my kitchen sink.

Stack

Camera
Raspberry Pi
Detection
Python · OpenCV
App
FastAPI · SQLite

What it is

I built Dishwatcher to notice when dishes stay in my kitchen sink. A Raspberry Pi camera captures the sink after motion stops. The dashboard shows the current state, and alerts remind me to clean it.

Plate in a sink beneath a faucet on a mint background

How it works

The Pi buffers a short clip and sends a frame after motion stops. The server compares the sink region with a clean reference using structural similarity. Several frames must agree before its state changes. After a delay it can send a Discord alert. The dashboard shows the latest state and history.

Flow

  1. Pi camera motion
  2. Frame and clip upload
  3. Clean reference comparison
  4. State timer
  5. Dashboard and alerts

The problem

The first detector used YOLO, which only recognized a few kitchenware classes. Pots, pans and cutting boards could be missed, so a dirty sink could look clear. The model class list in the code made the gap clear. I switched the main decision to structural similarity against a clean reference image and kept YOLO for optional labels.