Skip to main content
All work

04 · Platform build

Platform build — closed beta, live data

Pundit

Skill-based esports prediction platform for Pundit OÜ — CS2 and Dota 2, closed beta with live match data already flowing.

Visit pundit.gg →
Year
2026
Duration
Closed beta
Discipline
Platform · Data · Product
Pundit — pundit.gg
pundit.gg

Outcome

1,005

URLs in the sitemap — 1,000 of them individual match pages

─ 01 · Challenge

The challenge.

Esports predictions sit next to a heavily regulated category, so positioning had to be exact from day one: the platform frames itself as a skill contest, not gambling, citing §2(2) of the Estonian Gambling Act. The second problem is what closed beta usually means — an empty landing page and a signup form. The goal here was the opposite: real match data, live and public, before the doors open.

─ 02 · Work

The work.

Built on Next.js and Vercel with Clerk handling auth. Live scores flow from a PandaScore data feed into six public sections: /matches (56 matches on the index), /tournaments (59), /rankings, /leaderboard, /seasons, and /news. The sitemap carries 1,005 URLs, 1,000 of them individual match pages. An AI assistant, PunditCoach, is built into the product. Access to the contest itself runs through a waitlist and PUNDIT-XXXX beta codes. HSTS and CSP security headers are in place.

─ 03 · Outcome

The outcome.

The platform is live in closed beta with real data anyone can check: six sections open without a code, 56 matches and 59 tournaments on the index pages, and a 1,005-URL sitemap. The skill-contest framing under §2(2) of the Estonian Gambling Act is the site's own published position. No audience metrics claimed — the beta is closed.

Process · 4 phases

  1. 01

    Positioning + spec

    Phase 1

    Fixed the skill-contest framing (§2(2) of the Estonian Gambling Act, as stated on the site) and the closed-beta access model: waitlist plus PUNDIT-XXXX codes, with public data sections open regardless.

  2. 02

    Data layer

    Phase 2

    PandaScore feed wired in for live CS2 and Dota 2 scores. Match, tournament, ranking, and season data modeled so every match gets its own indexable page.

  3. 03

    Build

    Phase 3

    Next.js on Vercel, Clerk auth, HSTS and CSP headers. Six public sections shipped, plus the PunditCoach AI assistant. Sitemap grew to 1,005 URLs — 1,000 of them match pages.

  4. 04

    Beta run

    Ongoing

    Closed beta live: waitlist and beta codes gate the contest, while matches, tournaments, rankings, leaderboard, seasons, and news stay open on live data.

What shipped

6

sections open to the public during closed beta

  • 011,005-URL sitemap — 1,000 individual match pages
  • 026 sections open during closed beta: matches, tournaments, rankings, leaderboard, seasons, news
  • 03Live scores from a PandaScore data feed — 56 matches and 59 tournaments on the index pages
  • 04PunditCoach AI assistant built into the product
  • 05Skill-contest positioning under §2(2) of the Estonian Gambling Act — the site's own stated framing
  • 06Next.js on Vercel, Clerk auth, HSTS and CSP security headers