from Hacker News

Show HN: I made yet another UI to browse HN

by metahost on 10/27/23, 11:31 AM with 23 comments

Primarily built this to learn how NextJS works and also a bit about Tailwind CSS. Also has request caching using the WebCache API + expiration which is quite a hacky implementation.

Let me know what you think!

Source is at https://github.com/say4n/hn, pull requests welcome!

  • by Obscurity4340 on 10/27/23, 3:45 PM

    HACK (with the green-ish computer chip icon) is also amazing if you want something to "have"
  • by mortallywounded on 10/27/23, 6:49 PM

    > Application error: a client-side exception has occurred (see the browser console for more information).

    Thanks... I see nothing. Next is really doing well, eh.

  • by FractalHQ on 10/27/23, 6:28 PM

    The hardest part for me when building a HN reader was getting each article metadata to render the meta image / descriptions. I know the main site doesn’t do this, but my favorite iOS hn reader app (Octal) does this so I’m used to it and quite like it.

    I wanted to do it all locally / serverless but I struggled to find a good client friendly library for parsing meta tags that was 0 deps and typed so I wound up making a cloudflare worker to bypass cors and manually streamed the html to extract and parse the head element with a bit of regex and elbow grease.

    It worked out, but I wish the HN api would cache and provide that stuff once to save the authors from the extra load of all the clients like mine that need to make extra requests to each articles home page.

  • by LargoLasskhyfv on 10/27/23, 2:21 PM

    Looking good, but seems to be under the HN-hug of death, so slow. Also doesn't work with uBlock-origin, been lazy and just switching that of for your site.
  • by redder23 on 10/27/23, 4:02 PM

    Application error: a client-side exception has occurred (see the browser console for more information). When I click "new"
  • by notnmeyer on 10/27/23, 11:24 PM

    looks good widescreen, but portrait on mobile wraps the metadata bits in a distracting way