About this hub
A live, public fan wall for the 2026 World Cup. Built to show what's possible when you put a real social-aggregation API behind a few hundred lines of code.
What you're looking at
Every qualified nation has a feed. Each feed pulls public posts from Instagram and TikTok that carry one of the verified fan hashtags or come from curated accounts (federations, players, journalists). The leaderboard ranks nations every 60 seconds by a "loudness" score: post count, weighted by likes and comments.
Wall mode shows the freshest fan photos and videos across all 48 nations as an auto-scrolling mosaic. Match-day mode brings two nations side-by-side with a live "louder than" gauge. Country pages add a Claude-scored sentiment read-out so you can see at a glance whether the fan mood is joy, hope, nerves, despair, or rage.
How loudness is calculated
Loudness is a single number per nation. The formula: number of posts in a rolling time window, weighted by their likes and comments. Higher engagement per post counts more than just raw volume.
The leaderboard uses a 7-day rolling window. That means it ranks by how much a country's fans posted, liked and commented in the last week. A country with one viral post from a month ago does not stay at the top forever, the window forces freshness.
Why country pages can show more posts than the leaderboard reports: the leaderboard counts only posts inside the 7-day window. A country page shows every post Juicer currently has on file for that nation, which can include older posts that survived moderation. So if France shows 41 posts on its country page but 12 on the leaderboard, that means 12 are from the last week and the other 29 are older but still readable.
How the hashtags were chosen
For each nation we picked the primary hashtag the official federation uses on Instagram and TikTok, plus one alternative fans gravitate to during matchdays. We deliberately avoided federation acronyms (RFEF, DFB), retired campaign tags (Die Mannschaft, deprecated in 2022) and generic country names where a fan-specific tag exists.
A few honest caveats: Germany has no fan-rally hashtag anymore, which is going to make them look quieter than they actually are. Brazil rebranded their Instagram from @cbf_futebol to @brasil in July 2025 so volume on #Seleção dipped. Several MENA nations (Egypt, Jordan, Saudi Arabia, Tunisia, Iraq) primarily use Arabic-script hashtags on their federation accounts; the Latin transliterations we're using here will pull noticeably less than the native tags would.
The stack
Next.js App Router on Netlify, talking to the Juicer API. One feed per nation, sources on Instagram and TikTok, polled every minute and cached at the edge for 5 minutes. Sentiment scoring is one Claude Haiku call per country, cached in Supabase keyed by a hash of the visible post IDs so it only re-runs when the feed actually changes.
The whole hub is roughly 1,500 lines of TypeScript. Pasted into a Bolt prompt it would build in an afternoon. The point of this thing is not what it shows, it's how little code it took to show it. That's the entire pitch for the Juicer API.
Not affiliated
This is a public showcase built by Juicer, the social media aggregation company. We are not affiliated with FIFA, any confederation, any national football association, or the tournament itself. We are not using any official marks, logos, or trophy imagery. The flags are public-domain Unicode characters and the hashtags are public fan-coined tags.
All nations covered
- 🇪🇸Spain#LaRoja
- 🇫🇷France#LesBleus
- 🏴England#ThreeLions
- 🇩🇪Germany#Nationalelf
- 🇵🇹Portugal#VaiDarPortugal
- 🇳🇱Netherlands#NothingLikeOranje
- 🇧🇦Bosnia and Herzegovina#Zmajevi
- 🇧🇪Belgium#RedDevils
- 🇭🇷Croatia#Vatreni
- 🇨🇭Switzerland#Nati
- 🇸🇪Sweden#Blagult
- 🇦🇹Austria#GemeinsamOesterreich
- 🇹🇷Türkiye#BizimCocuklar
- 🇳🇴Norway#sterkeresammen
- 🇨🇿Czechia#ceskarepre
- 🏴Scotland#TartanArmy