JohanHellstedt963.6 km this year

Segment · React · Vite · TanStack Query · Cloudflare Workers

Crosscheck

Live scores, standings, a calendar, team and player pages, and goal alerts for the SHL and the NHL, in a fast web app you install on your phone.

Open Crosscheck(opens in a new tab)
01 / 07

Swipe through the app

01 / 07
01ScoresEvery game of the day at a glance, with a day picker to jump back and forth.
02Game detailsGoals, shots on goal and penalties, period by period.
03StandingsThe SHL table with the playoff lines marked.
04Team pagesResults and upcoming games per team, with roster and news one tab away.
05NHLThe NHL in the same app, one tap away in the bottom bar.
06Your teamsFollow your teams and turn on goal alerts for their games.
07Goal alertsA push for every goal, or one morning recap of the NHL games played overnight.

About Crosscheck

  • Why I built it

    I follow both leagues and wanted one fast app for them on my phone, with an alert when my teams score.

  • Key decision

    Alerts have to reach a phone with the app closed, so something must watch games all evening. Vercel's free plan runs cron jobs once a day, so the watcher is a Cloudflare Durable Object that wakes itself every 10 seconds while a followed team plays and sleeps otherwise. It reads through the app's own cached API, so it carries no league code.

  • Stack

    React, Vite, TanStack Query and React Router, installable as a PWA and hosted on Vercel, with goal alerts on Cloudflare Workers.