The Whip's landing page ("Count every vote. Own every race.") in a browser, with the draft room on a phone in front, on a dark stage with a gold glow.

More work

SumUp AI Promotions

Pre-launch

I'm designing AI that writes loyalty promotions for small-business owners, and says how sure it is.

It hasn't shipped yet, so the details stay off the site for now. I'm happy to walk you through it in person.

Want to hear more? Get in touch

The Whip

Intro

Most people are passive participants on election night. The Whip makes the 2026 US midterms something you can play with friends. You join a league, draft candidates across House, Senate and primary races, and call each winner and a margin: close, moderate or blowout. Then you watch an upset-weighted leaderboard move as real results come in.

Build

I did everything solo: product, design system, build and launch, with Claude Code doing the typing. The app runs on React and TypeScript across ten routes, and every screen is designed for its loading, empty, error and populated states on desktop and mobile. Mobile isn’t just reflowed. The draft room’s split view becomes a switch, and modals become bottom sheets. The race browser is a dense table rather than cards, because people use it to scan and compare.

Design

The Whip is non-partisan by design. Gold anchors the brand, so blue and red can only ever mean party. Light mode is re-derived rather than inverted, so the gold stays readable.

Scoring

Points scale with risk. A called toss-up is worth about seven times a safe seat, and upsets pay a bonus. Because the scoring is the product, 39 of the app’s 212 automated tests cover just the scoring engine.

Where Claude got it wrong

Participants in the mock rounds missed the chamber call tiebreaker, which had ended up tucked inside the roster card. Testing with those leagues helped me catch it before launch.

Launch

The Whip launched on October 14, 2026 at playthewhip.com, after testing with 26 users and two live leagues. Election night is the real test.

Want to hear more? Get in touch