each of us writing our lines of poetry
was playing, now in this meter, now in that one,
delivering lines in turn while laughing and [drinking] wine. —Catullus 50
I was glancing through the SCAV 20261 list during the NeurIPS push, and the description for an Automated Tarot Machine (abbreviated ATM) came up.
It was a showcase item (worth many points), it looked like a challenge, and it was absurd in a way that tickled my sense of humour, so I got pretty excited. Once the conference deadline passed, I was off to scavving. I enumerated my home inventory in my head, and realized that I had many of the items to make this happen — a deck of Tarot cards I've never used or known how to use from an estate sale last summer, a Raspberry Pi, a DAC HAT for the Pi, and an analog speaker.
Now, having lived in Woodlawn for two years, a house without a SCAV team and now living in a flat off campus, I didn't have an obvious team in mind to SCAV for, so on Thursday I went about searching for a team that would welcome my enthusiasm, and my friend Izzy connected me to the Burton-Judson (BJ) dorm team.
Even before I found a team, I was thinking through the execution plans. There's a Pareto curve of coolness and feasibility. I had one day and a half and a modest budget, and wanted to make the best ATM that I could. I considered a card shuffler paired with an image sensor. Or using good-old-fashioned punched holes in the Tarot card (with 7 holes since 27 > 78 tarot cards > 26) to encode the card meaning like a Jacquard loom of faith. Or having the cards lined up on a circle with a hand in the middle to kick 3 cards out. With the principle of no-screens and tractability, I went with this plan: a Raspberry Pi takes in some input, processes it, and prints a reading plus interpretation out; a speaker plays mysterious music while instructing the user like an actual ATM.
Friday afternoon. I needed a mechanical keyboard with a USB connector, since bluetooth connection would be unstable. I recalled that two years ago when I first got access to the CS department compute cluster, I was given some old spare trackpads. I tried my luck there this time, and after explaining that I was building an automated Tarot machine for SCAV, the tech staff team happily let me take a keyboard. The only component I needed to acquire now was a printer. Rather serendipitously, the only thermal printer I could find that supported linux and arrived on time was a 4''×6'' label printer, so the final product ended up having the added benefit of being a cool laptop sticker.
I caught up on some sleep on Friday night2, and on Saturday afternoon, I sketched a plan with Marcus, took the components to the BJ team headquarters, sadly barely missing the part where the team set a tinfoil hamster on fire in a microwave for "25 warm and cozy points".
I arrived at the headquarters in which I was about to spend the next 10 hours, a dim basement space carpeted in blue, right outside the laundry room, scattered with glue guns, planks, cotton, scissors, and stuffed testicles. I had unit-tested all my components, loaded Raspberry OS Lite onto my Pi, and had a vague idea of what to code into the Raspberry Pi and how to display it. Time to embody the Ten of Wands and get to work.
I had a copy of the 1971 Rider-Waite tarot deck, which I found out had an open-sourced scan of each card. All that was needed was converting it to black and white.
The thermal printer was surprisingly high quality! I formatted a 4''×6'' design into the shape of an ATM receipt and inserted lorem ipsum text for the interpretation for now.3
Instructions were mostly given through the speaker, which also played the Introitus of Mozart's Requiem on repeat. After testing some truly robotic voices, I went to a corner facing the bathroom, breathed in deep, expanded my ribs, and narrated some instructions my friend the next day, terrified, identified as AI.
Now I know how to sound like subway announcements.
There were a few ways I could've gone about the "non-random" fortune-telling algorithm. I didn't quite enjoy the Claude-generated interpretations and wanted to go for something more scrappy. LLM-generated readings felt anti-mystical. The I Ching was my model of divination and its terseness was the opposite of an LLM. I briefly considered running a <100MB word embedding model to match cards to questions, but given that even an 8B Embedding model had not been great at semantic clustering, thought it would probably be effort wasted. I ended up regex matching on question topics (with a lovely hit rate of 59% on common Tarot questions pulled from the internet) which yielded a score on dimensions like 'time' and 'heart'. Then the question scores were matched to the cards, each tagged along the same dimensions. Regex, rather delightfully, was the technological contemporary of a cash ATM.4
I pulled a library of card-meanings as interpretation for each card. After seeing a few oddballs in the test runs ("This card represents an older man with an insightful, deliberate spirit, likely born between May 11th and June 10th"), I decided to hand-prune the 78 card meanings and ended up rewriting most of the interpretations (this is a habit I got from manually inspecting LLM-generated finetuning datasets in my most recent research). Some friends of mine say I have a knack for uttering profound-sounding strings at a snap. Profundity may not be the right word, but this skill certainly came in useful. Some highlights: Queen of Cups, the water knows the shape of what you carry; King of Wands, the fire speaks first, all other voices wait; The Star, Starstruck and star-crossed.
I was tempted to create polyhedral constructions with the Tarot cards, but it seemed a little sacrilegious and impractical. Instead, I was offered as a base a rather imposing and tippidy wooden structure. Marcus then brought me to the BJ SCAV room to dig up some materials. Among them he listed a full set of saw blades without a handle; DELL computers from the last century; leftover materials from previous SCAVs. We made many turns in the winding corridors under the low buzz of the BJ basement. We scavenged for a good box amongst a pile of planks, old keyboards and flattened cardboard boxes, and took a roll of Kraft paper, a plastic crate, and two glass boxes. A vision was in the cards.
Noah and I wrapped the Kraft paper around the wooden scaffold. The reading would be printed behind the veil of the Kraft paper and channeled through a slit. Noah and Piyush painted the entirety of the box black — indeed matching with the twin BJ showcase item, a "space-themed activity cube with an interactive bead diagram of space to teach navigation, translations of alien languages, breathing in low-oxygen environments, grappling with the impenetrable loneliness of space." We placed the keyboard on top, the speakers behind, and propped the thermal printer up with the crates and glass boxes.
Sunday 2am. I needed to sleep. I handed off the work rather gratefully to Noah, who, as part of his all-nighter for SCAV, tiled the cards on the box. Nathan sawed wood and propped the Fool card up. While all this was happening, I lay on my sofa, restless with anticipation.
And I left from there [so] inflamed
by your charm and wit, Licinius,
that neither did food placate poor me
nor did sleep shut my little eyes in peace,
but rather I tossed about on the whole couch
from uncontrollable spasms, wishing to see the light —Catullus 50
8:30 am. May 8th, 2026. Ida Noyes Hall. The ATM box was ready and carried over by the team from BJ. I brought the electric components and started re-assembling them. At 9am the somber music of the Requiem was flowing as the thermal printer cranked out some beautiful little artefacts.
9:30am, showcase judge time. When the SCAV judges came to the Big Burton section, we presented the activity cube first, and then I introduced the ATM: "It's a moonless Sunday morning and you're pondering deep philosophical questions. You'd like a psychic to give you the answer, but they are too far. Worry not! There's an ATM down the road....."
Seeing people lean in and listen to the ATM instruction, type in questions about their octopus pet or just their name, watch with wonder as the machine prints out a custom reading, and ponder the somewhat cryptic messages with their friends brought me so much joy.5
I went around visiting other teams' booths. One group ended up running an LLM-powered custom-music app on a laptop. A human dispensed the cards behind a carefully painted box. An alumni team made 16 hand-drawn hockey-themed Tarot cards and a circular device with a crank that picked the cards, also powered by a Raspberry Pi. They said they don't know if the machine will work, though I admired the spirit, since they did what I didn't think any team would possibly attempt, in the true spirit of SCAV.
We won 3rd at SCAV this year. I really loved the enthusiasm of the Big Burton team, and it was no wonder such a small team could place so high.
My half-dead limbs lay strewn across the couch
exhausted by their exertion,
but, delightful [friend], I made [this] poem for you —Catullus 50
UChicago has always been a very serious place to me, almost too somber. It's the lone midnight walks from Harper, snowboots crunching gray ice. But when people at UChicago have fun, the flavour of fun is serious. I do hope I carry with me this piece of myself that is thrilled by elaborate play, because that is the day-to-day relationship I wish to have with my research and my work.
Thank you to the BJ team whom I worked with for making this happen — Marcus, Mirabella, Piyush, Nathan6, and especially Noah for painting and decorating the ATM overnight. Thank you to Izzy for connecting me with the team, the Tech Staff team for supplying a mechanical keyboard, my friends for discussions and sharing the fun, and the SCAV judges for organizing a wonderful Hunt.
1 SCAV, annual UChicago tradition since 1987. Past items include a nuclear breeder reactor, paper copy of the 2026 SCAV list in outer space, and a Scavvenwedding.
2 Marcus was one of the team captains for Big Burton. The team had gotten pretty worried by that point, since I had been no contact for 13 hours.
3 Fittingly, both lorem ipsum's usage as gibberish filler in print (taken from Cicero) and Tarot's precursor Tarocchini plausibly emerged around the mid-Italian Renaissance.
4 Kleene formalized 'regular language' in the 50s, and ATMs were invented by Luther Simjian and deployed in the 60s.
5 It was also gratifying when one of the SCAV judges called this the best item they've seen in three years.
6 Thanks for calling me deus ex machina. I don't think I'll ever get that in my life.