CoachNoChill AI
AI Assistant Commissioner & League Operations Platform
Designed, built, tested, and deployed a production Python/Discord automation platform that combines AI-assisted decision support, workflow automation, persistent data, operational monitoring, and human-in-the-loop controls to manage a 32-member online franchise league.
My Role
Creator / Developer / System Designer
I designed the workflows, feature requirements, league logic, AI behavior, safety controls, testing strategy, deployment process, and production hardening for the platform using an AI-assisted software development workflow.
What I Built
CoachNoChill AI evolved from a Discord automation bot into an AI Assistant Commissioner platform. The Madden franchise league is the real-world operational environment — the system itself is a production cloud application with persistent data, scheduled automation, access control, monitoring, and AI decision support.
- ›Automated league operations for a 32-team franchise environment
- ›AI-powered commissioner assistance using verified league data
- ›Natural-language commissioner queries through /commishask
- ›Centralized commissioner action queue through /commishqueue
- ›League-health monitoring and operational status reporting
- ›Matchup scheduling and response tracking
- ›90-minute response/reminder workflows
- ›End-of-day scheduling escalation logic
- ›Missed-game and potential no-show detection
- ›Force Win evidence collection and AI-assisted recommendations
- ›Human approval required for commissioner decisions
- ›Owner reliability and activity tracking
- ›Owner departure detection
- ›Automatic open-team workflow initiation
- ›Replacement-owner candidate tracking
- ›Recruitment lead tracking and follow-up automation
- ›New-owner onboarding
- ›Versioned league-rules acknowledgment through /ackrules
- ›Advance-day operational reports
- ›Week recap and league-status reporting
- ›Persistent event/receipt tracking for auditable league history
Responsible AI & Human-in-the-Loop Controls
The AI does not independently issue discipline, approve trades, assign Force Wins, select replacement owners, or make final commissioner decisions. Deterministic league data is collected first, AI is used to summarize or recommend actions, and authorized commissioners retain final approval.
- ›AI recommendations are grounded in verified database records.
- ›Automated systems distinguish evidence from recommendations.
- ›High-impact league decisions remain commissioner-controlled.
- ›Responses are designed to avoid inventing league records or unsupported facts.
- ›Permission-sensitive commands are restricted to authorized commissioner workflows.
Backend & Data Engineering
Built persistent operational state using SQLite for ownership records, scheduling state, rule acknowledgments, event history, AI recommendations, replacement pipelines, audit events, and automation state.
- ›SQLite persistence
- ›WAL-compatible database handling
- ›Idempotent database initialization and migrations
- ›Persistent automation state across restarts
- ›Deduplication controls to prevent duplicate actions
- ›Event and receipt-based historical tracking
- ›State reconciliation after redeployment
- ›Versioned rule acknowledgments
Automated Testing & Deployment
The project uses a feature-branch and pull-request workflow with automated CI validation before production deployment. Production changes are developed on isolated feature/hotfix branches instead of directly editing main.
- ›287 automated tests passing
- ›Python compile validation
- ›Full integration/regression test suite
- ›Docker image validation
- ›GitHub Actions CI
- ›Pull-request-based development
- ›Exact commit/SHA verification before merging
- ›Railway production deployments
- ›Post-deployment runtime and Discord Gateway verification
Reliability & Production Hardening
Database Protection
- ›Added startup database integrity verification.
- ›Implemented SQLite quick_check validation.
- ›Built verified online database backups compatible with WAL mode.
- ›Added backup restore-probe validation before considering a backup successful.
- ›Added retention controls for verified backups.
- ›Designed the bot to fail safely if an existing production database is corrupt.
- ›Added periodic automated backups.
Discord API Reliability
- ›Diagnosed a production Discord API 429 rate-limit issue affecting command publication.
- ›Determined that startup was performing redundant command-tree synchronization.
- ›Implemented a non-blocking command-sync guard.
- ›Deferred command publication until Discord Gateway readiness.
- ›Coalesced duplicate synchronization requests.
- ›Moved rate-limited command publication off the critical startup path.
- ›Ensured the bot could remain online even while Discord command publication was temporarily throttled.
Regression Prevention
- ›Diagnosed and repaired a missing /ackrules slash command.
- ›Added integration tests requiring the command to be registered across supported Assistant Commissioner modes.
Architecture
Runtime Flow
- Discord Users
- Discord.py Event & Slash Command Layer
- League Automation / Assistant Commissioner Services
- Deterministic Rules + Operational State
- SQLite Persistent Database
- OpenAI Recommendation Layer
- Human Commissioner Decision
Delivery Pipeline
Every change moves through a pull request, GitHub Actions CI, compile and integration testing, Docker image validation, and Railway deployment — followed by runtime and Discord Gateway verification in production.
Selected Engineering Features
Commissioner Action Center
Aggregates verified league issues and prioritizes what commissioners should address next.
Natural-Language Commissioner Assistant
Lets commissioners ask operational questions in plain English while keeping AI answers grounded in deterministic league data.
League Health Monitoring
Evaluates unresolved games, deadlines, owner activity, replacement needs, and operational risk.
Replacement Owner Pipeline
Tracks verified interest for open teams without allowing AI to automatically select an owner.
Scheduling & Escalation
Tracks matchup communication, scheduling agreements, response windows, reminders, and escalation conditions.
Rules Acknowledgment
Maintains version-specific proof that owners acknowledged the current league rules.
Owner Reliability
Surfaces evidence-based owner activity and communication history without generating arbitrary reputation scores.
Persistent Receipts
Maintains auditable evidence of important league events and automation actions.
Case Study — Production Reliability Incident
Problem
A production deployment remained alive on Railway but failed to fully connect to Discord because slash-command publication was being rate-limited by Discord's API.
Investigation
I traced the startup path and identified duplicate command synchronization occurring before Discord Gateway readiness.
Solution
I implemented a CoachNoChill-specific command-sync hardening layer that deferred synchronization until the Gateway was ready, coalesced duplicate requests, and moved API retries into a background task.
Result
The Discord bot could successfully reach the Gateway and remain operational even when command publication received HTTP 429 responses.
Troubleshooting → root-cause analysis → engineering fix → production verification.
Skills Demonstrated
Accomplishments
- ›Designed and deployed a production Python-based AI Assistant Commissioner platform supporting a 32-member online league.
- ›Integrated Discord APIs, OpenAI, SQLite, Docker, GitHub Actions, and Railway into an end-to-end cloud application.
- ›Developed AI-assisted operational workflows while maintaining human approval for high-impact decisions.
- ›Built persistent systems for scheduling, ownership, rules acknowledgment, league health, recruitment, replacement owners, and audit history.
- ›Implemented database integrity checks, verified backups, restore validation, and automated retention to improve production resilience.
- ›Diagnosed and resolved Discord API rate-limit behavior that blocked application startup, redesigning command synchronization into a non-blocking background workflow.
- ›Maintained a regression suite of 287 automated tests with CI and Docker validation before production changes.
- ›Used feature branches, pull requests, exact commit verification, CI gates, and post-deployment validation to reduce production risk.