Latchkey, would you be comfortable with HN adopting your dark mode styling as a user choice someday, if they came around to liking it? I really like it and I think it’s in the spirit of the site.
Dang your comment excites me to think that Hackernews can have dark mode in future.
Aside from all of this AI hype, This is the feature I am most excited about xD!
Dang, genuine question but when you moderate/view Hackernews yourself, I suppose that you must yourself be using dark mode too correct? or do you view hackernews in light-mode?
Right now, I have to do a ton of magic to make that happen in order to work around your auth flow. Namely, pulling the auth token out of the other page and then having to keep track of it in session storage.
I could delete a whole lot of code if that was just built in.
By inline replies do you mean you click 'reply' and then a textbox opens in place?
The browser extension I wrote years ago, and which tomhow and I use for moderation, does this. I feel guilty about not having shared it a long time ago, but there just has never been time. Now that LLMs are starting to let me do things I've wanted to do for years, there's a chance I'll actually get to it before the sun dies.
I can't figure out how to toggle to Light Mode (maybe it uses the system setting?). HN is something I prefer to be in Light Mode but everything else in dark. Gonna remove until this is configurable.
Because I see this becoming bigger than me and a separate organization made sense. There is a super thin backend component right now too. There is the potential to also add in some extra features that require a server/db. I'm kind of inspired by the atuin model of things.
I've got a LONG list of features I'd like to implement over time.
It might be beneficial to tell me what the difference between these two can be? A lot of the features from my first glance (I can be totally wrong though) are within HN refined.
I would really appreciate a short summary of differences. Personally I am really happy by HN refined though so kudos to @plibither8
I used refined for years as well. Great product, but the underlying code was meh, and the author abandoned it. If you're using refined today, you're experiencing a lot of bugs as the HN DOM has changed over time.
I maintained my own fork for a long time but finally motivated myself to try out AI assisted coding and this is what came out of it. It isn't a port, it is a clean rewrite from the ground up.
I took every feature that I enjoyed from refined, re-implemented it from scratch, with a totally different architecture that allows much more control over the DOM and runs a whole lot faster.
I had AI write hundreds of of unit tests, so that we can make sure that bugs don't appear in the future. I also fixed a whole ton of edge cases along the way.
The entire deployment, all the way to the browser stores, is fully automated with CI/CD, so that we know that the supply chain is safe.
In other words, you might as well migrate. If there is something missing that you enjoyed, file an issue, or even better... a PR.
I tried contacting the author to see if he would open source it but he's gone dark and doesn't seem to really exist on the Internet anymore. So I grabbed the source code and modernised it, added additional feature and it's what I've been using ever since. I haven't open sourced it out of respect for the original author however the software does not actually have any license that prevents it so I have been considering what the best approach might be (any ideas?).
There was no [OP] label when I first reloaded this page, and now after replying, I am marked as the [OP].
edit: it seems the [OP] relies on a URL hash with the ID of the OP. However, this doesn't work for me because I don't navigate to HN posts from the HN site.
"Tested, not vibe coded" yet you mention the AI has written all the tests. This extension may not be vibe coded but it's close to that, it seems. Regardless it seems to work well, I replaced the older Refined Hacker News extension with this, which seems like where you initially sourced the code from as the features are very similar, 1:1 even for some.
What's the tech stack, pure TS? You also might want to migrate from Biome to oxc, I did recently and it plays well with Vite+ (or just move to Vite+) directly.
Noticed a bug, once I edit my own comment and go back to the main post, I show up as [op] not you. Also I should be able to edit my post inline not be moved to a separate page.
It is heavily coded with AI, but I'm also a 30+ year web developer. I'm not just one shotting all of the code, I'm reading it too. I'm feeling like it is giving me super powers.
See the thread below about refined, which hasn't received an update in 4 years.
I have HNRelevant on my list of features that I've been collecting.
I tried oxc and didn't like it as much as biome. They admittedly aren't as good at formatting yet. The real winner here is ultracite.
Sounds good. Another bug or quirk, with Refined, I was able to reply and then tab once to the reply button and hit enter. Now with the "HN's approach to comments and site guidelines." text I can't do that, "comments" and "guidelines" are links so I have to tab three times to get to the reply button which is annoying. Omit that text or change the tab order (this is possible in HTML with the tabindex attribute, just make the reply button higher priority).
Also add ctrl/cmd-enter support to submit the reply.
Also this orange border when clicking a comment or link on the front page is a bit annoying, especially when it doesn't seem to actually do anything (it's not a tab select style, that shows up as the browser's normal style), and it seems to persist.
Good feedback. I'm pushing a fix for this now. When you click the extension icon, there is now a preferences pane there and a checkbox to enable/disable the box.
Great suggestion! I literally took your comment, passed it into AI. At first it tried to remove the text as well as set tabIndex to -1 in code, but I think now I've got something I like.
This has been fixed and is making its way out now.
> Because Hacker News is great, but repetitive UI friction adds up. Orange Juice keeps the original feel while removing the things that cost you time every day.
That does not convince me to use your app? This is like calling someone's Kia shit and instead telling them to buy a Tesla, but just stating that it's better.
To me, that doesn't sound like your analogy at all. It'd be true if the extension for example redirected an HN thread to a reddit thread of the same posted URL, ie a replacement of the original, but the extension simply adds features to the existing site. There have been extensions like this available for years, like Refined HN which this is based off, as well as many third party HN clients. Therefore I think you should try it before judging so harshly.
Agreed. Unfortunately, the browser extension tool that I use, wxt [0], doesn't support Safari yet. It seems there are some work arounds, but I haven't gotten to it yet. PR's welcome, of course. =)
I don't know. If it is that simple, that would be great. I'll have to dive into it. Part of it is also to ensure that it gets added into the CI/CD workflow and fully automated.
Just doing that for Chrome and Firefox took a huge amount of effort to get fully set up and approved. Thankfully, it is now at the point where every PR goes live automatically.
The improvements are nice, that's for sure. But i checked out github and it looks like overengineered ai slop, you could implement all the features with 1/10 of the code. But again, nobody cares nowadays which makes me sad. You even generated chrome/firefox logos using ai...
Well, i downloaded firefox extension and checked the size of only *.js files without any additional assests - and it's 2 megabytes. Mermaid is around 800kb, so it still leaves over 1 megabyte of javascript.
The amount of abstraction alone for the project of this scope makes me cringe. You introduce unnecessary complexity.
These days, everyone is using AI for even small things, because honestly it's easier to say to an AI to use original SVGs and have it go out and find the correct ones with a web search tool call than to do it myself, it's simply a waste of my time for small tasks like that.
I think it's fine if you find the design of the site a trivial thing that others shouldn't focus on, but it kinda begs the question why you didn't just have the ai generate a much simpler page.
Why have the ai generate all this fluff when you just want to show of what you've made? You (rightfully!) care about not wasting your own time, why waste ours?
Latchkey, would you be comfortable with HN adopting your dark mode styling as a user choice someday, if they came around to liking it? I really like it and I think it’s in the spirit of the site.
I'm pretty sure that will never happen, as it would've happened already by now. People can and do already use custom CSS or Dark Reader for dark mode.
Some things have taken us 15 years and then pow they happened
Dang your comment excites me to think that Hackernews can have dark mode in future.
Aside from all of this AI hype, This is the feature I am most excited about xD!
Dang, genuine question but when you moderate/view Hackernews yourself, I suppose that you must yourself be using dark mode too correct? or do you view hackernews in light-mode?
Or you can just use my extension, heh.
That would be great! Please do.
Thanks! A lot of it is AI with my own input, but I think it did a great job.
The code is all open source and people can do with it what they want. It is GPLv3, but I'd special license it to them as MIT without question.
Ah, oh well. Thanks!
dang.
just shedding feedbin & reeder (paid)
it's 'hide read stories' for me & darkmode
Thanks! How about inline replies? That's my favorite.
I want hacker news UX to stay as it is, mostly, but these are features I'd welcome.
What features would you welcome?
Also "unread comment highlighting" would be so good to have.
That was actually kind of a pain to implement. Refined didn't do it fully, mine covers a lot more edge cases.
Can imagine!
Inline replies.
Right now, I have to do a ton of magic to make that happen in order to work around your auth flow. Namely, pulling the auth token out of the other page and then having to keep track of it in session storage.
I could delete a whole lot of code if that was just built in.
By inline replies do you mean you click 'reply' and then a textbox opens in place?
The browser extension I wrote years ago, and which tomhow and I use for moderation, does this. I feel guilty about not having shared it a long time ago, but there just has never been time. Now that LLMs are starting to let me do things I've wanted to do for years, there's a chance I'll actually get to it before the sun dies.
Yes. Here is the implementation I've got... note that I also added links to the rules/guidelines in an attempt to help with that issue too, heh.
And yes... AI enables so many things.
https://oj-hn.com/assets/inline-reply-light.png
Thanks. My feeling as well.
I can't figure out how to toggle to Light Mode (maybe it uses the system setting?). HN is something I prefer to be in Light Mode but everything else in dark. Gonna remove until this is configurable.
Defaults to system. The toggle is in the top right corner of the navbar next to your karma.
It looks pretty good! I'm using it now and its a meaningful improvement to the existing site.
Out of curiosity, why did you make a new Github account for the extension instead of developing it on your own account?
Thanks!
Because I see this becoming bigger than me and a separate organization made sense. There is a super thin backend component right now too. There is the potential to also add in some extra features that require a server/db. I'm kind of inspired by the atuin model of things.
I've got a LONG list of features I'd like to implement over time.
its funny how us developers build varied UX, but nothing beats the simplicity of HN's default experience. quick and bloat free.
That's the beauty of this extension, it keeps things simple.
I use refined Hacker news Extension.
https://github.com/plibither8/refined-hacker-news#highlights
It might be beneficial to tell me what the difference between these two can be? A lot of the features from my first glance (I can be totally wrong though) are within HN refined.
I would really appreciate a short summary of differences. Personally I am really happy by HN refined though so kudos to @plibither8
Refined hasn't received an update in 4 years.
https://github.com/plibither8/refined-hacker-news/issues/135...
I used refined for years as well. Great product, but the underlying code was meh, and the author abandoned it. If you're using refined today, you're experiencing a lot of bugs as the HN DOM has changed over time.
I maintained my own fork for a long time but finally motivated myself to try out AI assisted coding and this is what came out of it. It isn't a port, it is a clean rewrite from the ground up.
I took every feature that I enjoyed from refined, re-implemented it from scratch, with a totally different architecture that allows much more control over the DOM and runs a whole lot faster.
I had AI write hundreds of of unit tests, so that we can make sure that bugs don't appear in the future. I also fixed a whole ton of edge cases along the way.
The entire deployment, all the way to the browser stores, is fully automated with CI/CD, so that we know that the supply chain is safe.
In other words, you might as well migrate. If there is something missing that you enjoyed, file an issue, or even better... a PR.
I tried contacting the author to see if he would open source it but he's gone dark and doesn't seem to really exist on the Internet anymore. So I grabbed the source code and modernised it, added additional feature and it's what I've been using ever since. I haven't open sourced it out of respect for the original author however the software does not actually have any license that prevents it so I have been considering what the best approach might be (any ideas?).
Are you referring to https://github.com/plibither8/refined-hacker-news?
It's MIT-licensed open source.
I've been using a fork (also MIT): https://github.com/alexferrari88/refined-hacker-news
Just use my extension?
I just tried switching from a slightly more updated fork of Refined Hacker News (2025)[1]
One thing I miss is the orange mark identifying the OP of a post.
[1]: https://github.com/alexferrari88/refined-hacker-news
I have that in there.
https://github.com/OrangeJuiceExtension/OrangeJuice/blob/b84...
Ah, I see it must be the bug mentioned in another thread: https://news.ycombinator.com/item?id=47695328
There was no [OP] label when I first reloaded this page, and now after replying, I am marked as the [OP].
edit: it seems the [OP] relies on a URL hash with the ID of the OP. However, this doesn't work for me because I don't navigate to HN posts from the HN site.
I usually come from https://hn.leftium.com. (Or a page like https://hw.leftium.com/#/item/47694036)
"Tested, not vibe coded" yet you mention the AI has written all the tests. This extension may not be vibe coded but it's close to that, it seems. Regardless it seems to work well, I replaced the older Refined Hacker News extension with this, which seems like where you initially sourced the code from as the features are very similar, 1:1 even for some.
I also use this extension HNRelevant (https://addons.mozilla.org/en-US/firefox/addon/hnrelevant) which shows a list of similar posts, you might want to add that as an optional feature as well.
What's the tech stack, pure TS? You also might want to migrate from Biome to oxc, I did recently and it plays well with Vite+ (or just move to Vite+) directly.
Noticed a bug, once I edit my own comment and go back to the main post, I show up as [op] not you. Also I should be able to edit my post inline not be moved to a separate page.
It is heavily coded with AI, but I'm also a 30+ year web developer. I'm not just one shotting all of the code, I'm reading it too. I'm feeling like it is giving me super powers.
See the thread below about refined, which hasn't received an update in 4 years.
I have HNRelevant on my list of features that I've been collecting.
I tried oxc and didn't like it as much as biome. They admittedly aren't as good at formatting yet. The real winner here is ultracite.
Sounds good. Another bug or quirk, with Refined, I was able to reply and then tab once to the reply button and hit enter. Now with the "HN's approach to comments and site guidelines." text I can't do that, "comments" and "guidelines" are links so I have to tab three times to get to the reply button which is annoying. Omit that text or change the tab order (this is possible in HTML with the tabindex attribute, just make the reply button higher priority).
Also add ctrl/cmd-enter support to submit the reply.
Also this orange border when clicking a comment or link on the front page is a bit annoying, especially when it doesn't seem to actually do anything (it's not a tab select style, that shows up as the browser's normal style), and it seems to persist.
The orange box is to mark where you are currently focused. If you use the keyboard navigation (keys: j/k), it really helps.
It's distracting for those who don't use hjkl so might be good to have it as an option.
Good feedback. I'm pushing a fix for this now. When you click the extension icon, there is now a preferences pane there and a checkbox to enable/disable the box.
https://github.com/OrangeJuiceExtension/OrangeJuice/pull/15
Great suggestion! I literally took your comment, passed it into AI. At first it tried to remove the text as well as set tabIndex to -1 in code, but I think now I've got something I like.
This has been fixed and is making its way out now.
> Why Install Orange Juice?
> Because Hacker News is great, but repetitive UI friction adds up. Orange Juice keeps the original feel while removing the things that cost you time every day.
That does not convince me to use your app? This is like calling someone's Kia shit and instead telling them to buy a Tesla, but just stating that it's better.
I'll stick to HN, thanks.
To me, that doesn't sound like your analogy at all. It'd be true if the extension for example redirected an HN thread to a reddit thread of the same posted URL, ie a replacement of the original, but the extension simply adds features to the existing site. There have been extensions like this available for years, like Refined HN which this is based off, as well as many third party HN clients. Therefore I think you should try it before judging so harshly.
Sure. What language would convince you?
UPDATE: I've changed the copy, it is pushing right now.
I built a Stylus theme to make Hacker News' UI more modern.
Some screenshots:
https://raw.githubusercontent.com/mon-jai/modern-hacker-news...
https://raw.githubusercontent.com/mon-jai/modern-hacker-news...
https://raw.githubusercontent.com/mon-jai/modern-hacker-news...
Repo:
https://github.com/mon-jai/modern-hacker-news
This is exactly what I don't want my extension to become. I don't want a new UX, I want the existing UX to be enhanced.
How about a Safari/Mobile Safari extension so iPhone users can use it?
Agreed. Unfortunately, the browser extension tool that I use, wxt [0], doesn't support Safari yet. It seems there are some work arounds, but I haven't gotten to it yet. PR's welcome, of course. =)
[0] https://wxt.dev/guide/essentials/publishing.html#safari
Is it just:
pnpm wxt build -b safari xcrun safari-web-extension-converter .output/safari-mv2
And that’s it? Or is there some hidden extra work involved.
I don't know. If it is that simple, that would be great. I'll have to dive into it. Part of it is also to ensure that it gets added into the CI/CD workflow and fully automated.
Just doing that for Chrome and Firefox took a huge amount of effort to get fully set up and approved. Thankfully, it is now at the point where every PR goes live automatically.
This is helpful! Thank you
:heart:
The improvements are nice, that's for sure. But i checked out github and it looks like overengineered ai slop, you could implement all the features with 1/10 of the code. But again, nobody cares nowadays which makes me sad. You even generated chrome/firefox logos using ai...
How is it over-engineered slop? Happy to improve things, but I thought it was pretty clean.
You claim to have 30+ years of webdev experience and yet 2 MEGABYTES of javascript only for those features doesn't feel/look wrong to you?
Hey please don't cross into personal attack. You can make your substantive points without that.
https://news.ycombinator.com/newsguidelines.html
You're not really answering the question.
That's the bundle size, not the amount of code in the project.
I've done nothing to try to optimize the bundle size, but I suspect that a lot of it has to do with some of the third party dependencies like mermaid.
Well, i downloaded firefox extension and checked the size of only *.js files without any additional assests - and it's 2 megabytes. Mermaid is around 800kb, so it still leaves over 1 megabyte of javascript.
The amount of abstraction alone for the project of this scope makes me cringe. You introduce unnecessary complexity.
Thanks for the feedback!
Did you ai generate the Chrome and Firefox logo? That isn't what they look like, or have ever looked like, from what I know.
Yes. ¯\_(ツ)_/¯
…why?
[flagged]
Taking shortcuts with design tends to result in users trusting your project less.
Why not just use the actual logos? It's not as if you *have* to generate them.
You need AI to just replace the svg?
These days, everyone is using AI for even small things, because honestly it's easier to say to an AI to use original SVGs and have it go out and find the correct ones with a web search tool call than to do it myself, it's simply a waste of my time for small tasks like that.
Of course I don't, but if it helps me do trivial tasks so that I can focus on other things, I might as well use it.
I think it's fine if you find the design of the site a trivial thing that others shouldn't focus on, but it kinda begs the question why you didn't just have the ai generate a much simpler page. Why have the ai generate all this fluff when you just want to show of what you've made? You (rightfully!) care about not wasting your own time, why waste ours?
What simpler page would it be? It just shows off the features with screenshots, not sure what else could be made simpler.
Sorry for wasting your time.
What on earth is that Firefox logo...?
FIXED