Jemari Sapp
Back to Projects

Case Study

Trilo

A multi-tenant sports league management platform with AI-assisted schedule extraction and Discord-native league operations.

Outcome

Reduced commissioner workload through automated league workflows, AI-assisted data ingestion, and a subscription-backed product experience.

Trilo combines Discord-native league operations with AI-assisted schedule extraction.
Project Type
AI-assisted SaaS and sports operations automation
My Role
Founder, product lead, and product engineer
Users
League commissioners and online sports communities
Status
Live product / active development

System at a Glance

  1. 1Discord Community
  2. 2League Setup
  3. 3Schedule Screenshot Upload
  4. 4AI Matchup Extraction
  5. 5Structured League Data
  6. 6Matchup Channels
  7. 7Record and Roster Updates
  8. 8Commissioner Review

Overview

Trilo is a full-stack SaaS platform for sports leagues that operate inside Discord. It combines a Discord bot for league operations with a web experience for acquisition, OAuth, subscriptions, and license delivery.

The product focuses on reducing the repetitive work commissioners face each week while keeping league management inside the community channel where users already operate.

Business Problem

Running online sports leagues can require hours of manual administration: creating matchup channels, tracking records, managing team rosters, and entering schedules from screenshots or external sources.

That manual overhead creates friction for commissioners and can make multi-league management difficult to sustain.

Product Solution

Trilo automates league operations through Discord slash commands and structured backend workflows. Commissioners can manage teams, matchups, attributes, settings, and game status without moving their community into a separate tool.

The AI-assisted matchup creation flow lets users upload a schedule screenshot and convert it into structured matchup data, reducing the need for manual entry.

System Architecture

The product connects a Discord bot, a React website, Stripe subscription events, Discord OAuth, license delivery, and a shared PostgreSQL data layer.

A key architecture decision was supporting production-grade PostgreSQL while preserving a lower-friction local development setup.

Human and Product Controls

Even where AI assists with schedule extraction, the product is designed around commissioner control. Structured outputs feed league workflows, but commissioners still operate and validate the league experience.

My Contributions

  • Defined the product direction and SaaS positioning
  • Built Discord bot workflows for league operations
  • Designed the website conversion and activation flow
  • Integrated Discord OAuth, Stripe checkout, and license delivery
  • Designed AI-assisted schedule extraction from screenshots
  • Built backend data models for leagues, teams, matchups, subscriptions, and command usage

Technical Challenges

  • Handling Discord interaction timeouts for longer AI operations
  • Designing reliable data models for multi-server league operations
  • Connecting subscription status to Discord-side activation
  • Reducing onboarding friction by delivering license keys through Discord
  • Balancing automation with commissioner control

Business Impact and Lessons Learned

Trilo demonstrates how product design, AI-assisted data extraction, and community-native workflows can reduce operational friction in a niche but repetitive business process.

The strongest product decisions came from understanding where users already work and delivering value in that environment instead of forcing a separate workflow.

Technologies and Capabilities

Python
React
TypeScript
PostgreSQL
OpenAI Vision API
Stripe
Discord OAuth
Discord bot workflows
Supabase

Outcome

  • Reduced manual schedule and matchup setup through AI-assisted extraction
  • Created a subscription-backed activation flow for Discord communities
  • Supported scalable league operations across multiple communities
  • Demonstrated a business model for workflow automation in online league management