Billiards-themed full-stack portfolio with 95 automated tests across 5 frameworks in 4 languages.
A fully documented REST API for managing a billiards league — players, matches, standings, and win/loss records. Built to showcase C#/.NET backend engineering, REST API design, Entity Framework, PostgreSQL integration, and containerized deployment.
A SpecFlow/Gherkin BDD test suite that validates every endpoint and business rule in league-api. Written in plain English scenarios that non-technical stakeholders can read and verify.
A Python data pipeline that generates synthetic billiards tournament data, stores it in SQLite, computes meaningful stats via SQL aggregations, and presents everything in an interactive Streamlit dashboard.
A React/TypeScript app for logging billiards practice sessions with shot-level detail, trend visualization across sessions, and Claude API coaching feedback.
A Playwright TypeScript test suite covering navigation, session management, and trend filtering for the-practice-log. 21 scenarios across 3 spec files with GitHub Actions CI integration.
A Flutter/Dart casual match scorekeeper for 9-Ball with innings tracking, break tracking, undo support, and an AI trash talk generator powered by the Claude API.