Eric St. Onge



Tarot Trunk

A mystical physical computing device that tells users' fortunes via Twitter.


Fall 2009

Student Project

SVA MFA Interaction Design

Fundamentals of Physical Computing

Designer & Programmer


Working with Derek Chan and Russ Maschmeyer, I helped to build a physical computing device that tells its users' fortunes via Twitter. Here's a video of Russ Maschmeyer demoing the device:


The Tarot Trunk is a device that can tell a user's fortune by reading tarot cards. First, the user chooses the topic of the fortune: Love, Money, Health, or Career.

Next, the user can pull three cards from the deck of tarot cards.

The user would then place the cards into slots on the device.

After all three cards have been inserted, the crystal ball starts to glow, and the user must place his or her hands on the ball to get their fortune.

After the user place their hands on the crystal ball, the Tarot Trunk starts communicating with a web service that is invisible to the user. The web service posts a request to Twitter under the username @TarotTweeter asking for followers to submit a fortune. The service takes the first response and sends it back to the Tarot Trunk.

The Tarot Trunk then prints out the fortune on a receipt.


Our group started with the idea of a toy or game that interfaces with Twitter. We were interested in the idea of a single person playing against everyone on Twitter. After iterating on that concept, we landed on the idea of a role reversal for fortune telling: a user of the device would ask to have their fortune told, and everyone one Twitter would have a chance to provide that fortune.

To that end, the device has two components.

The first is the physical trunk, as described above. It runs Arduino and has inputs to choose tarot cards, a dial to choose a topic, and a crystal ball to start the fortune telling process. It also has a salvaged receipt printer that serves as the output for the device. It prints a receipt that contains the fortune.

The second component is a service that integrates with Twitter. When a user submits a fortune, the trunk talks to a web service. It checks its database to see if it has any reasonable fortunes that match the topic and the cards submitted. If not, it sends the request to Twitter and waits for the first response. It sends that first response back to the device, which prints it out.

My Role

My roles in this project were designer and developer. I worked with Russ and Derek to develop the concept of what it should do. I wrote a web service that lives separately from the device that interfaces with Twitter, and I wrote the corresponding client code for the device. I wired up some of the Arduino components, including the receipt printer. I also helped in the production of the final device.

Additional Resources