I built a self-hosted MLB analytics tool with pitch-level Statcast data — strike zone heatmaps, spray charts, leaderboards

Wanted something like Baseball Savant I could run myself and tweak however I wanted, so I built one.

It's pulling Statcast data through a dbt-duckdb pipeline, with a React/D3 frontend for the visualizations. What it does:

Pitch-level strike-zone heatmaps per player Spray charts Season rollups and leaderboards All backed by a dbt pipeline so the data modeling is transparent and versioned, not a black box

It's live if you want to poke around: https://mlb.palanbates.com

Built with FastAPI on the backend, DuckDB for storage, dbt for the transforms. Since it's dbt-based, the underlying models are all inspectable if you're curious how a given stat is actually computed — no mystery aggregations.

Would love feedback on what stats or views are missing, especially from anyone who lives in Savant regularly and has opinions about what's missing there.

If you want to join the repo feel free as well to shoot me a message!

reddit.com
u/Mysterious-Reason522 — 10 days ago

I built a dependency-free Pomodoro timer for the terminal

I made a small tool called Pomotuimer.

It’s a full-screen Pomodoro timer that runs in the terminal with no packages, no account, and no setup beyond Python 3.10+.

Features:

  • large readable countdown
  • work, short break, and long break cycles
  • setup screen
  • pause/resume/skip controls
  • desktop + audio alerts
  • plain mode for background runs

I built it because I wanted a focus timer that didn’t need a browser tab or another app running.

https://github.com/wtbates99/pomotuimer

u/Mysterious-Reason522 — 3 months ago
▲ 1 r/DigitalPrivacy+1 crossposts

Been dealing with neck pain from sitting at a desk all day. Every posture app I found either required a subscription or sent my webcam data to their servers. So I built my own.

BatesPosture runs entirely on your machine using MediaPipe. It scores your posture 0–100, lives in your system tray, and sends a desktop notification when your posture drops. No accounts, no telemetry, no internet connection required.

Key features:

  • Tray icon changes color (red / amber / green) based on your live score
  • Calibrates to your posture baseline, not generic thresholds
  • Auto-pauses when you step away so stats aren’t skewed
  • Session dashboard with streak tracking, sparkline history, and CSV export

It’s free and open source. Clone and run with uv.

https://posture.palanbates.com

Happy to answer questions about how the ML side works.

reddit.com
u/Mysterious-Reason522 — 4 months ago