3 ms·
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 rece
by CodeIsTheEnd 5y 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 https://news.ycombinator.com/item?id=26310314
[2]: ASCII football field: https://twitter.com/CodeIsTheEnd/status/1436003783327293452 https://twitter.com/CodeIsTheEnd/status/1436003783327293452
[3]: Atrioc, Nvidia marketing streamer: https://twitch.tv/atrioc https://twitch.tv/atrioc
[4]: Never Miss Moment Ad: https://www.youtube.com/watch?v=9t1qY0vOJWc https://www.youtube.com/watch?v=9t1qY0vOJWc
[5]: Bucks Championship Run: https://www.youtube.com/watch?v=4WHcP4PTBHY https://www.youtube.com/watch?v=4WHcP4PTBHY
[6]: Wisconsin Sports Ad: https://www.youtube.com/watch?v=dLsm0MirOEg https://www.youtube.com/watch?v=dLsm0MirOEg
[7]: jless, a command-line JSON viewer: https://jless.io https://jless.io
- bachmeier 5y agoThanks 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.
- tiffanyh 5y agoLove 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 https://plaintextsports.com/?mode=dark
- tiffanyh 5y agoAlso, 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?category=Monospace&preview.text=Almost%20before%20we%20knew%20yet,%20we%20had%20left%20the%20grou&preview.text_type=custom https://fonts.google.com/specimen/Nanum+Gothic+Coding?catego...
- modo_ 5y agowow small world- you have a poster up in your window with the URL, right? i think you live around the corner from me!
- CodeIsTheEnd 5y agoI sure do! Knock if you ever want some stickers!
- stephenhandley 5y agoThis is awesome. Do you mind sharing the json data source you're using for the NBA data?