Founder venture
Founder & Operator · Matt's Volleyball League
Late 2022 to Present · Cornelius, NC · Hybrid
Recreational league I founded and operate. It started as a pickup group and grew to 200 players per season, four seasons a year, with a contractor team running nightly operations around full-time employment. I built the business, operating playbook, brand, and software that runs it.
Volleyball Engine
Next.js + TypeScript platform I built and deployed to Cloudflare Workers via OpenNext. It does multiple jobs for the business:
- League schedule generator Takes registration data and produces season schedules imported into Teamlinkt each season.
- Tournament software Registration, Stripe payments, scheduling, bracket management, and live phone and TV scoring for in-league playoffs and standalone tournaments.
- Mix-and-match scoring In-league playoff format that pairs 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 interesting 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 without a manual sync step. Serverless API endpoints (Cloudflare Pages Functions) read TeamLinkt live with 5-minute edge caching, so registration CTAs and season labels update client-side without a rebuild; season transitions need zero manual content changes. Built on the same Cloudflare-native deployment pipeline I use for everything else.
GroupMe automation
A suite of Node.js scripts run by five scheduled GitHub Actions workflows replaced the daily manual communication work of running the league:
- Daily schedule posts Playwright screenshots the live schedule page in CI, uploads it to GroupMe's image service, and posts it to that night's chat topic, with a formatted-text fallback.
- Weekly recaps Per-division set-by-set results and current standings posted to each night's topic every Monday.
- Missing-score nudges The morning after a game night, posts any unscored matchups; silent when everything's scored.
- Registration alerts Per-division spots-remaining posts while registration is open, with stateless dedupe so nothing repeats unless the counts changed.
- RSVP checks Shuffle nights get a GroupMe calendar event instead of a schedule image; an afternoon check reads the Going count and posts a headcount nudge or confirmation.
- Weather heads-ups Checks the National Weather Service hourly forecast at the courts and posts a warning when rain or storms look likely during the game window. The rainout call itself stays human.
Every workflow has dry-run, test, and date-override dispatch inputs, and everything shakes down against a dedicated test group before posting to real players.
Brand and design
All visual assets designed in Affinity Designer and Affinity Photo: logo system with multiple variants and 3D mockups, business cards, 18×24 posters, web and social banners with seasonal variants, Instagram and Facebook assets, per-season registration graphics, email banners, full website visual design.
Email marketing
HTML email templates produced each season: registration announcements, welcome series broken out by league night, captain's duties and onboarding, schedule changes and rainout notices, contractor recruitment ("Help Needed").
Off-the-shelf vs build
Teamlinkt as the core league operations platform (registration, rosters, captain communications, player-facing app). Volleyball Engine for the work Teamlinkt doesn't do well: schedule generation, tournament brackets, revenue splits. The vendor-versus-build call gets re-evaluated each season.
Operations and business
- Documented operating playbook the contractor team runs against.
- Season-by-season schedules, playoff brackets, and payout reports.
- Sports waiver, rules, league policies.
- Facility coordination, venue scheduling, player communications, retention.
- Full P&L: pricing, payment processing, contractor 1099 payouts, sponsor relationships, tax and accounting.
Why it belongs next to the IT story
The IT roles show what I can do inside an enterprise with a team and a budget. The volleyball league shows what I can do when there's no team to delegate to and no playbook to inherit. Same systems thinking, same automation instinct, same operational rigor, applied end to end on a business I own.
Projects in this role
- Volleyball Engine
I built the software behind my league’s schedules, tournaments, live scoring, and contractor payouts, with custom pairing algorithms for different formats.
- Matt's Volleyball League
I founded a recreational volleyball league and built its website, brand, and communications automation. Shared league data keeps schedules, standings, and player messages up to date.