matt-taylor.tech
← Back to projects

Founder venture

Matt's Volleyball League / VolleyballEngine

mattsvolleyball.com ↗

Next.js + TypeScript Cloudflare Workers (OpenNext) Astro Supabase Playwright (E2E) Vitest Teamlinkt API

The custom-built side of the volleyball league: scheduling engine, tournament software, public marketing site, and payout calculator. Off-the-shelf Teamlinkt handles registration and rosters; VolleyballEngine handles everything Teamlinkt doesn't.

VolleyballEngine

Next.js + TypeScript platform I built and deployed to Cloudflare Workers via OpenNext. Multiple jobs:

  • League schedule generator: takes registration data and produces season schedules imported into Teamlinkt.
  • Tournament software: bracket generation and management for in-league playoffs and standalone tournaments.
  • Mix-and-match scoring: in-league playoff format pairing players across teams.
  • Revenue split / payout calculator: computes each contractor's percentage of season revenue for 1099 payouts.

Tested end to end with Playwright. Unit tests with Vitest. Staging and production environments with automated deploys.

Tournament algorithms

Custom shuffle-format and balanced-team draft generation as standalone TypeScript modules. The constraint is balancing skill across teams while keeping the experience fun for casual players and competitive for serious ones.

mattsvolleyball.com

Astro-based marketing and information site. Taps Teamlinkt's APIs to surface live schedules, standings, and league data on the public site with no manual sync step. Same Cloudflare-native deployment pipeline as VolleyballEngine.

Off-the-shelf vs build

Teamlinkt as the core league-operations platform: registration, rosters, captain communications, player-facing app. VolleyballEngine for the work Teamlinkt doesn't do well: schedule generation, tournament brackets, revenue splits. The vendor-versus-build call gets re-evaluated each season.

What it demonstrates

  • Full-stack web development: Next.js, TypeScript, React, Astro, Cloudflare Workers, Playwright, Vitest.
  • API integration: Teamlinkt API consumption to drive dynamic content on the public site.
  • Systems design: tournament logic, scheduling, mix-and-match scoring.
  • Vendor judgment: chose Teamlinkt over rolling my own league-ops platform; reserved custom build for the parts where off-the-shelf options fell short.