Robert Greathouse

Currently building developer tools and exploring the intersection of machine learning and sports analytics. I'm drawn to problems where I can create something that makes people's work easier—whether that's automating tedious course management or helping a baseball team make smarter decisions.

About Me

Before I ever wrote a line of code, I was pulling wire through hospital ceilings and troubleshooting network infrastructure as a commercial electrician. That hands-on work taught me how to think in systems—tracing problems back to their source and building solutions that actually hold up under pressure.

Now I'm a Senior CS student at BYU with a Machine Learning emphasis, maintaining a 3.9 GPA and graduating Summer 2026. I've found that the same methodical debugging mindset that helped me fix electrical systems translates directly to software engineering and ML pipelines.

What excites me most is building tools that solve real problems. As a Course Developer, I've created software that saves faculty dozens of hours per course. As a research assistant, I collaborated with the Texas Rangers R&D team on baseball analytics—turning my love for the sport into a paper submitted to the MIT Sloan Sports Analytics Conference.

When I'm not coding, you'll find me watching baseball, at the gym, or building something with my hands. Old habits die hard.

Technologies I've been working with:

PythonJavaC++JavaScriptSQLscikit-learnPandasReactGitDockerGitHub ActionsREST APIsSeleniumAI DevelopmentClaude Code
Robert Greathouse headshot

Things I've Built

Featured ProjectMachine Learning Research

The Pitcher's Dilemma: A Game-Theoretical Model of Pickoffs and Stolen Bases

This project combined two things I love: baseball and machine learning. Working with BYU's IDeA Lab, I collaborated directly with the Texas Rangers R&D team to build a model predicting stolen base success. I scraped and processed 10,000+ events across 9 MLB seasons, engineered 15+ features from Baseball Savant data, and evaluated multiple models. We chose logistic regression (72% accuracy) over more complex models because interpretability mattered—coaches need to understand why, not just what. The work is now a paper submitted to the MIT Sloan Sports Analytics Conference.

Pythonscikit-learnPandasSeleniumstatsmodels
Developer Tool

MDXCanvas

What started as a simple script to help my professor upload course content has evolved into a tool used by multiple faculty teams across BYU. Faculty were spending hours clicking through Canvas's UI to create quizzes and assignments—I built a CLI that generates everything from XML/Jinja templates via the REST API. The project taught me a lot about API design, developer experience, and what it takes to build something others actually want to use. It's now published on PyPI with proper versioning, CI/CD pipelines, and documentation.

PythonJinjaXMLREST APIsGitHub ActionsCI/CDPyPI
Developer Tool

MarkdownData

A companion library I built while working on MDXCanvas. I needed a clean way to parse structured data from markdown files, and nothing existing quite fit the bill. It handles the content parsing for MDXCanvas and is published as a standalone package on PyPI for anyone with similar needs.

PythonPyPI
Web App

GitHub Dashboard (Public Website In Progress)

Managing PRs and issues across 20+ course repositories was becoming a bottleneck for our team. I built a dashboard that aggregates everything via the GitHub API, cutting status checks from minutes to seconds. The interesting part was adding AI-powered features—I engineered prompts for automated PR reviews and built an agentic system that generates issue tickets from natural language descriptions, reducing manual ticket creation time by 80%. Currently refactoring to be in typescript and next.js to upload to Amplify.

PythonGitHub APIOpenAI APIJavaScriptReact

Where I've Worked

Course Developer

@ BYU CS Department

January 2024–Present

  • Built MDXCanvas to solve a real pain point—faculty were spending hours on repetitive Canvas tasks. The library now saves 80% of course setup time and has been adopted across multiple BYU courses.
  • Set up the entire CI/CD infrastructure using GitHub Actions, including automated Docker builds, deployments, and Slack notifications when things break.
  • Coordinate between student developers and faculty across 3+ courses—triaging bugs, prioritizing features, and keeping everyone on the same page through GitHub Projects.

Get In Touch

I'm currently looking for new opportunities in software engineering and baseball analytics. Whether you have a question, want to discuss a project, or just want to say hi, I'd love to hear from you!

Say Hello