Plain Text Sports
Hey, HN! Creator here!<p>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.<p>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.<p>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.<p>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.<p>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].<p>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.<p>[1]: Original Show HN: <a href="https://news.ycombinator.com/item?id=26310314" rel="nofollow">https://news.ycombinator.com/item?id=26310314</a><p>[2]: ASCII football field: <a href="https://twitter.com/CodeIsTheEnd/status/1436003783327293452" rel="nofollow">https://twitter.com/CodeIsTheEnd/status/1436003783327293452</a><p>[3]: Atrioc, Nvidia marketing streamer: <a href="https://twitch.tv/atrioc" rel="nofollow">https://twitch.tv/atrioc</a><p>[4]: Never Miss Moment Ad: <a href="https://www.youtube.com/watch?v=9t1qY0vOJWc" rel="nofollow">https://www.youtube.com/watch?v=9t1qY0vOJWc</a><p>[5]: Bucks Championship Run: <a href="https://www.youtube.com/watch?v=4WHcP4PTBHY" rel="nofollow">https://www.youtube.com/watch?v=4WHcP4PTBHY</a><p>[6]: Wisconsin Sports Ad: <a href="https://www.youtube.com/watch?v=dLsm0MirOEg" rel="nofollow">https://www.youtube.com/watch?v=dLsm0MirOEg</a><p>[7]: jless, a command-line JSON viewer: <a href="https://jless.io" rel="nofollow">https://jless.io</a>