Home Blog Contact

Recent Projects

Lineup Legends - Vibecoded App

Lineup Legends is a full-stack, daily baseball puzzle web application that challenges users to reconstruct MLB starting lineups based on a provided box score, where the player names are in a random order. Users can also create an account to collect coins and commemorate completing challenges. Initially, Lineup Legends started as a vibecoded Python game where each game board updated automatically once a day through the MLB Stats API.

In the current deployment, the lineups must be updated manually. This project has helped me practice version control, especially in the context of trying to create the best possible app with AI assistance. Eventually, I would like to create a database using data from Retrosheet, and restore the automatic game generation.

Play Now! View Code (with API) View Code (Deployed)
Read More!
TypeScript React NextJS NodeJS Firebase Studio Cloud Firestore Firebase Hosting Firebase Authentication

MLB Game Frequency Visualization

Have you ever wanted to know what day the most MLB games have been played on? Or what days of the year have never had an MLB regular season game? This Python dashboard can help answer some simple questions that normally require research or combing through data. It uses 150 CSV files of MLB regular season data (1877-2025) from Retrosheet to analyze the frequency of MLB regular season games on a given day of the year.

You can view all-time data, select a preset range of years, or select up to 10 individual years, and a gray bar will always indicate days in the range that had no games. You can also compare 2 charts side-by-side and sort the data by team. See the blog post for download instructions.

View Code Read More!
Python Pandas Plotly HTML CSS JavaScript

Coming soon...

Will this next project be a card game, a text styler, or fastasy football related? This project will include documentation from planning and commentary throughout implemenation in the corresponding blog post.

Regardless, this project will be powered by an API call to a generative LLM and involve experimentation with the Gemini Developer API.

View Code Read More!
Gemini API