Skip to content
JBES
Web app · PWA/2026Team project

SetPoint

Multi-sport league manager

The challenge

An amateur league manages complex relationships —teams, players, matches and events— and needs consistent operations even when there is no connection.

My role

Team project. My contribution: the IndexedDB data layer with integrity transactions, reusable components, the dashboard and league management with single and double elimination brackets.

Technical decisions

  1. 01

    Real IndexedDB transactions to finalize matches and propagate winners without intermediate states.

  2. 02

    Bracket built backwards from the final using nextMatchId and loserNextMatchId.

  3. 03

    Hash router and custom elements to keep the application free of framework dependencies.

  4. 04

    League export and import as JSON for backup and portability.

Outcome

An installable PWA with local persistence, live stats, Chart.js charts and a double elimination bracket.