| ▲ | Show HN: Faceoff – A terminal UI for following NHL games(vincentgregoire.com) | ||||||||||||||||||||||||||||
| 75 points by vcf 5 hours ago | 25 comments | |||||||||||||||||||||||||||||
Faceoff is a TUI app written in Python to follow live NHL games and browse standings and stats. I got the inspiration from Playball, a similar TUI app for MLB games that was featured on HN. The app was mostly vibe-coded with Claude Code, but not one-shot. I added features and fixed bugs by using it, as I spent way too much time in the terminal over the last few months. Try it out with `uvx faceoff` (requires uv). | |||||||||||||||||||||||||||||
| ▲ | captn3m0 an hour ago | parent | next [-] | ||||||||||||||||||||||||||||
Link to the API Client is incorrect at the bottom: https://github.com/nhl-stats-api-client instead of https://github.com/liahimratman/nhl-api-client | |||||||||||||||||||||||||||||
| ▲ | jlongman an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
nIce! Does it have player in-game stats like TOI and +/-? This reminds me of that f1 tui… https://github.com/JustAman62/undercut-f1 or https://github.com/IAmTomShaw/f1-race-replay. The one I’m thinking of syncs with kodi for delayed playback “live” stats. | |||||||||||||||||||||||||||||
| ▲ | divbzero 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Related: Playball – Watch MLB games from a terminal - https://news.ycombinator.com/item?id=45451577 - Oct 2025 (146 comments) Playball: Watch MLB games from the comfort of your own terminal - https://news.ycombinator.com/item?id=37591070 - Sept 2023 (1 comment) Playball: Watch MLB games from the comfort of your own terminal - https://news.ycombinator.com/item?id=21653981 - Nov 2019 (42 comments) | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | yuppiepuppie 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Nice! I was thinking about doing something like this but for cycling, however one of the biggest PIA about building products for sports is all the gating of data. Does the NHL really provide an API for all games? That's nice... | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | freedomben 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Nice, I've now created dozens of little personal tools like this now :-) This is IMHO the killer AI feature for personal use. So many utlities I never would have spent time on are now within reach. Even just non-trivial bashrc aliases and functions | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | rangersny1 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Nice! In practice, how far behind the TV broadcast does it end up being? | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | james-clef 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Wicked. Who is your team? | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | cyberax 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
What next? Perhaps a small scripting language to run on the side of the terminal? You know, just to make some simple automations possible, nothing super-special. | |||||||||||||||||||||||||||||
| ▲ | _doctor_love 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
settle down | |||||||||||||||||||||||||||||
| ▲ | itsnh98 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Go Habs! | |||||||||||||||||||||||||||||
| ▲ | j45 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
The missing interface from sports. | |||||||||||||||||||||||||||||
| ▲ | embedding-shape 3 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||
> Acknowledgments - This project was inspired by Playball, a similar terminal application for following MLB baseball games. Should've gone for something generalized that could handle a bunch of different games, instead of just another sport, so someone caring about multiple sports don't need multiple TUIs :) | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||