Independent Project | July 2025–Present
A production operations and payment platform designed to centralize scheduling, payments, travel information, and game-change workflows for approximately 50 teams in the UPSL Mid-Atlantic Conference.
Role: Developer & System Administrator
Status: Active Production System
Scale: ~50 Teams · $200,000+ Processed
Technology: TypeScript · Supabase · Vercel · Authorize.net · Resend
The Problem
Conference operations relied on a collection of processes that worked individually but were difficult to manage together. Game fees were handled through multiple payment methods, payment records were maintained separately, schedule changes relied heavily on communication between several parties, and travel information existed apart from the schedules and payments it depended on.
This created a larger problem: there was no single authoritative place where teams and administrators could see the current status of a match and the administrative requirements associated with it.
I set out to build a system that could bring those processes together and translate the conference’s operational rules into a consistent workflow.

The administrative dashboard provides a centralized view of conference matches, payment and travel-sheet status, scheduling information, and operational tools.
What I Built
I designed and built a web application that provides teams and conference administrators with a shared operational record for each match.
Rather than treating scheduling, payments, travel, and game changes as separate processes, the platform connects them. Information about a match can determine what actions are available elsewhere in the system, allowing operational requirements to be managed consistently from one place.
The platform includes:
- Centralized match schedules and game information
- Integrated online payment processing through Authorize.net
- Payment-status and administrative-fee tracking
- Automated late-fee rules
- Travel information and travel-sheet eligibility
- Structured game-change requests
- Multi-party schedule-change approvals
- Role-based access for team personnel, conference administrators, league leadership, and referee management
- Automated transactional email through Resend

Team-facing match records connect scheduling information with payment status, travel documentation, notes, and game-change requests.
Turning Policies Into Business Rules
One of the most important parts of the project was determining how existing conference processes should behave when translated into software.
A payment does not exist independently of the match it belongs to. Payment status can affect other administrative requirements and access to travel documentation. Likewise, a schedule change can involve two teams, conference administrators, referee management, fees, and the official match schedule.
The application therefore needed to understand these relationships rather than simply store information.
I translated conference processes into business rules governing when payments are required, when applicable fees are assessed, when travel documentation becomes available, and which parties must approve proposed schedule changes before they become official.
Managing Schedule Changes
Game changes were one area where centralization was particularly valuable.
Instead of relying on a chain of messages to determine whether a change has been requested and accepted, the system provides a structured game-change workflow. The appropriate parties can review proposed changes, and the platform tracks the request through the approval process.
Once the necessary approvals are received, the change becomes part of the same authoritative schedule used throughout the platform.

Game-change requests are tracked through a structured approval process involving the appropriate conference and referee-management personnel.
Travel Information
Travel sheets are another example of connecting previously separate operational processes.
Teams can provide match-day information such as venue details, field availability, playing surface, amenities, uniform colors, and team contact information. Once the necessary requirements are satisfied, that information becomes accessible through the corresponding match in the system.
Conference and referee personnel can also search, review, print, and export travel information across matches.

Travel sheets centralize match-day information and connect it directly to the corresponding game record.
Designing for Different Users
The platform is used by people with very different responsibilities, so not every user should see or control the same information.
I implemented role-based access for team personnel, conference administrators, league leadership, and referee management. Each role receives access appropriate to its responsibilities while working from the same underlying operational data.
This allows the platform to serve as a shared source of information without giving every user unrestricted administrative access.

Administrative tools provide role-based access for team personnel, conference administrators, league leadership, and referee management.
From Development to Production
The project moved beyond a prototype and became a live operational system.
The application uses Supabase for backend and data infrastructure, Vercel for deployment, Authorize.net for payment processing, and Resend for transactional email. Development and version control are managed through GitHub, with the application primarily built in TypeScript.
I also made extensive use of AI-assisted development throughout the project. This allowed me to work beyond my previous software-development experience while remaining responsible for defining the problem, designing workflows and business rules, evaluating implementations, testing behavior, troubleshooting issues, and determining how the finished system should operate.
For me, the technology was ultimately a means to solve the operational problem rather than the end goal.
Impact
The platform currently supports approximately 50 teams and has processed more than $200,000 in game, late, and schedule-change fees.
Processes that previously depended on separate spreadsheets, payment methods, messages, and administrative records can now operate through a shared system built around the conference schedule.
The application remains in active production, and I continue to administer, troubleshoot, and expand it as operational needs change.
If WordPress lets you do a three-column statistics block, put these prominently here:
~50
Teams Supported
$200K+
Fees Processed
Active
Production System
What I Took Away
This project reinforced something that has become increasingly important to how I approach technical work: the difficult part of building an operational system is often not writing the code. It is understanding the process well enough to determine what the system should do.
Working with real users and live financial and scheduling workflows requires accounting for usability, reliability, permissions, edge cases, and operational requirements that change over time.
Building and maintaining this platform has required a combination of technical problem-solving, process design, communication, testing, and continuous iteration. It is also representative of the kind of work I enjoy most: taking a messy real-world process, understanding how its pieces fit together, and using technology to make it work better.
Technologies & Skills
TypeScript · Supabase · Vercel · Authorize.net · Resend · GitHub · API Integration · Process Improvement · Operations Management · Business Rules · System Administration