← Work
04·Client system

Marcrist Matchpicks

245 entrants, 11,893 predictions, every one locked at kickoff and scored automatically.

LIVE verified 20 Jun 2026
245
entrants
11,893
predictions
32 / 104
fixtures played
zero
manual marking

The problem

Marcrist's top-level management team wanted a way to get people engaging with their site - something people would come back to all month, not click once and forget. A tournament prediction game was the answer. But every office runs its tournament sweep on a shared spreadsheet that breaks the second somebody opens it on their phone - and somebody always edits their picks after kickoff.

The build

Matchpicks is a tournament prediction platform: entrants pick outcomes and exact scores across the whole tournament, picks lock automatically at each fixture's kickoff, results sync from live football data, and scoring recalculates itself - zero manual marking. There's a public league table, a separate invite-only staff league, and automated reminder and results emails to keep entrants coming back. Version one shipped as a WordPress plugin in January 2026; I rebuilt it in May as a multi-tenant platform, so the same engine can run any tournament under any brand.

The result

With the tournament under way, 245 entrants have made 11,893 predictions - 32 of the 104 fixtures played so far, every pick locked at kickoff and scored automatically, with zero manual marking.

The human bit

This project shipped twice. The WordPress version proved the scoring logic; the rebuild turned a one-off game into a platform Marcrist can run again - different sport, different branding, same engine.

Under the hood

Next.js 16 with TypeScript. Drizzle ORM on MySQL; NextAuth magic-link sign-in; fixtures and results sync from Football-Data; automated email via Brevo. Multi-tenant by design. Live at matchpicks.marcrist.com, with a staff league at /staff. Status: live.

a look inside

Marcrist Matchpicks - live landing page with prize pool and pick widget
The live site - free to play, picks lock at kickoff

Need something like this?