diff --git a/apps/web/app/home.css b/apps/web/app/home.css
index b263857e..d71ebe01 100644
--- a/apps/web/app/home.css
+++ b/apps/web/app/home.css
@@ -146,7 +146,7 @@
/* Grid layout for the headline / CTAs / lede triple.
* Mobile: single column, document order = headline → CTAs (50/50 row)
* → lede. So the CTAs sit above the fold without scrolling.
- * Desktop: 2-col grid — headline in col 1, CTAs in col 2, lede spans
+ * Desktop: 2-col grid, headline in col 1, CTAs in col 2, lede spans
* full width below. (Tim 2026-05-21) */
.vt-home-hero-top {
display: grid;
@@ -281,7 +281,7 @@
/* Tim 2026-06-05: top + bottom hairlines removed so the stats row
* lives inside the hero rhythm with no chrome of its own. The single
* gold divider between this row and the bet feature card comes from
- * the new .vt-home-stats-rule below — that's the only horizontal
+ * the new .vt-home-stats-rule below, that's the only horizontal
* line in this area now. */
padding-block: 0;
}
@@ -1233,7 +1233,7 @@
}
/* The image background. image-set picks WebP first then falls back to
* JPG. If the file is missing the layer is transparent and the
- * underlying #15151a + gradient takes over — section still ships. */
+ * underlying #15151a + gradient takes over, section still ships. */
.vt-bet-feature-bg {
position: absolute;
inset: 0;
@@ -1294,12 +1294,12 @@
}
.vt-bet-feature-headline em {
font-style: italic;
- /* Make "mental?" (the italic emphasis) WHITE per Tim 2026-06-05
- * while the design is still in this state. The question mark sits
- * inside the so it picks up the italic + colour automatically.
- * Slight WONK kicks the serif's swash details up. */
+ /* Gold italic, matches the /the-bet header treatment so "mental?"
+ * reads as the brand pun on both surfaces. Subtle text-shadow lifts
+ * the gold off the dark photo scrim. Tim 2026-06-05. */
font-variation-settings: "opsz" 120, "SOFT" 50, "WONK" 1;
- color: #ffffff;
+ color: #f6c64f;
+ text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}
.vt-bet-feature-shrug {
font-family: Fraunces, ui-serif, Georgia, serif;
@@ -1437,11 +1437,10 @@
column-gap: clamp(32px, 5vw, 64px);
}
}
-.vt-home-stats-rule {
- border: none;
- border-top: 1px solid rgba(245, 197, 66, 0.22);
- margin: clamp(20px, 3vw, 28px) 0 0;
-}
+/* .vt-home-stats-rule retired 2026-06-05, Tim wanted the divider
+ * between the stats row and the bet feature card gone entirely.
+ * Selector kept so any legacy markup still renders to nothing. */
+.vt-home-stats-rule { display: none; }
.vt-home-stats-countdown {
/* The compact countdown sits in its own grid cell so it can right-
* align cleanly against the stats row on desktop. */
@@ -1457,10 +1456,11 @@
* above the fold on most desktop viewports. */
.vt-home-section--bet {
border-top: none !important;
- padding-top: clamp(16px, 2vw, 24px);
+ padding-top: 0 !important;
+ margin-top: clamp(12px, 1.5vw, 20px);
}
-/* Compact countdown variant — used inline next to the stats row. */
+/* Compact countdown variant, used inline next to the stats row. */
.vt-countdown--compact {
padding: 0;
background: none;
diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx
index 7c446ef5..2a0fe3eb 100644
--- a/apps/web/app/page.tsx
+++ b/apps/web/app/page.tsx
@@ -1,11 +1,11 @@
/* eslint-disable react/no-unescaped-entities */
/**
- * Home page — sales / landing flow for play.tournamental.com.
+ * Home page, sales / landing flow for play.tournamental.com.
*
* Tim's brief 2026-05-13: the home page must be a sales page, not a
* news feed. Flow:
* 1. Hero with the platform's one-line pitch + primary CTAs.
- * 2. "Set your picks now" — the core game, single big CTA into the
+ * 2. "Set your picks now", the core game, single big CTA into the
* bracket builder.
* 3. 3D molecule callout (watch-along + interactive bracket
* molecule) with features and benefits.
@@ -172,7 +172,7 @@ export default async function HomePage(): Promise
- If you can predict every one of the 104 matches at the
- 2026 World Cup, I'll sign over what's left of
- my equity.
+ If you can predict the correct outcome of all 104 matches at the
+ 2026 World Cup, I'll give you my house.
- I'm Tim Thomas. New Zealand engineer. Twenty-six years
+ I'm Tim Thomas. New Zealand entrepreneur. Twenty-six years
building websites and apps. The last three weeks of those
years, I built a FIFA World Cup prediction game.
{step2Headline}
diff --git a/apps/web/app/the-bet/page.tsx b/apps/web/app/the-bet/page.tsx
index 637ce4d0..ea8bc910 100644
--- a/apps/web/app/the-bet/page.tsx
+++ b/apps/web/app/the-bet/page.tsx
@@ -1,5 +1,5 @@
/**
- * /the-bet — the house-prize promotion long-form, on the play app.
+ * /the-bet, the house-prize promotion long-form, on the play app.
*
* Lives on play.tournamental.com because the bet is FIFA-WC-bracket
* specific and ties to the predictions database that the play app
@@ -44,9 +44,8 @@ export default function TheBetPage(): JSX.Element {
Am I mental for betting my house on it?
It's worth NZ$1.5 million.
+Quick honesty break.
@@ -103,8 +102,7 @@ export default function TheBetPage(): JSX.Element {If one person, anywhere in the world, predicts every one of - the 104 matches correctly through{" "} - Tournamental.com, + the 104 matches correctly through play.tournamental.com, I list the house, settle the bank, and wire the rest to their account.
@@ -121,14 +119,17 @@ export default function TheBetPage(): JSX.Element { need every pick locked in by the kickoff of its own match. -- 104 matches. Three outcomes each that count as a pick: home - win, draw, away win. + 104 matches in total. The group stage has 72 matches, each + with three possible outcomes (home win, draw, away win). The + knockout rounds have 32 matches, each with two outcomes (the + team that progresses, or the team that doesn't).
- Three to the power of one hundred and four is a number with{" "} - fifty digits.{" "} + Multiply that out: 372 × 232. The + answer is a number with{" "} + 44 digits, roughly 9.7 followed by 43 zeros.{" "} See the maths.
@@ -169,7 +170,7 @@ export default function TheBetPage(): JSX.Element {
Smart question. You shouldn't trust me; you should trust - the code, it's 100% open-source. + the code, it's 100% open-source on GitHub.
Every match kickoff, Tournamental hashes the predictions @@ -197,23 +198,28 @@ export default function TheBetPage(): JSX.Element { prediction game is the perfect engagement vehicle. Tournamental is the best one I could possibly build.
-I'm proud of it. I want people to play it.
+I'm proud of it. I want people to play it.
+I've built it to handle 100,000+ concurrent users and want to put it to the test.
The fastest way for one Kiwi developer to be heard above five thousand other product launches in June 2026 is to put my house on the line and mean it. Done.
+Yes, it's a publicity stunt, but it's a bloody good story isn't it? + Will it work? I don't know. We'll see. +
+I'm a little bit torn doing this, and maybe mental. It's all in the name, I'm Tournamental.
- Side note: I built this in three weeks. That part + I built this in three weeks. That part shouldn't be possible either. AI coding tools changed what one developer can ship. The whole thing, sign-in, brackets, leaderboards, the 3D match renderer, 21 languages, the Bitcoin-blockchain audit trail, was one person at a laptop.
- If you're in the New Zealand tech industry and - you're reading this thinking “wait, three - weeks?”, yes. Three weeks. Welcome to 2026. + If you're reading this thinking “wait, three + weeks?”, yes. Three weeks. It would have taken 6 months and 6 figures to build this for the 2022 World Cup. + Welcome to 2026. Maybe there'll be a team of Optimuls robots playing in the 2030 World Cup? Elon?
Short version: open globally, 18+, one bracket per person. You must register with a valid mobile phone number and - verify the one-time code we send you — that's the + verify the one-time code we send you, that's the eligibility check. Picks lock at each match's kickoff. The prize is the{" "} net cash proceeds from the sale of the house{" "} @@ -267,25 +273,20 @@ export default function TheBetPage(): JSX.Element { winner. If two people somehow both go 104-for-104, the proceeds split.
-- Tournamental is run by Growth Spurt Ltd, - Auckland. -
+See you on the leaderboard.
- Tim Thomas, Tournamental
+ Tim Thomas,
Tournamental
info@tournamental.com
For immediate release
+5 June 2026, Auckland, New Zealand
+In a week when the biggest sporting event on Earth kicks off in Mexico, Canada and the United States, an Auckland software developer is putting his entire property on the line as the prize in a free, global prediction game he built solo in three weeks.
+ +Tim Thomas (+64 21 535 832, info@tournamental.com) is the founder of Tournamental (play.tournamental.com), a tamper-proof FIFA World Cup bracket-prediction platform. The promise is simple: if any single person, anywhere in the world, correctly predicts the result of all 104 matches at FIFA World Cup 2026, Thomas will sell his Auckland home, pay off the bank, and wire the net cash proceeds (an estimated NZ$700,000 at today's valuation) to the winner.
+ +The platform launches publicly seven days before the opening match on 11 June.
+ +"A team of six developers would have taken six months to build this two years ago. AI tooling let me do it solo in three weeks," said Thomas. "The tournament is the biggest sporting event on Earth. Every breakfast show, every football podcast, every workplace Slack channel is going to be talking about it for five weeks. I've built the engagement layer they can drop straight in, free, branded as theirs, and I'm betting my house that nobody can beat the maths."+ +
The full long-form letter from the founder is published at play.tournamental.com/the-bet, with the probability working at play.tournamental.com/odds and the public terms at play.tournamental.com/terms/house-prize.
+ +Any TV show, radio station, podcast, newspaper or influencer covering the World Cup can spin up a free, branded Tournamental pool in five minutes and put it in front of their audience as a five-week engagement hook. The pitch writes itself: every listener, viewer or reader who joins the pool is one bracket closer to being the person who wins Tim's house.
+ +The branded pool keeps the show's logo, colours, and presenter copy. The leaderboard updates live. The audience can edit picks all the way up to each match's kickoff. The show gets daily on-air talking points ("76% of you picked Brazil to beat Croatia, here's what changed today") and five weeks of guaranteed audience return.
+ +If one of the show's audience members happens to be the one in 10 thousand trillion trillion who nails 104 from 104, the keys to Tim's house get wired to them via Tournamental.
+ +"I want broadcasters to encourage their audiences to take my house off me," said Thomas. "If someone wins, I lose the house but I'd love to know I gave it away off the back of a podcast or a breakfast show. That's the dream version of this story."+
Thomas, who has been building websites and apps for 26 years and runs Growth Spurt, an Auckland-based web agency, says the bet is the fastest way for a single solo developer to be heard above the noise of other product launches in June 2026.
+ +"I'm not insured. I'm not running a sweepstake. I built the system, I know the maths, and I'd rather skin in the game than skin in an insurance broker's fine print. If someone nails 104 from 104, the bank gets paid out of the sale, the winner gets the cheque, and I'm moving back in with mum at age 50."+ +
There are 104 matches in the 2026 FIFA World Cup. The group stage accounts for 72 of those, each with three possible outcomes (home win, draw, away win). The knockout rounds account for the remaining 32 matches, each with two possible outcomes (the team that progresses, or the team that does not).
+ +The total number of distinct possible 104-match brackets is therefore 3 to the power of 72, multiplied by 2 to the power of 32. The answer is a number with 44 digits, approximately 9.74 followed by 43 zeros.
+ +For context, ESPN has run a March Madness bracket challenge since 1998, with millions of entries every single year. Each ESPN bracket covers 63 matches, with two possible outcomes per match (basketball, no draws). The total combinatorial space for an ESPN bracket is 2 to the power of 63, approximately 9.2 quintillion. In 27 years of ESPN tracking, nobody has ever submitted a perfect bracket.
+ +Tournamental has 104 matches, and a combinatorial space approximately 10 thousand trillion trillion times larger.
+ +The full working is at play.tournamental.com/odds.
+ +Every match kickoff, Tournamental hashes the entire predictions database and commits the hash to the Bitcoin blockchain via OpenTimestamps. The script is open-source. The audit trail is publicly verifiable at play.tournamental.com/verify.
+ +If Thomas (or any external attacker) altered a single pick after a match kicked off, the new hash would not match the on-chain commitment, and any auditor could prove it within minutes using a public command-line tool. Picks become immutable the moment their match kicks off, on the authority of the Bitcoin blockchain.
+ +The full source code is open under Apache 2.0 at github.com/0800tim/tournamental and is self-hostable by any organisation that wants to run its own pool under its own infrastructure.
+ +The platform is free for accredited media partners through the 2026 cycle.
+ +Open globally to anyone 18 or over. Free to enter. The only condition is that entrants register with a valid mobile phone number and verify the one-time code, so the Promoter can confirm eligibility if there is a winner. Picks lock at each match's kickoff. Full terms at play.tournamental.com/terms/house-prize.
+ +No passwords stored. No third-party ad tracking. No data sale to external parties. New Zealand-based operations.
+ +Tournamental is a subsidiary of Growth Spurt Ltd, a technology company based in Auckland, New Zealand. The platform is open-source under the Apache 2.0 licence.
+ +Tim Thomas is available for live and recorded interviews from Auckland on short notice over the seven days leading up to the tournament, and throughout the tournament itself. He can speak to:
+ +Press contact
+Tim Thomas, Founder
+Tournamental (a subsidiary of Growth Spurt Ltd, Auckland)
++64 21 535 832 (WhatsApp, voice, SMS)
+info@tournamental.com
+ +ends
+ + + diff --git a/apps/web/public/press/tournamental-press-release-2026-06-05.pdf b/apps/web/public/press/tournamental-press-release-2026-06-05.pdf new file mode 100644 index 00000000..4ca5ce2b Binary files /dev/null and b/apps/web/public/press/tournamental-press-release-2026-06-05.pdf differ