Show HN: I made yet another UI to browse HN
hn.sayan.pagePrimarily 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! HACK (with the green-ish computer chip icon) is also amazing if you want something to "have" I wish for a combo of HACK and Octal. I like the UI of Octal more but it doesn’t support notifications nor does it show your comment karma (which isn’t a big deal but it’s a little annoying). Also Octal has some weird bugs like not removing the downvote button after 24 hours so you just get an odd error when you click it. And the thing that bugs me the most where if you swipe back then change your mind you can’t swipe forward to go back to the comment thread you were on (a la Apollo, RIP). What makes it worse is swiping “forward” changes the “tab” you are on losing your scroll place in the list of HN posts. My muscle memory will never stop doing this though. My issues with Octal are that it doesn’t show my reply immediately after posting and worse: it always throws an error when I edit my replies even though the edit worked in the background. It also collapses double spacing on edit sometimes. It’s a pretty bad app unless you’re just reading. I assume the developer never touched it again after deploying it which wouldn’t be an issue if you didn’t have to pay to unlock comment writing (its worst implemented feature). I completely agree with you. I think you hit the nail on the head, it’s good for reading and not much more. The UI is pretty good but the UX leaves a lot to be desired. See I love HACK's UI the most although I agree (if memory is correct that didnt mind or was even nominally impressed on that front) and the dev is super nice and responsive. I like that I can "turn it" orange to so it matches I much prefer Hacki, it's much lighter and OSS, the dev is also very nice > 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. Yikes, that's weird -- can't reproduce but I will keep an eye out for it! It's an issue with react that I believe is caused by not allowing access to local storage Nothing special going on with my system-- just Firefox with ublock origin. Do you happen to have any additional block lists populated apart from the default ones by uBO? -- I also have the same setup but it works for me. I am in Firefox 118. I added your domain to the exception list in uBO and the error still happens. The only request that was being blocked was the Vercel analytics request, but on the safe list that doesn't get blocked and the error still happens. Standard privacy settings in Firefox. React error claims to be "Objects are not valid as a React child (found: [missing argument]). If you meant to render a collection of children, use an array instead." Probably useless information... looks to die in the hydration of the page. There's a flash of the HN header and "Loading..." before it dies. I see -- thanks! My hunch is the whole web api caching thingy... maybe don't do anything fancy. What prevented you from fetching the top stories and caching on the server? Couldn't the server render the react components for all pages/comments? Why does it even need to run anything client side? Page doesn't do anything useful with JS disabled.. you should be able to at least render the stories/comments/etc. 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. 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. Now it's utterly useless and completely down. :( Yikes, that sucks -- Vercel's free tier seems to have struggled. :/ Thanks, appreciate the kind words! :) Application error: a client-side exception has occurred (see the browser console for more information). When I click "new" Yikes, that's weird -- can't reproduce but I will keep an eye out for it! looks good widescreen, but portrait on mobile wraps the metadata bits in a distracting way