Show HN: Orange Juice – Small UX improvements that make HN easier to read

71 pointsposted 5 hours ago
by latchkey

95 Comments

darepublic

38 minutes ago

I would like to see users clustered by their political and programming axes of belief

altairprime

4 hours ago

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.

satvikpendem

4 hours ago

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.

dang

3 hours ago

Some things have taken us 15 years and then pow they happened

Imustaskforhelp

2 hours ago

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

2 hours ago

Out of interest, why do you suppose that?

latchkey

3 hours ago

Or you can just use my extension, heh.

tomComb

4 hours ago

That would be great! Please do.

latchkey

4 hours ago

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.

zvr

2 hours ago

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

2 hours ago

It is AI assisted. I still wrote code and designed the core architecture of how it works.

cobbman

4 hours ago

I want hacker news UX to stay as it is, mostly, but these are features I'd welcome.

dang

3 hours ago

What features would you welcome?

niyazpk

25 minutes ago

- Better formatting for text: (1) bullet points (2) markdown-like links (3) Slightly different background for code.

- More "sub-reddits". We already have Ask/Show HN. We probably can add a couple more to keep everything organized.

- Option to auto-collapse comments threads deeper than X levels by default. When they are all open by default like today, only the top comment and its children get more of the eyeballs.

latchkey

3 hours ago

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

2 hours ago

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

4 hours ago

Thanks. My feeling as well.

greenpizza13

4 hours ago

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

4 hours ago

Defaults to system. The toggle is in the top right corner of the navbar next to your karma.

ipsum2

4 hours ago

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

4 hours ago

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.

satvikpendem

4 hours ago

"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.

etothet

an hour ago

I noticed this as well and came here to comment about it. The term "vibe coding" is becoming quite overloaded.

latchkey

3 hours ago

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

3 hours ago

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

3 hours ago

The orange box is to mark where you are currently focused. If you use the keyboard navigation (keys: j/k), it really helps.

latchkey

3 hours ago

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.

xydac

4 hours ago

its funny how us developers build varied UX, but nothing beats the simplicity of HN's default experience. quick and bloat free.

latchkey

4 hours ago

That's the beauty of this extension, it keeps things simple.

gitgud

2 hours ago

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

2 hours ago

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?

librasteve

2 hours ago

dang.

just shedding feedbin & reeder (paid)

it's 'hide read stories' for me & darkmode

latchkey

2 hours ago

Thanks! How about inline replies? That's my favorite.

Imustaskforhelp

5 hours ago

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

4 hours ago

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

2 hours ago

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

2 hours ago

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

2 hours ago

Leftium

2 hours ago

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

2 hours ago

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...

odysseus

3 hours ago

How about a Safari/Mobile Safari extension so iPhone users can use it?

latchkey

3 hours ago

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

2 hours ago

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

2 hours ago

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.

ramon156

4 hours ago

> 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.

satvikpendem

3 hours ago

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.

latchkey

4 hours ago

Sure. What language would convince you?

UPDATE: I've changed the copy, it is pushing right now.

wesz

4 hours ago

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

4 hours ago

How is it over-engineered slop? Happy to improve things, but I thought it was pretty clean.

wesz

3 hours ago

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

3 hours ago

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

3 hours ago

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.

59nadir

2 hours ago

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.

wesz

7 minutes ago

Yeah, i'm also webdev with a couple of decades under my belt and i cry from time to time seeing what happened to it in the past 10+ years.

Webdevs nowadays blindly follow "trends" that phase out every couple of years, without really bringing anything of the value to the ecosystem.

latchkey

2 hours ago

[deleted] apparently not ai generated. still sounds weird.

59nadir

2 hours ago

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...

latchkey

2 hours ago

Thanks for the feedback!

Novosell

4 hours ago

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

4 hours ago

Yes. ¯\_(ツ)_/¯

DrBenCarson

4 hours ago

…why?

latchkey

4 hours ago

[flagged]

semolino

4 hours ago

Taking shortcuts with design tends to result in users trusting your project less.

59nadir

4 hours ago

Why not just use the actual logos? It's not as if you *have* to generate them.

dartharva

3 hours ago

You need AI to just replace the svg?

satvikpendem

3 hours ago

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

3 hours ago

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

3 hours ago

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?

satvikpendem

2 hours ago

What simpler page would it be? It just shows off the features with screenshots, not sure what else could be made simpler.

latchkey

3 hours ago

Sorry for wasting your time.

Klonoar

4 hours ago

What on earth is that Firefox logo...?