Most active commenters
  • simonw(15)
  • owebmaster(5)
  • (4)
  • bee_rider(4)
  • tolerance(3)
  • th0ma5(3)
  • aleksituk(3)
  • lazide(3)
  • johnb231(3)

←back to thread

467 points bookofjoe | 113 comments | | HN request time: 2.868s | source | bottom

I would very much like to enjoy HN the way I did years ago, as a place where I'd discover things that I never otherwise would have come across.

The increasing AI/LLM domination of the site has made it much less appealing to me.

1. simonw ◴[] No.44571983[source]
I built you this: https://tools.simonwillison.net/hacker-news-filtered

It shows you the Hacker News page with ai and llm stories filtered out.

You can change the exclusion terms and save your changes in localStorage.

o3 knocked it out for me in a couple of minutes: https://chatgpt.com/share/68766f42-1ec8-8006-8187-406ef452e0...

Initial prompt was:

  Build a web tool that displays the Hacker
  News homepage (fetched from the Algolia API)
  but filters out specific search terms,
  default to "llm, ai" in a box at the top but
  the user can change that list, it is stored
  in localstorage. Don't use React.
Then four follow-ups:

  Rename to "Hacker News, filtered" and add a
  clear label that shows that the terms will
  be excluded

  Turn the username into a link to
  https://news.ycombinator.com/user?id=xxx -
  include the comment count, which is in the
  num_comments key

  The text "392 comments" should be the link,
  do not have a separate thread link

  Add a tooltip to "1 day ago" that shows the
  full value from created_at
replies(21): >>44572045 #>>44572051 #>>44572058 #>>44572072 #>>44572117 #>>44572167 #>>44572402 #>>44572709 #>>44573004 #>>44573505 #>>44573595 #>>44574229 #>>44574695 #>>44574746 #>>44574897 #>>44575009 #>>44575796 #>>44575863 #>>44576014 #>>44576896 #>>44578374 #
2. rottc0dd ◴[] No.44572045[source]
Top story: Kiro: new agentic IDE
replies(2): >>44572088 #>>44572107 #
3. pxc ◴[] No.44572051[source]
This is neat, but with the given filters you autoselected (just the phrases "llm" and "ai"), of the 14 stories I see when I visit the page, 4 of them (more than 25%!) are still stories about AI. (At least one of them can't be identified by this kind of filtering because it doesn't use any AI-related words in its headline, arguably maybe two.)
replies(2): >>44573888 #>>44574183 #
4. CL_ergo ◴[] No.44572058[source]
There's a special kind of irony to use AI to help out the people who hate AI.

It's not hypocrisy or anything negative like that, but I do find it amusing for some reason.

replies(3): >>44573035 #>>44574623 #>>44575051 #
5. fouronnes3 ◴[] No.44572072[source]
Great example of the power of vibe coding. The first item is literally "Kiro: A new agentic IDE".
replies(4): >>44572173 #>>44573207 #>>44574135 #>>44574503 #
6. samtheprogram ◴[] No.44572088[source]
Just add “agent” to the search box. It’s saved in local storage.
7. simonw ◴[] No.44572107[source]
I just added "agent" to the default exclusion list.
replies(2): >>44572233 #>>44572680 #
8. jtbaker ◴[] No.44572117[source]
feature request for OP: sort by "LLM Agentic AI" embedding cosine distance desc
9. simpaticoder ◴[] No.44572167[source]
An interesting example of both LLMs' strengths and weaknesses. It is strong because you wrote a useful tool in a few minutes. It is weak because this tool is strongly coupled to the problem: filtering HN. It's an example of the more general problem of people wanting to control what they see. This has existed at least since the classic usenet "killfiles", but is an area that, I believe, has been ripe for a comprehensive local solution for some time.

OTOH, narrow solutions validate the broader solution, especially if there are a lot of them. Although in that case you invite a ton of "momentum" issues with ingrained user bases (and heated advocacy), hopelessly incompatible data models and/or UX models, and so on. It's an interesting world (in the Chinese curse sense) where such tools can be trivially created. It's not clear to me that fitness selection will work to clean up the landscape once it's made.

replies(2): >>44573755 #>>44574160 #
10. raincole ◴[] No.44572173[source]
There is literally an input box to put terms you want to exclude...

The prompt asks for "filters out specific search terms", not "intelligently filter out any AI-related keywords." So yes, a good example of the power of vibe coding: the LLM built a tool according to the prompt.

replies(4): >>44572244 #>>44573662 #>>44574580 #>>44574660 #
11. luke-stanley ◴[] No.44572233{3}[source]
Still seeing `Kiro: A new agentic IDE` BTW.
replies(1): >>44572306 #
12. FroshKiller ◴[] No.44572244{3}[source]
So I have to stay up to date on AI stories just to know what buzzwords I should filter so I don't see AI stories?
replies(9): >>44572311 #>>44572312 #>>44572318 #>>44572337 #>>44572587 #>>44573367 #>>44573411 #>>44573977 #>>44574637 #
13. simonw ◴[] No.44572306{4}[source]
If the filters UI at the top shows "llm, ai" instead of "llm, ai, agent" then you probably have that previous search saved in localStorage.
replies(1): >>44574493 #
14. ChromaticPanic ◴[] No.44572311{4}[source]
That's how any filtering service works
15. simonw ◴[] No.44572312{4}[source]
Sounds to me like you want a deeper version of this that uses AI instead of keywords to help filter out AI stories.
replies(3): >>44572568 #>>44573494 #>>44573641 #
16. raincole ◴[] No.44572318{4}[source]
...Yes? This is how this tool is coded. Machines do what one codes them to do, not what one wants them to do. If you're interested in making a more intelligent tool you can do it. This tool does exactly what @simonw says it does.
17. arcfour ◴[] No.44572337{4}[source]
A tool was offered that can accomplish what you want, with a very small amount of added effort on your part.

No, you do not have to "stay up to date on AI stories"—if you see one, add the keyword to the list and move on. There are not as many buzzwords as you seem to be implying, anyways.

If you are dissatisfied, you are welcome to build your own intelligent version (but I am not sure this will be straightforward without the use of AI).

18. butlike ◴[] No.44572402[source]
It only shows 13 stories? And no pagination.
replies(1): >>44573183 #
19. shepherdjerred ◴[] No.44572568{5}[source]
At a certain point it’s ironic
replies(1): >>44573071 #
20. Reubachi ◴[] No.44572587{4}[source]
Our brain decodes info based on context and extrapolation

This submission we're commenting on could be about filtering out any data, not just AI stuff. Politics, crypto, AI etc. Or more minute like "Trump" "fracking" "bitcoin" etc.

In any of these scenarios, with a tool designed to filter out content based on limited context, when would you ever be perfectly satisfied?

would you like AI to help you build the perfect context-filter model?

replies(1): >>44573295 #
21. lossolo ◴[] No.44572680{3}[source]
"Onedrive is slow on Linux but fast with a “Windows” user-agent"

"Agents raid home of fired Florida data scientist who built Covid-19 dashboard"

"Confessions of an ex-TSA agent"

"Terrible real estate agent photographs"

etc etc

replies(1): >>44573163 #
22. NotPractical ◴[] No.44572709[source]
Probably would work better as a userscript, so you don't have to rely on a random personal website never going down just to use HN. I don't have a ChatGPT account but I am curious as to if it could do that automatically too.
replies(1): >>44573807 #
23. ◴[] No.44573004[source]
24. owebmaster ◴[] No.44573035[source]
There is an even more special kind of irony to see it failing as the top ranked story now is "Kiro: A new agentic IDE"
replies(1): >>44573172 #
25. tolerance ◴[] No.44573071{6}[source]
I think we're well past that stage. Using AI to escape AI. Does that count?
replies(1): >>44573362 #
26. simonw ◴[] No.44573163{4}[source]
See comment here: https://news.ycombinator.com/item?id=44571740#44572312
replies(1): >>44576818 #
27. simonw ◴[] No.44573172{3}[source]
Already fixed https://github.com/simonw/tools/commit/f95b306be7b584f388256...
replies(1): >>44573254 #
28. ◴[] No.44573183[source]
29. firesteelrain ◴[] No.44573207[source]
I like this because things can stay permanently filtered. Just not across devices. But that wasn't one of the original requirements.
30. owebmaster ◴[] No.44573254{4}[source]
I know but the irony stands. We will get used to people getting embarrassed by AI results.
replies(1): >>44573328 #
31. bee_rider ◴[] No.44573295{5}[source]
And certainly in our anti-politics filter we’d want to include the filtering of stories that promote the extreme political position that tech is somehow detached from politics! (Especially Silicon Valley startup tech that owes so much to the local politics and economy of California).

Which is to say, filtering politics out is absurd, one person’s extreme politics is another’s default view of the universe.

replies(1): >>44573790 #
32. bee_rider ◴[] No.44573328{5}[source]
This seems like exactly the type of problem human-written filtering systems fall into as well.
replies(1): >>44573775 #
33. voisin ◴[] No.44573362{7}[source]
I think there’s another step here: Using AI to build tools that use AI to escape AI.

Eventually: using AI to build tools that use AI to escape AI using tools that use AI.

replies(1): >>44573589 #
34. furyofantares ◴[] No.44573367{4}[source]
Add the buzzword when you see a story you don't like. Or settle with it filtering 90% of the AI content and just don't click on whatever remains, I doubt you expect the top story to be interesting to you 100% of the time.
35. sergiotapia ◴[] No.44573411{4}[source]
sounds like you need an AI to sort out and predict what you won't want to see ;)
36. ◴[] No.44573494{5}[source]
37. pton_xd ◴[] No.44573505[source]
[flagged]
replies(3): >>44573647 #>>44573680 #>>44573843 #
38. tolerance ◴[] No.44573589{8}[source]
> using AI to build tools that use AI to escape AI using tools that use AI

Few illustrations are so absurd yet feasible enough to depict as horrendous a reality as this.

replies(1): >>44574590 #
39. th0ma5 ◴[] No.44573595[source]
Perhaps you should add a privacy policy or just release the source rather than assume people will trust your site. Why do you do these demos if you aren't upfront about all the things the LLMs didn't do?
replies(2): >>44573849 #>>44574964 #
40. aleksituk ◴[] No.44573641{5}[source]
Lol, yup. See azath92 comment - https://www.hackernews.coffee/
41. gamerDude ◴[] No.44573647[source]
Now that's impressive. I've worked with and managed many humans and almost never do I get want I want back in one prompt.

Even ones with detailed specs and the human agreed to them don't come back exactly as written.

42. throwaway290 ◴[] No.44573662{3}[source]
The prompt was to exclude llm and ai by default though
replies(2): >>44573785 #>>44573821 #
43. paulddraper ◴[] No.44573680[source]
tf humans do you work with?

That's at least 5 JIRA tickets.

replies(1): >>44575440 #
44. azath92 ◴[] No.44573755[source]
Not sure what a local solution would look like when what you see is on websites, maybe a browser extension? we just made a similar reskin as a website, and it works great, but is ultimately another site you have to go to. Its another narrow solution with some variation (we do use AI to do the ranking rather than keyword filtering), but im interested in the form factors that might give maximal control to a user.
45. owebmaster ◴[] No.44573775{6}[source]
human-written filtering systems don't brag about having a solution for a problem in 2 minutes and fail.
replies(2): >>44574659 #>>44578606 #
46. marcellus23 ◴[] No.44573785{4}[source]
the prompt was "default to "llm, ai"", which is exactly what it did. Nothing in the prompt about defaulting to other related terms
replies(1): >>44578130 #
47. lazide ◴[] No.44573790{6}[source]
In a similar vein, I’ve had people assert (in all seriousness), their English had no discernible accent because they were American.

It’s a similar kind of mindset.

48. aleksituk ◴[] No.44573807[source]
Interesting idea, we could consider that as an alternative implementation to https://www.hackernews.coffee/. While we are planning on making it open-source, a userscript would be even more robust as a solution, although would need a personal API key to one of the services.
49. Tostino ◴[] No.44573821{4}[source]
And that title didn't contain either of those words...what is the complaint again?
replies(2): >>44574121 #>>44574477 #
50. aleksituk ◴[] No.44573843[source]
I think it's a bifurcation between 0-1 prompts (self-driven) and a 1,000 prompts :)
51. simonw ◴[] No.44573849[source]
I released the source: https://github.com/simonw/tools/blob/main/hacker-news-filter... (Apache 2 licensed) and a commit history listing the prompts I used. https://github.com/simonw/tools/commits/main/hacker-news-fil... - also displayed on the site here: https://tools.simonwillison.net/colophon#hacker-news-filtere...

I don't think I need a privacy policy since the app is designed so that nothing gets logged anywhere - it works by hitting the Algolia API directly from your browser, but the filtering happens locally and is stored in localStorage so nobody on earth has the ability to see what you filtered.

The API it uses is https://hn.algolia.com/api/v1/search?tags=front_page - which is presumably logged somewhere (covered by Algolia's privacy policy) but doesn't serve any cookies.

> Why do you do these demos if you aren't upfront about all the things the LLMs didn't do?

What do you mean by that?

replies(2): >>44575020 #>>44577269 #
52. azath92 ◴[] No.44573888[source]
people have said it elsewhere, but I think you might have to fight fire with fire if you want semantic filtering.
53. throwanem ◴[] No.44573977{4}[source]
Isn't it enough to bury yourself under the rock? - you want the fact of your having done so concealed from you also? But what about the fact of wanting that?
54. ackfoobar ◴[] No.44574121{5}[source]
if all you want is word filtering in the title, you can simply write an adblock rule.
replies(1): >>44574406 #
55. aorloff ◴[] No.44574135[source]
Also a great example of how software can be perfectly to spec and also completely broken.
56. aorloff ◴[] No.44574160[source]
It is strong because you believed it created something of value. Did it work ? Maybe. But regardless of whether it worked, you still believed in the value, and that is the "power" of AIs right now, that humans believe that they create value.
57. IanCal ◴[] No.44574183[source]
> of the 14 stories I see when I visit the page, 4 of them (more than 25%!)

Llm maths? ;)

replies(1): >>44574535 #
58. bodash ◴[] No.44574229[source]
I also built https://lessnews.dev (HN filtered by webdev links)

One decision I had to make was whether the site should update in real time or be curated only. Eventually, I chose the latter because my personal goal is not to read every new link, but to read a few and understand them well.

59. dawnerd ◴[] No.44574406{6}[source]
But how are you supposed to hype AI by using old tech like that?
replies(1): >>44575043 #
60. nice_byte ◴[] No.44574477{5}[source]
because the point is literally to filter based on vibes not precise keywords
replies(1): >>44574691 #
61. hereonout2 ◴[] No.44574493{5}[source]
Huge respect for all your articles and work on llms, but this example should have been using AI to create a tool that uses AI to intelligently filter hacker news :)
replies(1): >>44581774 #
62. savolai ◴[] No.44574503[source]
llm, ai, cuda, agent, gpt.

Wish it returned more unfiltered items tho.

replies(1): >>44574720 #
63. juped ◴[] No.44574535{3}[source]
25% of 14 is 3.5. 4 is more than 3.5. Ask grock if you still don't get it.
64. johnb231 ◴[] No.44574580{3}[source]
Just write “there is an input box …”.

Stop saying “literally”.

replies(3): >>44574630 #>>44574892 #>>44575217 #
65. jwillp ◴[] No.44574590{9}[source]
Clearly the US needs a constitutional amendment to preserve the right to keep and bear AI tools. Then we can arm the victims of AI tools with their own AI tools, for self-defense. If we're lucky, AI will send its AI thoughts and AI prayers in carefully calculated quantities.
replies(1): >>44574980 #
66. iLoveOncall ◴[] No.44574630{4}[source]
But there literally is an input box.
67. barbazoo ◴[] No.44574637{4}[source]
How about a version with LLM integration that detects "AI" related stories in a more clever way? /s
68. bee_rider ◴[] No.44574659{7}[source]
This sounds more like a complaint about the human author, than the system itself.
replies(1): >>44574912 #
69. MisterTea ◴[] No.44574660{3}[source]
> The prompt asks for "filters out specific search terms"

So if I want a front page free of LLM "agents" but also want to view stories about secret agents it will do that, right?

replies(1): >>44574690 #
70. simonw ◴[] No.44574690{4}[source]
See comment here: https://news.ycombinator.com/item?id=44571740#44572312
71. Tostino ◴[] No.44574691{6}[source]
That is not what the prompt I saw above asked for. It took him a few min. Write your own with a semantic based filter instead of a keyword based filter if that's what you want.
72. duncangh ◴[] No.44574695[source]
simon how do you get so much done? It’s incredible. Would love to see the day in the life TikTok :P
73. bee_rider ◴[] No.44574720{3}[source]
Isn’t knocking out CUDA going to take out a significant chunk of GPGPU stuff with it? I can see wanting to avoid AI stuff, for sure, but I can’t imagine not wanting to hear anything about the high-bandwidth half of your computer…
replies(1): >>44578596 #
74. Dilettante_ ◴[] No.44574892{4}[source]
If you're unable to discern that the word serves a purpose(emphasis) in that sentence, I literally don't know what to say to you.
replies(3): >>44575078 #>>44575080 #>>44575433 #
75. rjh29 ◴[] No.44574897[source]
[flagged]
replies(2): >>44574952 #>>44576257 #
76. owebmaster ◴[] No.44574912{8}[source]
Not at all, simonw's work is fantastic. But it was a funny #fail.
77. simonw ◴[] No.44574952[source]
In a thread devoted to filtering out AI, I gave them a way of filtering out AI.

(The fact that I wrote it using AI doesn't really matter, but I personally found it amusing so I included the prompts.)

replies(2): >>44575489 #>>44577039 #
78. johnb231 ◴[] No.44574964[source]
The site does not request any personal information, therefore no privacy policy is required.
replies(1): >>44577274 #
79. tolerance ◴[] No.44574980{10}[source]
Better yet, such expressions would be categorized as tokens of condolence at no expense to the public. Subsidized by the arms manufacturers.
80. simonw ◴[] No.44575009[source]
I updated it to fetch 200 stories instead of 30, so even after filtering you still get hopefully 140+ things to read.

https://github.com/simonw/tools/commit/ccde4586a1d95ce9f5615...

replies(1): >>44577362 #
81. ◴[] No.44575020{3}[source]
82. nbex0080 ◴[] No.44575043{7}[source]
Have AI write the rule and an article about having AI write the rule.
83. tuveson ◴[] No.44575051[source]
> to help out the people who hate AI.

Was it? I feel like it was clearly meant to be smug and inflammatory rather than useful in any meaningful way.

replies(1): >>44576002 #
84. hluska ◴[] No.44575078{5}[source]
Superfluous words serve no purpose, though your use of one here emphasizes your lack of maturity. If that’s your goal, good writing.
85. johnb231 ◴[] No.44575080{5}[source]
Of course I can discern that. I think it sounds stupid and childish, and makes someone appear less intelligent. Overused and misused word. But this is now derailing the thread.
replies(1): >>44575867 #
86. pc86 ◴[] No.44575217{4}[source]
It's bad enough to expect other people to change the way they communicate to make you feel better.

It's another thing entirely when the way they're communicating is accurate and correct.

87. lazide ◴[] No.44575433{5}[source]
It used to be that literally had a meaningful definition - quite literally. Now it doesn’t (see #2) [https://www.merriam-webster.com/dictionary/literally]

Not everyone has caught up.

88. lazide ◴[] No.44575440{3}[source]
Also a lot of cursing that I’ve been told to cut down on by HR. (/s, kinda)
89. dttze ◴[] No.44575489{3}[source]
> The fact that I wrote it using AI doesn't really matter

Given that it is a poorly implemented solution that doesn't really do what the OP asked, yes it is.

90. 0x000xca0xfe ◴[] No.44575796[source]
You can even make it live with SSE/EventSource.
91. Bukhmanizer ◴[] No.44575863[source]
I think there is a fundamental disconnect in this response. What the user is asking for is for a procedural and cultural change. What you’ve come up with is a technical solution that kind of mimics a cultural change.

I don’t think it’s wrong, but I also don’t think we can really “AI generate” our way into better communities.

replies(1): >>44576898 #
92. hluska ◴[] No.44575867{6}[source]
I’m with you here - it’s a completely superfluous word that the young have adopted as some form of belonging ritual. It has no purpose, adds no emphasis and is just poor English masquerading as a statement.
93. simonw ◴[] No.44576002{3}[source]
I was gong for smug, inflammatory and useful at the same time.
94. schmookeeg ◴[] No.44576014[source]
AI solving the too-much-AI complaint is heart-warming. We're at the point where we will start demanding organic and free-range software, not this sweatshop LLM one-shot vibery.

Love it. :D

95. dang ◴[] No.44576257[source]
Please don't cross into personal attack.
96. dang ◴[] No.44576262[source]
Please don't cross into personal attack.
97. lossolo ◴[] No.44576818{5}[source]
I'm not sure what I'm supposed to see there. From my point of view, this is a low-effort, vibe coded app that doesn't solve the problem the OP had but it's solving a different one. You'd need to at least train a small classifier based on something like BERT to actually address the issue. What I showed in my comment just demonstrates that this doesn't solve the problem OP had.
98. voxl ◴[] No.44576896[source]
Have you no sense of embarrassment that you displayed exactly the kind of bullshit that AI skeptics talk about all the time? You put in almost no effort to spit out some garbage that doesn't solve the issue even in a technical sense.
replies(1): >>44577226 #
99. op00to ◴[] No.44576898[source]
Simonw’s response is the right response. You should not bend the community to your will simply because you do not like the majority of the posts. Obviously many people do like those posts, as evidenced by them making the front page. Instead, find ways to avoid the topics you do not desire to read without forcing your will on people who are happy with the current state.

Let me stop folks early, don’t make comparisons to politics or any bullshit like that. We’re talking only about hacker news here.

100. tptacek ◴[] No.44577039{3}[source]
It really isn't incumbent on you to feed the trolls here.
101. simonw ◴[] No.44577226[source]
Not at all. I think you misunderstood the point I was making here.

I think the idea of splitting Hacker News into AI and not AI is honestly a little absurd.

If you don't want to engage with LLM and AI content on Hacker News, don't engage with it! Scroll right on past. Don't click it.

If you're not going to do that, then since we are hackers here and we solve things by building tools, building a tool that filters out the stuff you don't want to see is trivial. So trivial I could get o3 to solve it for me in literally minutes.

(This is a pointed knock at the "AI isn't even useful crowd", just in case any of them are still holding out.)

There's a solid meta-joke here too, which is that filtering on keywords is a bad way to solve this problem. The better way to solve this profile... is to use AI!

So yeah, I'm not embarrassed at all. I think my joke and meta joke were pretty great.

102. th0ma5 ◴[] No.44577269{3}[source]
You should try to get other people to make your demos is all I'm saying. I don't know why you keep inserting yourself either. Why didn't someone else post the thing you made? Were they waiting for you to do it or do you think people aren't smart enough to do it? I'm just trying to understand why every damned LLM story has to feature you. In what ways could you avoid such a filter of your posts?
replies(2): >>44577877 #>>44578148 #
103. th0ma5 ◴[] No.44577274{3}[source]
It has no server side log? How do I know that if there is no policy?
replies(1): >>44578068 #
104. postalcoder ◴[] No.44577362[source]
I’ve built a site that does the same sort of exclusion filtering, with a lot more bells and whistles. Very much in the spirit of “what if HN stayed HN, but had actual, very useful features.”

Here’s an “anti-ai” timeline filter:

https://hcker.news/?filter=top30&exclude=llm%2C+vibe%2C+open...

I’m not using the Algolia API, I ingest the hn fire hose on my own server so the filtering is very fast.

105. owebmaster ◴[] No.44577877{4}[source]
let simonw be prolific, lots of people enjoy his content and that is why his comments in the post are always ranked in the top. This animosity isn't constructive.
106. simonw ◴[] No.44578068{4}[source]
You could read the code. This is Hacker News after all.
107. throwaway290 ◴[] No.44578130{5}[source]
it's irony
108. simonw ◴[] No.44578148{4}[source]
> Why didn't someone else post the thing you made?

You mean this thing? https://tools.simonwillison.net/hacker-news-filtered

I built it literally minutes before I posted it, and I built it specifically for this thread.

Other people post my stuff all the time - if you take a look at this list here, very few of them were submitted by my user account: https://news.ycombinator.com/from?site=simonwillison.net

(Currently only one of the posts on that page were by me.)

109. heavyset_go ◴[] No.44578374[source]
Almost certain you can use the HN Algolia to do the same thing by excluding terms
replies(1): >>44578927 #
110. savolai ◴[] No.44578596{4}[source]
Sure, if that suits you it makes sense. Just happened to take out one piece I felt was ai-related at the time. I suppose mlx would have worked better.
111. zimmund ◴[] No.44578606{7}[source]
It got 80% of the problem solved for OP, and the remaining 20% can be fixed by humans afterwards. Prompt early, prompt often (?)
112. simonw ◴[] No.44578927[source]
I had to switch away from Algolia - the problem is they only model "show items on the homepage" using a tag that's automatically applied to exactly 30 items, which means any filtering knocks that down to eg 15.

I switched to using the older firebase API which can return up to 500 item IDs from the current (paginated) homepage - then I fetch and filter details of the first 200.

https://github.com/simonw/tools/commit/ccde4586a1d95ce9f5615...

113. Sabinus ◴[] No.44581774{6}[source]
Someone posted that last week.

https://www.hackernews.coffee/