Case study · Founder / Developer

nacup.us

Built because World Cup 2026 news and local watch-party info lived in a dozen different places and nowhere at once. It's a single aggregation-and-generation pipeline: news from 16+ feeds deduplicated and ranked by relevance, venues merged from four independent sources into confidence-scored records, and the whole site rebuilt daily so every team, match, and city page stays current without anyone touching it by hand.

2026livePython · Vanilla JavaScript · Leaflet.js · Cloudflare Workers · GitHub Actions
48 hrsconcept to deployed production site
700+visitors on day one, first-page organic search within 24 hrs
80+programmatically generated SEO pages across 38 host cities

Built because I wanted one place for everything World Cup 2026 — every morsel of news, plus which bars and fan events were happening near me. It became my own daily driver during the tournament, and drew around 1,500 unique visitors a month while the World Cup was on.

News is aggregated from 16+ feeds and ranked by a time-decay scoring formula that weighs source credibility, team and player entity matches, and whether a team is playing that day — with near-duplicate coverage clustered instead of repeated. The venue map merges Yelp, Foursquare, OpenStreetMap and Google Places into single records using geographic proximity and name-token similarity, each carrying a confidence score based on how many independent sources agree.

A daily GitHub Actions pipeline regenerates the site — 48 team pages, 99 match pages, 38 city pages and a 187-URL sitemap — for programmatic SEO across every team, match, and host city.

nacup.us on a phone, showing the Kansas City panel with 282 venues, a date strip, scheduled matches and a list of official watch parties.
Host-city panel on mobile — the tournament schedule and nearby watch parties for one city.