Automated ETL pipeline & 2D radar spatial analytics
Counter-Strike 2 Analytics & ETL Pipeline
An automated ETL pipeline and interactive Next.js platform ingesting 1,787 matches across 65 tournaments, reducing >380 GB of raw match replays into a compact 472 MB partitioned Parquet datastore.
Engineered an automated ETL pipeline ingesting 1,787 matches across 65 tournaments, reducing >380 GB of raw match replays into a compact 472 MB partitioned Parquet datastore (>99.8% storage reduction). Extracted and normalized 598,000+ combat events using Polars, computing 2D radar spatial projections and implementing 3-second sliding-window algorithms for trade-kill attribution. Built a resilient ingestion crawler with browser TLS impersonation, request jitter, circuit-breaker error handling, and SQLite WAL mode to track match processing state. Shipped an interactive Next.js dashboard featuring server-rendered tournament analytics, Canvas-based player form curves, and rating comparisons.
PythonPolarsNext.jsSnappy ParquetSQLiteSupabase
What it includes
- →Automated ETL pipeline ingesting 1,787 matches across 65 tournaments (>99.8% storage reduction)
- →598,000+ combat events with 2D radar projections and 3-second trade attribution
- →Resilient ingestion crawler with browser TLS impersonation and SQLite WAL tracking
Cross-platform flight history & edge-secured API
Flight Tracker Mobile App
A cross-platform flight-history app for iOS, Android, and web with authenticated search, private travel history, and custom route maps with yearly recaps.
Secured flight lookups behind a Supabase Edge Function with JWT validation, persistent HMAC-hashed IP and per-user rate limits, and 15-minute cached provider responses. Enforced Postgres Row-Level Security with cascading account deletion, normalized data against a 4,134-airport dataset, and calculated Great Circle flight distances. Automated CI/CD workflows using GitHub Actions to run 35 Vitest unit tests, Edge Function HTTP tests, and database authorization assertions with pgTAP.
ExpoReact NativeTypeScriptPostgreSQLSupabaseDeno
What it includes
- →Cross-platform app for iOS, Android, and web with authenticated search and yearly recaps
- →Supabase Edge Function with JWT validation, HMAC-hashed IP, and per-user rate limits
- →Postgres Row-Level Security with cascading account deletion and 4,134-airport normalization
Career trajectory forecasting & historical cap share analysis
NBA Player Analytics & Salary Cap Explorer
A full-stack analytics platform that processes 36,000+ player-season records across 80 seasons, serving interactive career charts, peak-age curves, and forecasts via Next.js and Supabase.
Developed a historical salary pipeline normalizing contracts into Cap Share percentages across eras, supporting stacked payroll-against-cap and roster composition visualizations. Built a leakage-safe ML pipeline with strict chronological validation splits (1976–2018 train, 2019–2022 validation, 2023–2024 test), resetting rolling features on non-consecutive seasons. Built an automated prediction service integrating two-stage classification and regression models, correcting for survivorship bias and publishing calibrated career forecasts to Supabase.
PythonNext.jsTypeScriptPostgreSQLSupabasescikit-learn
What it includes
- →Processes 36,000+ player-season records across 80 seasons with interactive dashboards
- →Historical salary pipeline normalizing contracts into Cap Share percentages across eras
- →Leakage-safe ML pipeline with strict chronological validation splits (1976–2018, 2019–2022, 2023–2024)