Pull to refresh

Show HN: Faceoff – A terminal UI for following NHL games (vincentgregoire.com)

by vcf 47 comments 136 points
Read article View on HN

47 comments

[−] divbzero 25d ago
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)

[−] j45 25d ago
Different sport though, but neat visualizations.
[−] yuppiepuppie 25d ago
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...

[−] stackskipton 25d ago
Officially no, but there is undocumented API (if you are commercial, they provide documentation and support) that is public without authentication.
[−] redanddead 25d ago
the more I think about it, the more it's actually so weird that the leagues don't have APIs
[−] Shalomboy 24d ago
The request definitely comes from the leagues' broadcast partners, right? They would want as many eyeballs concentrated in as few places as possible so they can sell ads for more.
[−] vcf 25d ago
I had the same thought, went ahead when I found an existing Python module to access the API.
[−] freedomben 25d ago
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

[−] vcf 25d ago
Yeah, I completely agree. It's awesome to be able to build anything you want (as long as it's not too complex). I, too, have at least a dozen, and I usually don't share, but with the playoffs starting, I felt others could enjoy this one.
[−] zawakin 25d ago
Same — similar pile accumulating, and GitHub has fallen way behind. I keep going back and forth on whether a monorepo is the right answer or if it'd just make the sprawl more legible without actually helping. How are you organizing yours?
[−] embedding-shape 25d ago

> It's awesome to be able to build anything you want (as long as it's not too complex).

That's the thing. It was always awesome, as long as it wasn't too complex. The only thing that changed for me what was "too complex".

[−] cr125rider 25d ago
Super fun! Nice job shipping!
[−] duncangh 24d ago
I love this - watching the hurricanes game right now! Autorefresh would be nice and then it looks like a small bug in the faceoff percentage as they both say 100% which shouldn't be possible at any point in the game. Also would be sick to be able to enter the team and roster detail page from within the game detail page. But I love this so much and appreciate you for building it :D

edit the face off percentage is still a little off it's updated to show this 87% - 67%. Also followed you on twitter and github.

[−] mooktakim 25d ago
It's like the reinvention of Teletext
[−] captn3m0 25d ago
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
[−] mallahan 25d ago
This is great. I recently asked AI how many software devs played hockey. It estimated 25k - 50k globally. It also called it a 'prestige sport' which never occurred to me (what with all the guys with missing teeth). But the cost of playing is getting significant. Still the most fun sport to play and watch.

Thanks for this - TUI is awesome.

[−] lucy_hnatchuk 22d ago
Sweet NHL TUI, Vincent! Live scores + standings in terminal? Hockey nerd's dream. Textual + NHL API = perfection. Installed via uvx—game on!
[−] ipaddr 25d ago
Do the endpoints still work?

https://api-web.nhle.com/v1

Keeping upto date endpoints for sport scores is the most difficult challenge.

[−] jlongman 25d ago
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.

[−] scarface74 23d ago
I just looked at it. It’s kind of interesting.

It’s the type of thing that I have thought about. But wouldn’t have done before AI.

[−] roxana_haidiner 23d ago
It looks interesting, but you can create this with any database, like mysql and create relations between tables, right?
[−] cyberax 25d ago
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.

[−] paolatauru 23d ago
curious how you handle the NHL feed latency. the undocumented API can be anywhere from 30s to 2 minutes behind the ice. do you poll on a fixed interval or do something smarter to keep it snappy
[−] embedding-shape 25d ago

> 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 :)

[−] rangersny1 25d ago
Nice! In practice, how far behind the TV broadcast does it end up being?
[−] dionian 25d ago
Not a hockey fan but i absolutely love this
[−] worldsavior 25d ago
NHL? What are we, Canadians?
[−] james-clef 25d ago
Wicked. Who is your team?
[−] testiam 21d ago
it's super cool
[−] itsnh98 25d ago
Go Habs!
[−] j45 25d ago
The missing interface from sports.
[−] _doctor_love 25d ago
settle down
[−] jiexiang 25d ago
[dead]
[−] zephyrwhimsy 25d ago
[dead]
[−] zephyrwhimsy 25d ago
[dead]
[−] vrr044 25d ago
[dead]
[−] pukaworks 25d ago
[dead]