SmashTrack is a side project that scratches a real itch: keeping score for recurring racket-sport groups. Players form a group, run match “sessions,” and submit set-by-set scores. The app validates results, determines winners, and recalculates a points-based leaderboard on the fly — so the bragging rights are always up to date. It supports squash, table tennis and badminton, each with its own configurable scoring rules, and surfaces the fun stuff too: win streaks, rivalries, form trends, and an activity feed of recent results.
What it does
Groups & invites
Spin up a group with a shareable invite code; players can be linked to real accounts or tracked as group-only members.
Live leaderboards
Standings recompute automatically using configurable scoring rules — points per win, straight-set bonuses, tiebreak ordering.
Momentum & rivalries
Win streaks, head-to-head rivalries and form trends, not just a flat ranking.
Mobile-first design
A clean, app-like shell with a sticky bottom tab bar — Home, Groups, Board, Track, You.
Why it’s interesting
The leaderboard is the easy part; keeping it correct and live on every confirmed match is where the work is. SmashTrack pushes the scoring logic server-side — Supabase Postgres with Deno edge functions handle match submission, standings computation and activity-event generation — so the rankings stay trustworthy no matter who logs a result. It’s an end-to-end exercise in schema design, real-time data and a tactile, app-like UI.
Labs noteNot published. A personal experiment in building a polished, real-time, mobile-first product end to end — a playground for ideas, not a launched product.