[HN Gopher] Show HN: Orange Juice - Small UX improvements that m...
       ___________________________________________________________________
        
       Show HN: Orange Juice - Small UX improvements that make HN easier
       to read
        
       Author : latchkey
       Score  : 68 points
       Date   : 2026-04-08 18:08 UTC (4 hours ago)
        
 (HTM) web link (oj-hn.com)
 (TXT) w3m dump (oj-hn.com)
        
       | Imustaskforhelp wrote:
       | 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
        
         | latchkey wrote:
         | 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.
        
           | smcleod wrote:
           | 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?).
           | 
           | *Edit: Whoops! I was confusing refinedHN with modernHN
           | (https://www.modernhn.com)
        
             | Leftium wrote:
             | 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
        
               | smcleod wrote:
               | Whoops! I was confusing refinedHN with modernHN
               | (https://www.modernhn.com)
        
             | latchkey wrote:
             | Just use my extension?
        
               | smcleod wrote:
               | Whoops! I was confusing refinedHN with modernHN
               | (https://www.modernhn.com)
        
           | Leftium wrote:
           | 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
        
             | latchkey wrote:
             | I have that in there.
             | 
             | https://github.com/OrangeJuiceExtension/OrangeJuice/blob/b8
             | 4...
        
               | Leftium wrote:
               | 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)
        
               | latchkey wrote:
               | I'm so confused. Can you explain it to me a bit more
               | clearly what you'd like to see? I literally just took the
               | code from refined.
               | 
               | https://github.com/plibither8/refined-hacker-
               | news/blob/ee7ef...
        
               | Leftium wrote:
               | I opened an issue with screenshots: https://github.com/Or
               | angeJuiceExtension/OrangeJuice/issues/1...
        
               | latchkey wrote:
               | Got it! I was using the username instead of the author of
               | the item.
               | 
               | https://github.com/OrangeJuiceExtension/OrangeJuice/pull/
               | 18
               | 
               | Fixed and closed (all with AI).
        
       | lagniappe wrote:
       | >AI-assisted, not AI-slop
       | 
       | >AI is used as a pair programmer to speed up implementation and
       | review, but architecture and final decisions are human. Tested,
       | not vibe coded
       | 
       | >The extension has extensive unit test coverage, quality checks,
       | and automation through CI/CD. This project is intentionally not
       | vibe coded.
       | 
       | I felt non-specific mixed feeling reading this. Seemed
       | unnecessary to say that so prominently twice. Be confident. If
       | you do a good job it shows in more ways than the code.
        
       | Isolated_Routes wrote:
       | This is helpful! Thank you
        
         | latchkey wrote:
         | :heart:
        
       | cobbman wrote:
       | I want hacker news UX to stay as it is, mostly, but these are
       | features I'd welcome.
        
         | latchkey wrote:
         | Thanks. My feeling as well.
        
         | dang wrote:
         | What features would you welcome?
        
           | latchkey wrote:
           | All the features I've added to this extension.
           | 
           | But if you want to pick one: 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.
        
             | dang wrote:
             | 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.
        
               | latchkey wrote:
               | 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
        
           | riidom wrote:
           | Also "unread comment highlighting" would be so good to have.
        
             | latchkey wrote:
             | That was actually kind of a pain to implement. Refined
             | didn't do it fully, mine covers a lot more edge cases.
        
               | riidom wrote:
               | Can imagine!
        
             | robin_reala wrote:
             | That's coming to stock HN:
             | https://news.ycombinator.com/item?id=47670008
        
           | minouye wrote:
           | It would be nice to flag who the OP is in the story comments.
           | Provides helpful context, esp. if they posted their own
           | project.
           | 
           | Here's one potential implementation:
           | 
           | https://chromewebstore.google.com/detail/hn-maker-
           | badge/khod...
        
       | maxloh wrote:
       | 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
        
         | latchkey wrote:
         | 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.
        
       | altairprime wrote:
       | 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.
        
         | latchkey wrote:
         | 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.
        
           | altairprime wrote:
           | Ah, oh well. Thanks!
        
           | zvr wrote:
           | Well, if it's AI-generated, it's not really copyrighted by
           | you and you cannot license it under GPL, since you did not
           | write it.
           | 
           | Nice work, nevertheless, and useful!
        
             | latchkey wrote:
             | It is AI assisted. I still wrote code and designed the core
             | architecture of how it works.
        
         | tomComb wrote:
         | That would be great! Please do.
        
         | satvikpendem wrote:
         | 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.
        
           | latchkey wrote:
           | Or you can just use my extension, heh.
        
           | dang wrote:
           | Some things have taken us 15 years and then pow they happened
        
             | Imustaskforhelp wrote:
             | 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?
        
               | robin_reala wrote:
               | Out of interest, why do you suppose that?
        
           | QQ00 wrote:
           | custom CSS is the way. I don't believe HN will ever adopt
           | dark mode. But the site is so stripped down it's easy to
           | write custom dark mode for it.
        
             | latchkey wrote:
             | https://github.com/OrangeJuiceExtension/OrangeJuice/blob/b8
             | 4...
        
       | Novosell wrote:
       | 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.
        
         | latchkey wrote:
         | Yes. -\\_(tsu)_/-
        
           | DrBenCarson wrote:
           | ...why?
        
             | latchkey wrote:
             | [flagged]
        
               | 59nadir wrote:
               | Why not just use the actual logos? It's not as if you
               | *have* to generate them.
        
               | semolino wrote:
               | Taking shortcuts with design tends to result in users
               | trusting your project less.
        
               | dartharva wrote:
               | You need AI to just replace the svg?
        
               | satvikpendem wrote:
               | 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.
        
               | latchkey wrote:
               | 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.
        
               | Fraterkes wrote:
               | 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 wrote:
               | Sorry for wasting your time.
        
               | satvikpendem wrote:
               | What simpler page would it be? It just shows off the
               | features with screenshots, not sure what else could be
               | made simpler.
        
       | ipsum2 wrote:
       | 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?
        
         | latchkey wrote:
         | 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.
        
       | xydac wrote:
       | its funny how us developers build varied UX, but nothing beats
       | the simplicity of HN's default experience. quick and bloat free.
        
         | latchkey wrote:
         | That's the beauty of this extension, it keeps things simple.
        
       | greenpizza13 wrote:
       | 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.
        
         | latchkey wrote:
         | Defaults to system. The toggle is in the top right corner of
         | the navbar next to your karma.
        
       | Klonoar wrote:
       | What on earth is that Firefox logo...?
        
         | latchkey wrote:
         | FIXED
        
       | ramon156 wrote:
       | > 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.
        
         | latchkey wrote:
         | Sure. What language would convince you?
         | 
         | UPDATE: I've changed the copy, it is pushing right now.
        
         | satvikpendem wrote:
         | 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.
        
       | wesz wrote:
       | 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...
        
         | latchkey wrote:
         | How is it over-engineered slop? Happy to improve things, but I
         | thought it was pretty clean.
        
           | wesz wrote:
           | 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?
        
             | latchkey wrote:
             | 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.
        
               | wesz wrote:
               | 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.
        
               | latchkey wrote:
               | Thanks for the feedback!
        
               | 59nadir wrote:
               | In all fairness, 30+ years of web development is exactly
               | what would convince you that shipping 1+ MB of JS is
               | fine, no? I'm not really kidding... Web development is
               | where all of the worst practices in programming thrive
               | and come from. Some of them are spending minutes
               | (sometimes 10+ minutes) compiling/"building" web pages
               | before they "deploy" them, and so on.
               | 
               | 30+ years in web development is what you say at the
               | support group to explain why you're there, not to
               | convince people you've developed good taste and
               | reasonable sensibilities.
               | 
               | Edit: Zed Shaw didn't know it at the time, but _" Rails
               | is a ghetto"_ wasn't describing even a local minimum in
               | web development, it was the start of an incredible valley
               | we've yet to see the bottom of. A sea of unskilled morons
               | unable and unwilling to learn even the basics of just
               | about everything came in droves and never left. Now they
               | have bullshit generators that'll generate the shit code
               | they probably were going to ship anyway, except faster.
        
               | latchkey wrote:
               | [deleted] apparently not ai generated. still sounds
               | weird.
        
               | 59nadir wrote:
               | I can assure that it's not. What makes you think I'd
               | waste my time writing HackerNews comments using LLMs?
               | Take a look at my post history and tell me honestly that
               | you believe that to be the case.
               | 
               | No, I just used a phrasing that reminded you of LLMs and
               | that's it. Funnily enough it also has no real bearing on
               | my argument; your 30+ years of web development didn't
               | stop you from shipping more than a MB of JS to add some
               | basic features to HackerNews [because LLMs wrote
               | everything for you].
               | 
               | "Every accusation is a confession" and all that...
        
             | dang wrote:
             | Hey please don't cross into personal attack. You can make
             | your substantive points without that.
             | 
             | https://news.ycombinator.com/newsguidelines.html
        
       | satvikpendem wrote:
       | "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.
        
         | latchkey wrote:
         | 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.
        
           | satvikpendem wrote:
           | 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.
        
             | latchkey wrote:
             | 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.
        
             | latchkey wrote:
             | The orange box is to mark where you are currently focused.
             | If you use the keyboard navigation (keys: j/k), it really
             | helps.
        
               | satvikpendem wrote:
               | It's distracting for those who don't use hjkl so might be
               | good to have it as an option.
        
               | latchkey wrote:
               | 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
        
         | etothet wrote:
         | I noticed this as well and came here to comment about it. The
         | term "vibe coding" is becoming quite overloaded.
        
       | odysseus wrote:
       | How about a Safari/Mobile Safari extension so iPhone users can
       | use it?
        
         | latchkey wrote:
         | 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
        
           | odysseus wrote:
           | 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.
        
             | latchkey wrote:
             | 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.
        
       | librasteve wrote:
       | dang.
       | 
       | just shedding feedbin & reeder (paid)
       | 
       | it's 'hide read stories' for me & darkmode
        
         | latchkey wrote:
         | Thanks! How about inline replies? That's my favorite.
        
       | gitgud wrote:
       | Another feature idea for you:
       | 
       | There's an extension that I loved called "Proven" (now archived)
       | which uses keybase.io proofs to show other proven accounts next
       | to hn users
       | 
       | https://github.com/dschep/proven
       | 
       | Also about this:
       | 
       | > Mermaid Diagram Rendering
       | 
       | Honest question, how often are people posting raw mermaid
       | diagrams in comments here?... I've never seen one
        
         | latchkey wrote:
         | Is there something else that replaces keybase proofs? I still
         | see a ton of people, including yourself with keybase in their
         | profile, but is anyone still seeing that used?
         | 
         | Nobody uses it because it wasn't supported. I had started off
         | doing images, but their CSP policies prevent an extension from
         | embedding images into the dom. SVG is still game on though.
         | That said, I've seen a bunch of people try to create their own
         | ascii art diagrams and wouldn't it be nice to have them just
         | rendered as svg?
        
       | darepublic wrote:
       | I would like to see users clustered by their political and
       | programming axes of belief
        
       ___________________________________________________________________
       (page generated 2026-04-08 23:00 UTC)