Hacker News new | ask | show | jobs
by CodeIsTheEnd 1554 days ago
Hey, HN! Creator here!

I started building Plain Text Sports last year when I was watching an NFL playoff game in rural southwest Wisconsin. We had poor TV reception -- the image was going in-and-out -- and the local radio station was mostly static. I tried to check ESPN, but the loading bar was as frozen as the ground outside. I then had the idea for a website designed for the pure sports fan: no ads, no images, just scores, play-by-play and stats, with a simple information-dense display.

I initially added support for the NBA so I could follow my beloved Milwaukee Bucks. I posted it to /r/nba, got over 600 upvotes in a few hours, and got perma-banned for self-promotion. (I did a Show HN too, but it didn't take off. [1]) Over the following months I added NHL, MLB, NFL, college basketball and football, and added standings and team schedules so it could really be a one-stop-shop for my sporting needs. Just this past month I added MLS and NWSL (National Women's Soccer League). I plan on adding the WNBA and the Premier League later this year too.

Obviously I designed the site with minimalism and efficiency in mind, as a reaction to the bloated web we see today. We don't need heaps of JavaScript just to display a bit of text, nor do we need half-a-dozen sites tracking our "engagement", and our "retention". People just want to get the information they're looking for, as fast as possible. Technology shouldn't get in the way.

Despite the austere presentation, I'm really proud of the design of the site. As a commenter noted, it's not actually plain text, but does use some CSS and a tiny bit of JavaScript (sue me!). But there are a lot of small details that I put a lot of effort into: the game times on the front page automatically show up in your local time zone, and the boxes automatically expand to fit long time-zones. For the NBA, the raw play-by-play data I get is very granular. A steal, for example, is both a turnover by the offensive player, and a steal for the defensive player, but I combine those into a single event in the timeline. For the NFL, I draw an ASCII drawing of the field showing the progress of the most recent play [2]. When a team wins a championship, they get an ASCII trophy and a dedicated spot on the front-page for the next week. It's been really fun trying to figure out how to pack as much information as possible into a 45 column-wide display.

A streamer I watch on Twitch [3] who does marketing at Nvidia also had a competition amongst his viewers to make their own ads, and that led me down another rabbit hole of fun "plain-text" videos. [4][5][6].

Plain Text Sports also led to my next project. I get a lot of data from publicly accessible, but undocumented JSON APIs, and it was frustrating digging through giant JSON files trying to understand how certain situations were represented. That led me to build jless [7], a command-line JSON viewer, which made it to the front page last month.

[1]: Original Show HN: https://news.ycombinator.com/item?id=26310314

[2]: ASCII football field: https://twitter.com/CodeIsTheEnd/status/1436003783327293452

[3]: Atrioc, Nvidia marketing streamer: https://twitch.tv/atrioc

[4]: Never Miss Moment Ad: https://www.youtube.com/watch?v=9t1qY0vOJWc

[5]: Bucks Championship Run: https://www.youtube.com/watch?v=4WHcP4PTBHY

[6]: Wisconsin Sports Ad: https://www.youtube.com/watch?v=dLsm0MirOEg

[7]: jless, a command-line JSON viewer: https://jless.io

7 comments

Love it and found it via Gruber's post.

Question: why not use a proportional font for all things other than the score? It would make readability much better. Is the output being mapped to individual character widths, that's why?

EDIT: One more question, is there a URL I can share that enables dark mode? e.g. https://plaintextsports.com/?mode=dark

Also, Nanum Gothic Coding has a fantastic monospace font that is highly readable. Might be worthwhile for you to consider using this free font since it will greatly increase readability.

It also has the added benefit that the "+" and the "---" align (I only mention this because I noticed the system monospace font on macOS does not align at the box score border "+----")

https://fonts.google.com/specimen/Nanum+Gothic+Coding?catego...

Great work on the website. I really like the minimalist style. Will definitely use it once you have the Premier League on there.

I’ve actually considered building a similar type of site for a while but wasn’t sure how to get the real-time sports score updates.

Do you have to pay for that data?

Very cool, thanks for making this! I'm curious if you have any plans to monetize the site, or at least cover your costs? I know the live sports data feeds are not that cheap!
This is really cool! Can you talk a bit about the backend: where is the data coming from, how often do you fetch it etc?
Thanks for your work. I've been using your site for a while. Amazing how in 2022, with 4G widely available, it's that difficult to check a game score every five minutes while you're working. It feels as if sites like ESPN optimize their sites to minimize the probability that they are useful.
This is awesome. Do you mind sharing the json data source you're using for the NBA data?
wow small world- you have a poster up in your window with the URL, right? i think you live around the corner from me!
I sure do! Knock if you ever want some stickers!