Inspiration
Houndstooth is my signature. It's in my brand, my closet and my designs, so for a hackathon with such unconventional values, I turned it into a curse. What if a witch could weave houndstooth over you, live and the only way out was to outsmart her?
Don't just watch the demo: open the link, turn your sound on and let her hex you. Even better, grab someone and DUEL.
Warning: side effects include uncontrollable houndstooth and an urgent need for the winner's shower.
What it does
Houndstooth Hex is a live camera game. The Houndstooth Witch casts her spell and her pattern creeps over you: first your clothes, then your hair, then your skin, then the entire room.
- Solve her riddle to break the hex. Each riddle points to one of seven hand gestures. Hold the right one and the hex unravels. Guess wrong and it surges.
- She never runs out of riddles. After my handcrafted riddles, Featherless writes new ones in my style, live, so no one can memorize their way out.
- She can curse you personally. Give her a name and a public web page, and she reads it, finds the juiciest details, and writes a curse just for you.
- Duel a friend. It's much more fun this way. Split screen, two hexes, one riddle. Fastest counter-spell wins.
- Don't flip her off. There's a secret gesture she answers with pure rage.
When the round ends, a QR code sends the curse home with you. Houndstooth Hex: Unravel is a mobile arcade sequel where you pull loose threads, slash with golden shears, and fight off her hex bolts to survive as long as you can, then dare your friends to beat your time.
How I built it
- Body segmentation and gesture tracking run in the browser with MediaPipe, splitting each camera frame into clothes, hair, skin, and background, and reading hand gestures for up to two players.
- A custom WebGL shader weaves a houndstooth texture traced from my own reference swatch over each layer, preserving the fabric's real shadows so it looks like cloth, not a filter.
- Featherless writes the riddles, taunts, and personalized curses, with guardrails that reject any riddle that names a gesture or drifts out of English.
- Firecrawl reads a volunteer's public page, and Moss indexes it in-process and semantically searches for their role, work, wins, and passions to feed the curse.
- Chatforce built the Unravel sequel from a single design prompt and my own witch artwork.
- Zo hosts the game and a small Node server that keeps every API key off the public page, with rate limits and an operator PIN.
- The witch is my own AI-generated character, with her own intro and rage clips.
Challenges I ran into
- Making the pattern look like fabric instead of pixels. I rebuilt the tile from my reference swatch so the teeth stay crisp at any size.
- Getting voice and video sound to play on iPhone and iPad, which only allow audio started by a tap.
- Keeping an AI witch on script: no giveaway words, no other languages, and nothing unkind in a personal curse.
- Keeping duels fair when one player flips off the witch mid-round.
Accomplishments I'm proud of
- A live, public game that works on laptops, phones, and iPads.
- Five sponsor tools working together in one experience.
- A witch with a real personality: she riddles, taunts, curses by name and retaliates.
What I learned
Honestly? This game was built to be played by other people and I didn't invite enough of them in. A witch that hexes you is fun alone, but it comes alive when a judge, a sponsor, or the hacker at the next table steps into frame and duels you. I can see how much more impact Houndstooth Hex would have had if I'd pulled people over to play it throughout the day and that's a lesson I'm taking with me: my work gets better when I step out of my shell and bring people into it.
But I showed up. I understood the assignment and I delivered a live, working, genuinely original game with five sponsor tools and a sequel, in one day. I'm proud of myself for that.
What's next
A live leaderboard linking Unravel scores back to the stage, a shareable portrait of your hexed self and more witches in the same universe.
Log in or sign up for Devpost to join the conversation.