Set
During quarantine, I found myself playing a lot of Set — a card game where you try to find sets of three cards that fit certain constraints.

An example Set Board
A set is three cards where each individual feature (color, shape, number, and shading) is either all the same or all different. Here are some examples:

Examples of sets using the above board
Naturally, this had to be automated. My friends were running a "casual distanced hackathon," and I chose this as my project. Here's the hardware setup I used:

Hardware setup
Using the Kinect as an RGB camera, I was able to capture images and process them in OpenCV and Python. The program looks at an image of the board, labels the cards, finds sets, and reports them with a refresh rate of 0.25s on low powered laptop.
Here's a demo:
Demoing the product
I was very happy with what I was able to create in one weekend and ended up taking first in the hackathon.