Skip to content
Case study 03 · Web app

Hattle

who'd you get? A World Cup sweepstake app, sketched on paper and shipped in 8 hours.

The World Cup 2026 edition

  • Year2026
  • RoleBrand, design and build
  • Timeline8 hours, May 2026
  • StageLive
  • Base44
  • React
  • Tailwind CSS
  • openfootball data
The Hattle homepage during the 2026 World Cup: a sticker wall around the HATTLE wordmark, the scribble who'd you get?, a Free forever badge and two buttons.
who'd you get?
Shipped in 8 hours

A sweepstake app for the 2026 World Cup. It dealt all 48 teams out with a draw anyone could verify, tracked every fixture and never touched a penny. Sketched on paper, shipped in 8 hours.

The palette

Pick a colour to copy it

At a glance

Project
Hattle
What
Web app
Role
Brand, design and build
Timeline
8 hours, May 2026
Year
2026
Stage
Live
Built with
Base44, React, Tailwind CSS, openfootball data
hours from sketch to shipped
8
teams dealt at random
48
pennies handled. Ever.
0
Sketched on paper, shipped in 8 hours.open it full size
01

The problem

My mates ran their World Cup sweepstake on a spreadsheet. It had bugs. Two people ended up with the same team. By the group stage nobody trusted the standings, and the slagging stopped working because half the group thought the table was wrong.

Every tournament, the same broken setup. So I built the thing they actually needed.

02

The approach

Paper first. Before I touched a keyboard, I sketched the whole system: the draw, the scoring, the money tab, and how debts would settle between people. Get the logic right on paper and the build becomes typing.

Then the brand. I called it Football Frenzy: sunshine yellow, cream, navy outlines, red marker headlines, gold accents and hard offset shadows. Anton for the big headlines, Caveat Brush for the scribbles, Inter for the body and Space Mono for the scoreboard digits. Sticker-doodle on purpose, so it looks like a person made it.

Then eight hours of focus.

The draw deals all 48 teams.open it full size
03

What I built

The hard part of a sweepstake is making "fair" something you can check.

Hattle's draw is a seeded Fisher-Yates shuffle. Every draw gets a seed, and anyone can paste it back in on a public verify page to re-run the exact same draw. Nobody, me included, can rig who gets which team.

Around that:

What's inside

  • A draw anyone can verify

    A seeded Fisher-Yates shuffle. Paste the seed back in and you get the exact same draw.

  • A public verify page

    Don't trust the organiser. Check the draw yourself.

  • Solo or multiplayer

    One person runs the pool, or everyone gets their own dashboard.

  • Real fixtures

    Every match from openfootball, a public-domain (CC0) dataset.

  • A two-sided money tab

    Tracks who owes who. One marks it paid, the other confirms.

  • Football Frenzy

    Yellow, navy, red and a lot of stickers. It looks like someone made it.

It never touches the cash. No payments, no payouts, no holding money. It just keeps score.

04

How it went

Hattle was my entry for Base44's Vibe Sprint: Championship Edition. Brand, landing page, sign-in, the draw, fixture sync, scoring, the money tab and multiplayer pools, all shipped in one eight-hour stretch in May 2026.

Real groups ran their World Cup sweepstakes on it through the tournament. The spreadsheet did not survive.

The problem Hattle fixes.open it full size

we keep score, not your cash.

Hattle's footer
Gallery

Open any of them full size.

We keep the tab. Never the cash.

Built for the group chat.

Three steps, thumb-sized.

  • Three steps, then chaos.

  • Provably fair, explained.

The short version

  • Sketched on paper, shipped in 8 hours (May 2026)
  • A seeded, verifiable Fisher-Yates draw
  • Real fixtures from openfootball (CC0)
  • Never touches the cash
  • Entered in Base44's Vibe Sprint: Championship Edition

Did this one land?

Leave a reaction. It's anonymous and it makes my day.

React to this

Want one of these?

Tell me what you're working on. If I'm not the right fit, I'll say so.