About
- Software Engineer
Milwaukee BrewersJoined the Milwaukee Brewers organization in 2024 as a software engineer. Worked on a variety of projects including a revamping an application that is heavily used during the MLB Draft. Currently working in the scouting department on projects that help scouts and coaches make better informed decisions.
Frontend
AngularBootstrapCSSSCSSReactBackend
C#TypescriptJavascriptAWSSQL ServerNode.jsSQLPython
-
Full Stack Web Developer
DS SportsHelped develop cutting edge software for state of art hardware capturing ball flight data for baseball and softball on the collegiate and professional level. Migrated legacy data to a brand new REST api. Setup the infrastructure in Azure and migrated legacy codebase from AWS. Bootstrapped a Next.js frontend to pave the way for revamped software.
Frontend
ReactNext.jsFigmaSvelteSvelteKitTailwindCSSShadcn/uiMantineBackend
PrismaTypescriptJavascriptAzureBicep [IaC]Node.jsSQLMongoDBPythonFastAPIWebsockets
-
Full Stack Web Developer (Contract)
ITZ DevelopmentWorked on Kittr that gathered kit setups for the popular game series Call of Duty. Streamers could make an account, mock their kits from in game, and automatically produce chat bot commands that would link their users directly to the weapon kit that they are using. Currently unmaintained.
Frontend
ReactNext.jsTailwindCSSBackend
PrismaTypescriptJavascriptMongoDBDockerFirebase AuthMongoDB
-
Professional Baseball Player
Detroit TigersJoined the Detroit Tigers organization in the middle of the minor league season in 2019. Advanced to the AA level in 2021 before sustaining a shoulder injury that required surgery. Retired from playing baseball in 2022.
-
Professional Baseball Player
Chicago CubsDrafted 78th overall in the 2018 MLB Draft by the Chicago Cubs. Played 1 season in the minor leagues before being traded to the Detroit Tigers with Alex Lange for Nick Castellanos.
Projects
Video Game Stats App
In the world of niche video games, there is a relatively popular racing game developed by a small team. Even though it has limited development resources it has attracted a dedicated and significant community within its genre. After each race, the game exports results into an XML file, but this raw data offers little practical value to the average player. The community, passionate about the game, desperately needed a way to make the game a little more interesting so this app was born from that desire. It provides players with a new way to interact with the game and gives them a reason to play every single day.
The game was starting to get pretty stale for the community because it isn’t being actively developed. Players needed a way to actually track their stats across servers. Nobody was currently storing the data and displaying it for the users to look at themselves.
Here is how we addressed the issues: Server Deployment: We set up dedicated video game servers equipped with custom software to actively monitor and capture new race results as they were exported by the game. Data Processing: We created a robust system to parse the XML files generated after each race, storing relevant data in a relational database. Web Application: We designed and built a website that presents the data in an intuitive and appealing format. Community Features: We implemented additional features, such as voting systems, to give players more control over their gaming experience and increase community engagement.
The community we have built around this video game stats app has exploded. We are currently at 3,300 users and seeing around 100 sign ups every single day. We regularly see over 2 million page hits a month. The community is outgrowing our resources and we are hoping to expand soon.
Problem:
Indie developed video game stats are dumped into a mess of XML. Players can't keep track their progress efficiently.
Solution:
A web app that parses the XML and displays the data in a clean and easy to understand format. Players can compare their stats with other players and track their progress over time. We are currently serving 4,000+ active users! There is much more to this project than meets the eye and we are constantly adding new features and improving the user experience.
Tech:
Applied Learning Labs
A unique way for Behavior Analysts that are training for the exam to become board certified. This platform leverages the power of artificial intelligence to generate unique questions that users can use to study for the exam.
Existing landscape of online resources for Behavior Analyst exam preparation is extremely limited: Limited Options: Currently available study materials are scarce, leaving students with few choices for comprehensive exam preparation. High Costs: A single exam can cost around $200, placing a significant financial burden on students. Lack of Flexibility: Most platforms offer one-time use exams. If a student wishes to retake the exam, they must repurchase the same set of questions and answers, leading to a less than desirable learning experience. UX Issues: Many platforms are not user-friendly, creating additional barriers to effective studying.
Create a web app that can generate unique test questions for studying, using the power of artificial intelligence. The user will be given a typical multiple choice question and answer format, they make their answer choices and the results are saved to a database. They can then look at their profile to see how they have done, what sections they need to get better at, and if they want to purchase more uses to test again.
The development and initial rollout of Applied Learning Labs have yielded promising outcome: Successful development: The concept was developed pretty efficiently, with the core functionality working as expected with little technical hurdles. Beta Testing: The platform is currently undergoing beta testing from a small group so that we can gather valuable user feedback and refine the UX. Identified Challenges: I have noticed some quirks that come with AI-generated content, occasionally resulting in unexpected or irrelevant generated questions. Potential for Disruption: Early indicators suggest that this app has the potential to significantly disrupt the current market for Behavior Analyst exam prep.
Problem:
Online resources for individuals to study for the Board Certified Behavior Analyst exam are limited, expensive, and not user friendly. One exam can cost around $200 and is limited to one use. If you want to retake the exam you have to pay again and the questions and answers are the same. Also, my wife was studying for the exam and I wanted to help her out!
Solution:
A web app that generates unique test questions for studying through the use of artificial intelligence. The test results are saved to a SQL database. The user dashboard aggregates their overall results and displays them through charts. Each test session shows their results when they are done with additional information regarding the topic, genre, and category of each question. Cost structure is a monthly subscription fee that is much cheaper than the competition. With the highest tier, users can take up to 900 questions a month. With Vercel and Cloudflare Workers generous free tiers, the application can serve thousands, maybe even hundreds of thousands requests a month for free. The only cost is the OpenAI api which is marginal per generation. LibSQL is used for the database and hosted on TursoDB which also has a very generous free tier. Keeping costs low is important for a solo developer.
Tech:
Trackman Pitcher Review
In the baseball world there is one popular machine that tracks ball flight information. This app takes the CSV files of those machines and parses it into a simple dashboard for people to review the data with a little more control.
Trackman’s technology is pretty revolutionary in capturing ball flight data, the analysis and presentation of this data have been somewhat limited: Restricted Access: Comprehensive data review was primarily confined to Trackman’s proprietary iPad app. Lack of Customization: Users had limited control over how they could review and interact with the data, making it challenging for teams and players to really dive into the data gathered. Data Format Limitations: CSV files of the raw data were available, this format is not user-friendly for most baseball professionals. Inflexible Analysis: Players, coaches, and scouts often have unique perspectives on which data points are most crucial, but lack tools to easily prioritize and visualize these specific metrics.
Create a web app that can parse the provided CSV file and display it in a dashboard that gives the user more control over what they want to look at. The graphs are pretty typical in the baseball world for analyzing ball flight data but lets users filter exactly what they want to look at.
The launch yielded several noteworthy outcomes: Niche Adoption: The app gained traction among a select group of users, particularly ones operating their own baseball facilities. This niche adoption demonstrated the app’s value in specific, data-focused environments. Positive User Feedback: Users reported satisfaction with the app’s offerings, appreciating the increased control and customization options for data analysis. Limited Ongoing Development: Given that this was conceived as a side project, ongoing development and bug fixes have been minimal. This has somewhat limited the app’s ability to adapt to changing data structures and user needs over time. Proof of Concept: The app successfully demonstrated the value of providing users with more control over their Trackman data, potentially influencing future developments in baseball analytics.
Problem:
Being able to review Trackman data is typically limited to their app. Alot of coaches, scouts, and players have access to csv files but no quick way to review them.
Solution:
A web app that allows users to upload Trackman csv files and review them in a clean and easy to understand layout. The charts that I chose to display are opinionated in the sense that I think they are the most important. I also wanted to make sure that the charts were easy to understand and not cluttered. The app is hosted on Vercel and uses React with Vite.js. You will need to use a csv file from Trackman to test the app, you can contact me through the contact form if you would like to test it out!