Skip to content
Neel Bhavsar
All work

Tournament logistics, automated end to end

Diamond Connect

Role
Backend developer
Year
2021 — 2023
Impact
Automated scheduling
Diamond Connect — cover

Overview

Diamond Connect runs youth baseball tournaments end to end: teams register and pay, brackets and schedules generate themselves, and results come back from the field to everyone following the tournament.

It was my first production system, and the one that taught me that the scheduling constraint nobody mentions in the requirements is the one that breaks your weekend.

What I built

  • Backend development — MongoDB schema, Express REST API and the Stripe payment integration.
  • Built the scheduling engine that generates brackets and game slots from team counts and field availability.
  • Integrated Stripe for registration fees with webhook-confirmed enrolment.
  • Built the event-management and CMS layer behind tournaments, divisions, teams and fixtures, feeding one API to the cross-platform client.

The hard parts

Scheduling is a constraint problem

Fields, umpires, rest windows between games and team availability all constrain each other. The generator assigns slots against those constraints and reports genuine conflicts instead of silently producing an impossible schedule.

Paid means enrolled

A team is only registered once Stripe confirms via webhook, not when the client thinks checkout succeeded. Idempotent webhook handling means a retried event never creates a duplicate registration.

Scores from a patchy field connection

Scorekeepers work on stadium wifi. Updates are queued client-side and reconciled when the connection returns, so a dropped signal delays the feed rather than losing an inning.

Outcomes

Bracket scheduling
Auto
Registration payments
Stripe
Every platform
1 API

Stack

  • Node.js
  • Express
  • MongoDB
  • CMS
  • Stripe
  • Cross-platform
  • Event Management

Live

Visit the site