Case Distillery
Issue #016 Jul 09, 2026 · Distribution

127K FIFA Cards in 48 Hours, Zero Emails Captured

45,000 developers walked through gitfut.com in 48 hours. 127,000 FIFA Ultimate Team cards were generated. 820 GitHub stars piled on. Zero emails captured. Zero dollars collected. A solo builder named Younes shipped a weekend toy during the World Cup, hit the front page of two subreddits, and turned his hosting bill into a status symbol. The traffic is the story every reader will retell. The miss is the story only you will read.

The Case: 45K visitors in 48 hours, $0 in revenue

What he does. Built gitfut.com, a free web app that turns any GitHub profile into a FIFA Ultimate Team card rated out of 99 using public stats: commits, stars, top languages, followers, account age.

Backstory. The World Cup is on and half the internet is talking about football. FIFA card visuals are burned into every gamer's cortex from a decade of FUT packs. GitHub's public API returns a full profile in one call. The intersection of sports-card nostalgia, developer ego, and tournament attention opens for roughly six weeks and then closes. Younes shipped into the window.

Product. - Enter a GitHub username, get a shareable FIFA card in seconds - Rating out of 99 derived from real public stats - Auto-detects country flag from the profile location field - Editable card details before sharing (users can fix mismatches) - One-click download and cross-post to X, Reddit, LinkedIn - Open-source repo, MIT-style, growing star count

Pricing. $0 one-time. $0/mo. No paid tier exists.

Key numbers. - 48h visitors: 45,000 - Cards generated in 48h: 127,000 (2.8 cards per visitor) - GitHub repo stars: 820 and climbing - r/SideProject launch post: 1,207 upvotes, 216 comments - r/coolgithubprojects: #1 spot, 300 votes - Emails captured: 0 - Paid conversions: 0 - Revenue to date: $0 - Estimated build time: one weekend - Estimated hosting cost at 127K renders: $20-50 (cached edge)

Stack. Next.js, GitHub REST API, Vercel edge functions, Satori/Resvg for image render, Tailwind, OpenScreen for the launch demo video.

Why this works (and what most readers will miss)

1. The share loop is the product. Every card is a self-portrait with a numeric score attached, which means every card is either a flex or a self-deprecating joke — both post. Cards-generated-per-visitor is 2.8x, meaning the average user makes their own, then their teammates', then their tech hero's. That's not a website with virality bolted on. That's a virality engine with a website skin.

2. The World Cup did the marketing. He didn't build the FIFA visual grammar — EA spent fifteen years and hundreds of millions doing that. He didn't build the tournament attention — broadcasters did. He built a small plug that connects two rivers of borrowed attention to one narrow developer surface. This is arbitrage on cultural infrastructure, not invention.

3. He accidentally minted a dev metric. Developers have no clean composite score. Followers, stars, contribution streaks — all fragmentary, none legible outside GitHub. "GitFut 94" fits in a Twitter bio. Metrics that fit in bios become identity. Identity becomes moat. He almost certainly hasn't noticed yet.

The Distilled Read

Productize the toy or the toy dies with the tournament. Right now gitfut is a moment — a screenshot people share once and forget. The final whistle blows and 45k visitors becomes 800 stragglers a week, 820 stars becomes a graveyard repo. The fix is not more traffic. The fix is turning the card into a surface a developer returns to: something you embed in your README, regenerate monthly, check after you merge a big PR. Every viral toy has a 90-day death clock unless you install a reason to come back. Right now there is none. That is not a bug. It is the only decision that matters this week.

Templatize the playbook, not the FIFA license. The unlock isn't "FIFA cards for GitHub." It's sports-card generator for any status-visible surface. Spotify → FIFA card. Strava → FIFA card. Duolingo → FIFA card. LinkedIn → FIFA card. Each one takes a weekend on the same render engine, each drops into its own community, each borrows its own cultural container. Someone who ships one viral thing owns a lottery ticket. Someone who ships six variants off the same engine owns a distribution machine. The API costs are near zero. The compounding is not.

The economics are broken and the operator hasn't noticed. 127,000 renders is not a business number. It is an ego number. Cost per acquired user: effectively free. Revenue per user: zero. LTV: zero. This is strictly worse than a $0 SaaS — it is a hosting curve that grows with virality against a revenue line stuck at the axis. The three-line monetization is trivial: $9 for a hi-res printable PNG with no watermark, $19/yr for a career pack that regenerates each quarter and emails you the diff, $49 for a team pack that stamps cards for your entire GitHub org. Any one, shipped today, converts 0.5% of the current wave into $2K-4K in a weekend. None exists.

Distribution is not the problem. Capture is. Every share on X, Reddit, LinkedIn is a free ad, and the share rate is high because the card is small, visual, and status-loaded. But there is no email field on gitfut.com. There is no save-your-card-history button. There is no follow prompt. 45,000 developers walked in the front door and walked out. If even one in ten had dropped an email in exchange for "we'll email you your card each quarter as your GitHub grows," he would own a 4,500-person list of employed developers — the exact list every recruiter, dev tool company, and course seller pays a dollar per name to rent. The traffic was the miracle. The list was the point. He didn't build the list.

The moat nobody in the thread saw: he accidentally invented a dev rating. If Younes does one thing in the next 30 days, it is freeze the rating formula, publish the methodology, and get 200 well-known devs to drop "GitFut 94" into their bio. Once a metric lives in the bio, recruiters index on it. Once recruiters index on it, sourcing platforms pay for API access. Once sourcing platforms pay, the FIFA card is the marketing surface and the rating is the product. Klout-for-coders is a $10M/yr business hiding inside a weekend toy, and the World Cup is the only launch window it will ever get. Attention decays. Metrics compound. He is looking at the fireworks and missing the score.

Steal-the-Playbook

  1. Pick one dev-visible surface, not "developers" — GitHub, Strava, Spotify, Duolingo, or LinkedIn, one.
  2. Borrow a cultural visual container people already share on reflex — FIFA card, baseball card, Pokemon, Wrapped-style recap.
  3. Build the render pipeline in 72 hours: public API → JSON → SVG template → PNG endpoint. Edge functions, no database, cache aggressively.
  4. Install one capture surface on day one — a single email field with "regenerate my card each quarter, email me the diff." That is the entire funnel.
  5. Time the launch to a cultural moment with a hard end date — Wrapped season, playoffs, tax week — and post to two subreddits within the first six hours.

Stack: Next.js + Vercel edge + Satori/Resvg + Resend + one Reddit post. Cost $20/mo, build in three days.

Bottom Line

A viral toy is a distribution event, not a business. The list you build during the 48-hour window is the only thing that survives the tournament. Attention decays. Metrics compound.

#ViralLoops #DevTools #SmallBets #DistributionFirst