Engineered Workflows

Umpire Calendar

Python web-scraping workflow combined with Excel dashboards to filter and prioritize game assignments based on availability and travel preferences.

Workflow Python Excel Web Scraping Automation Scheduling
Click to zoom

Type: Personal Workflow Automation – Python Web Scraping + Excel Dashboard


Overview

As a baseball umpire, selecting games that fit my schedule requires navigating an online scheduling system with limited sorting and filtering capabilities.

To streamline the process, I built a hybrid Python + Excel workflow that automatically retrieves available games, applies my personal filters, and presents them in a customizable dashboard for efficient decision-making.

The result dramatically reduces the hidden administrative time required to secure assignments.


The Challenge

The scheduling platform used for officiating:

  • Has limited filtering and sorting tools
  • Updates frequently as coaches add or modify games
  • Makes it difficult to quickly identify games that match availability and travel preferences
  • Requires manual searching and repeated checking

Finding the right assignments required more effort than it should.


The Solution

I developed a two-part automation workflow:

  1. Python Web Scraper - Logs into the scheduling platform
    - Downloads all currently available games
    - Exports structured data to a CSV file
    - Includes direct links back to each game for quick requesting

  2. Excel-Based Dashboard - Uses Power Query to ingest the CSV
    - Applies filtering based on personal criteria (distance, age level, etc.)
    - Integrates with a “Not Available” calendar to avoid conflicts
    - Provides slicers for dynamic filtering and prioritization

The system updates quickly and provides a clean, centralized decision interface.


Key Features

  • Automated extraction of live scheduling data
  • Travel-distance filtering
  • Age and level-based filtering
  • Conflict detection against personal availability
  • Direct request links embedded in the dataset
  • Rapid refresh as new games are posted

Impact

  • Significantly reduced manual searching time
  • Increased efficiency in selecting preferred assignments
  • Improved scheduling accuracy
  • Transformed a frustrating process into a structured workflow

This project reflects my approach to everyday problem-solving: identify friction, extract the data, structure it properly, and build a lightweight decision system that saves time and improves outcomes.