AIML@TU

Multi-Club Mashup IV · Sept 29, 2026

MCM IV Retrospective

A look back at the Science Fiction mashup, and a field guide to how we built its live website, the AI Slop-etition and Ultra Jeopardy with Claude Code.

AIML@TUAIML@TUAIML@TUAIML@TUAIML@TUAIML@TUAIML@TUAIML@TUAIML@TU

AIML@TU · Retrospective + field guide

Multi-Club Mashup IV

How the mashup came together, and how we built the live website, AI Slop-etition, and Ultra Jeopardy with Claude Code.

Tue Sept 29, 2026 · 6–9 PM · ACSU Great Hall A

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · The road TO MCM-IV

Nineteen days from planning to doors

Sept 10

Planning Meeting #1

Clubs brainstorm a theme together

Sept 14

Theme vote closes

Discord vote picks Science Fiction

Sept 25

Portal + live page

Collaborator portal and live event page built in one afternoon

Sept 28

Planning Meeting #2

Final planning meeting with the collaborating clubs

Sept 29, 2 PM

Event-day build

Sponsor sidebar, Slop-etition uploads and voting

Sept 29, 6 PM

Doors open

Live fixes, and Ultra Jeopardy built mid-event

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · Run of show

Alternating 20-min Spotlight Activities with 20 min breaks 

TimeSpotlightClub
6:15 PMMCM-IV Kickoff & WelcomeAIML Club
6:30 PMTulsa Tossing Performance DemoTulsa Tossing Performing Arts
7:10 PMDigital Hygiene ChallengeWiCyS + Root66
7:50 PMJedi vs. Armored KnightHAMA
8:30 PMUltra JeopardyAIML Club
8:50 PMPrizes + Closing CeremonyAIML Club
HAMA's Jedi vs. Armored Knight duel on the main stage: a hooded Jedi with a lightsaber squares off with a challenger

Part 1 · The live page

The MCM IV live event page before doors: floor map with club logos, schedule, countdown, sponsor and vendor sidebar

Floor map with every club's table

Countdown to the next spotlight

Sidebar for the sponsor, food and prize vendors

Scan to follow along on your phone

AIML@TU · Multi-Club Mashup IV · Part 1: the event

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · Spotlights

Each spotlight took over the screen

Tulsa Tossing Performance Demo spotlight card

6:30 Tulsa Tossing

WiCyS Digital Hygiene Challenge spotlight card with the Blooket link

7:10 Digital Hygiene

HAMA Jedi vs. Armored Knight spotlight card

7:50 Jedi vs. Knight

Ultra Jeopardy spotlight card with a link to the game board

8:30 Ultra Jeopardy

Part 1 · On the floor

Background Activities

AIML Club

AI Slop-etition: hand-drawn AI slop

Tulsa Tossing

Performance demo with audience participation

HAMA

3D-printed lightsabers and Imperial propaganda

WiCyS + Root66

Cryptography challenges for an inflatable duck

Physics Students

Gyroscope and spinning-wheel demos

Women Engineers

Earring-making station

R.A.T.S.

RC robot race

LANBrew

Multiplayer gaming

IGDA

Alien-themed board and card games

Psych Club

Psychology activities

Tier List Club

Tier lists

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · On the floor

Scenes from the floor

The HAMA crew in costume around their table, with a knight's helmet, a hooded Jedi and lots of thumbs up

HAMA, helmets and robes included

R.A.T.S. members posing by their RC robot race track made of pool noodles

R.A.T.S. and their pool-noodle robot track

Students waving from the Society of Women Engineers table

Society of Women Engineers table

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · AI Slop-etition

QR photo upload -> auto-posted to page. 
Multiple rounds, voting, winner selection.

Closing ceremony card showing the AI Slop-etition winners from each round

Hall of slop

Appleina Chappelina

An apple on legs, tongue out. Round 1 champion.

SlyGPT and Shrimp Jesus

A dead heat in Round 2. Shrimp Jesus went on to name a Jeopardy team.

Meowgshot

A very, very buff cat. Round 3.

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · Ultra Jeopardy

The Dark Slide takes Ultra Jeopardy

The Ultra Jeopardy host console after Double Jeopardy: a cleared sci-fi board and the four teams' final scores

Teams named (and renamed) themselves from their phones:

The Dark Slide · champions

Among Us

Shrimp Jesus

Jedi Scum

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · Thank you

Made possible by

The clubs

AIML Club

Tulsa Tossing Performing Arts

WiCyS & Root66

HAMA

Society of Physics Students

Society of Women Engineers

R.A.T.S.

LANBrew

IGDA-TU

Psychology Club

TU Tier List Club

Martial Arts Club

Platinum sponsor

StayGold.Now

Prize vendors

66 & Sunny Trading Co. · Black Moth · Bodega by Umber · Boulevard Trash · Mother Road Market

Food

Mazzio's Pizza · King's Way Wings

Student Activities Board

Emi Sakamoto
Peter Nguyen

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 1 · Retrospective

What worked, and what we'd change

Worked

Locking the run of show early, so the page, portal and flyers all agreed

One live page on the projector with the map, schedule, countdown and QR codes

QR codes for everything: following along, uploads, votes and joining the game

Change

Slop-etition Round 4 got no entries: merge it into Round 3

Write down attendance, winners and scores on the night

Rehearse on the room's actual computer: Edge showed an old cached copy of the board

AIML@TU · Multi-Club Mashup IV · Part 1: the event

Part 2

Vibe engineering

How one club officer and Claude Code built the website, the AI Slop-etition and Ultra Jeopardy, including a game built while the event was running.

Part 2 · Architecture

Static pages and two tiny backends

Phones

Upload drawings, vote, buzz in

Room projector

Live event page, Jeopardy board

Organizer laptop

Jeopardy host console, admin scripts

GitHub Pages: static HTML, CSS and JavaScript

Published by deploy-to-public.sh from the main branch to the public branch, with no build step

Slop-etition Worker + D1 database

Photos resized on the phone and stored in D1; one changeable vote per phone per round

Ultra Jeopardy Worker + Durable Object

One game object handles every request in order, so the server decides who buzzed first

polls every 5–15 s

polls every 1–1.5 s

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering · Secrets live only in ~/.config and Cloudflare, never in the repo

Part 2 · How we worked

Ask, plan, build, verify, ship

01

Ask plainly

Requests in everyday words, batched after checking the page in a browser

02

Plan, ask back

Claude asks targeted questions first; that caught a voting-window conflict

03

Build in parallel

Write the rules down first, then agents build the backend, pages and content at once

04

Verify behavior

Screenshots at projector sizes, decoded QR codes, real requests to the live server

05

Ship on command

Deploy only when the organizer says so, then check the live site

“Please wait to deploy until I give the explicit order.”

The organizer, on event day

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering

Part 2 · Build log

Four working sessions

SessionWhenWhat shipped
007Sept 10–11Planning Meeting #1 deck, live about 25 minutes after its outline was written
009Sept 25–26Collaborator portal, rebuilt live page, one-screen layout, sci-fi effects
010Sept 29, 2–4:45 PMSponsor sidebar, view rotation, Slop-etition uploads, voting and winners
011Sept 29, event nightQR fix, WiCyS Blooket link, Ultra Jeopardy built from 7:42 to 8:15 PM

Every session left a transcript, notes and a handoff in the club repo's archive, so the next session picked up where the last left off.

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering

Part 2 · Live event page

A page that knows what time it is

The Kickoff spotlight card with the QR rail beside it

?at=19:15

Preview any moment of the night ahead of time; every screenshot here used it

20-minute spotlight cards

Then the floor map returns, taking turns with the Slop-etition gallery

QR codes always on screen

Follow-along, upload and vote codes beside every card

Sci-fi touches

5 text effects, 6 ambient effects and an original crawler

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering

Part 2 · AI Slop-etition

From an AirDrop idea to QR codes

Slop-etition upload page on a phone Slop-etition vote page on a phone showing entries and vote counts

The pivot

Plan A: AirDrop photos to a laptop running the projector. Then: “I'll be running the event from a school desktop hooked into the room projector.” Plan B: QR, upload page, Cloudflare Worker.

The rounds

Uploads close at 7:10, 7:50, 8:30 and 8:40. Voting opens as each round closes; one changeable vote per phone; winners are marked at 8:50.

Tested for real

A temporary schedule let us upload, vote and moderate on the live server, then wipe it to zero before doors.

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering

Part 2 · During the event

Fixing things with the doors open

6:23

Spotlight cards were hiding the QR codes. A shared QR rail was live and checked by 6:27.

6:28

The WiCyS Blooket link was added to their card, well ahead of 7:10.

7:42

“Now let's work on Ultra Jeopardy.” 48 minutes to showtime.

8:32

The projector showed blue lines in Edge. Clearing Edge's site data fixed it.

“MCM-IV is still going! We need to make a change to the live site.”

Dallas Elleman, 6:20 PM, mid-event

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering

Part 2 · Ultra Jeopardy

Built in 33 minutes, mid-event

7:42

The ask: teams, buzzers, scoring, surprises, 20 minutes

7:45

Four quick decisions: answers aloud, all wild cards, clues, host link

7:50

Rules and API written down in one contract file

7:50

Three agents in parallel: server, pages, clue set

7:53

Server live; every rule re-tested against it

8:00

Organizer plays a test game locally

8:12

Feedback: new header, all-sci-fi categories

8:15

Deployed and checked live; played at 8:30

The key choice: a separate server, so the live Slop-etition was never touched mid-event.

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering

Part 2 · Ultra Jeopardy

Three screens, one game server

Big-screen board showing a clue and the buzz queue

Board: the projector

Host console with the answer, the buzz queue and Correct and Wrong buttons

Host: sees answers, judges

Player phone showing the team has the floor

Phone: buzz

Daily Double wager

Wormhole swaps scores

Hallucination +3× / −2×

Steal from the leader

Lightning all can score

AIML@TU · Multi-Club Mashup IV · Part 2: vibe engineering

Why it mattered

More than a night of activities

Every corner of campus

Performers, hackers, physicists, engineers, robot builders, gamers and sword fighters on one floor

Students made the show

Their drawings, votes and team names filled the big screen all night

AI, made playful

Hand-drawn "AI slop" and a trivia game an AI helped build in the middle of the party

Built to be reused

The live page, Slop-etition and Ultra Jeopardy are ready for MCM V, or any club's next event

A full table of students smiling at the camera, with games on screens and busy tables behind them

At the WiCyS & Root66 table

AIML@TU · Multi-Club Mashup IV · Lessons and a playbook

Lessons in code

Paying the bug tax

Bug nameWhat happenedFix
stale-local-deploy-branchA deploy built on an out-of-date local copy of the live branchSync the public branch before every deploy
deploy-overlay-never-deletesFiles deleted on main stay on the live site (42 so far)Still open: issue #4
deploy-leaks-main-ignored-filesThe live branch had no ignore list, so server secrets could have shippedNever publish workers/; secrets stay in ~/.config
cached-asset-skewThe room PC kept a stale copy; a hard refresh didn't helpAdd version tags to CSS and JS links
grid-auto-column-blowoutThe Jeopardy header widened its column to about 34,000 px, breaking the lobby and final standingsOne CSS line; found while making this deck

AIML@TU · Multi-Club Mashup IV · Numbers, lessons and a playbook

For MCM V

A playbook for next semester

01

Know the room

Which computer runs the projector, and is it online? That shapes everything.

02

Reuse, don't rebuild

Archive this page, then copy it; both games take new schedules and clues.

03

Rehearse every hour

Step ?at= through the schedule on the real projector PC and a real phone.

04

Keep score, literally

One person records attendance, winners, scores and photos on the night.

05

Rules before code

Write the game rules and API down first, then build the pieces in parallel.

06

Check, don't trust

Screenshot at real sizes, scan every QR, test the live server yourself.

07

Deploy on purpose

Sync first, scan for personal info, then load the live site after.

08

Plan the data's end

Student drawings sit in a database; decide before the event when to delete them.

AIML@TU · Multi-Club Mashup IV · Numbers, lessons and a playbook

Multi-Club Mashup IV

Thank you


To every club, volunteer, sponsor and slop artist who made Sept 29 happen.

See you at MCM V.

A full table of students smiling at Multi-Club Mashup IV