Interaction Design · Web
The Pigeon Oracle
Overview
A scroll-driven web app that answers the questions keeping you up at night, by way of a 3D pigeon.
Deliverables
Process
Concept
A Magic 8-Ball whose oracle is a 3D pigeon you wind up by scrolling.
Frame Sequence
Twenty-four frames of the 3D pigeon, rendered as a flipbook and mapped to scroll depth. All preloaded so it never flickers.
Copy & Build
Wrote 24 responses before any code, then built the whole thing in a week with an AI dev partner.
Background
Problem
The brief was self-imposed: build something interactive, ship it, no developer. The hard part was discipline. Vibe coding makes it easy to get something running and hard to make it good. The risk wasn't a broken app but a sloppy one that looked like a demo instead of a design decision. The goal was to hold the same visual control over an interactive medium that a printed page would get.
Solution
The visual system was set early and held. Misty White and Asphalt for a cool field, with Pigeon Eye Orange saved for interaction and nothing else. Type did the rest: Space Grotesk for headers, EB Garamond italic to soften it, JetBrains Mono for the pigeon's answers, set like a receipt so the absurd replies read as official. The copy was written before any code, like headlines.
Research & Audience
There's no serious audience for a pigeon oracle, which is the point. It's for the kind of person who forwards weird links and notices when a joke is well made.
The reference wasn't other novelty apps. It was editorial sites and interactive art, where a tight type system and a restrained palette make something feel considered. The question was whether that could survive a bird pun.
Project Details
Client: Self-initiated
Tools: HTML, JavaScript, Tailwind CSS, Claude (AI pair programming)
Skills: Interactive design, scroll-driven animation, type systems, UX, copywriting
Role: Solo. Designed and built with Claude as a dev partner
Timeline: 1.5 weeks
Shipped in a week and a half, blank file to live URL. The fastest interactive build yet, and a reminder that the bottleneck usually isn't the code. It's deciding what the thing should be.