Show HN: HN for Me – Jev curates Hacker News based on your interests Developer raahelpie released HN for Me, an open-source service that uses Typesafe's Jev System One Model to filter Hacker News stories against a user-supplied list of interests. The tool polls the Algolia Search API every 10 minutes, assigns a possibility score from the story title and URL, and fetches page contents for a second relevance check when that score is at least 70%, filtering stories that score 80% or higher. The code is human-written, runs via Docker on a homelab server, and is planned to push matches to WhatsApp through baileys. Hey, I wanted to build something using a System One Model like Jev https://typesafe.ai/blog/introducing-system-one-models-and-jev , so I thought I'll build a service that takes a list of topics of my interests as inputs, and incrementally poll Hacker News using the Algolia Search API to filter only the stories which might interest me. It first only checks the Title & URL and assigns a possibility score, if that is =70%, then it parses the content of the page and decides how relevant it is. If it is = 80%, then the story gets filtered. My plan is to run it as a daemon on my homelab server and hook it up with baileys https://baileys.wiki/ to send the interesting stories to me on WhatsApp. Work is still in progress, but you can run it 1. Clone the repo: git clone https://github.com/raahelpie/hn-for-me.git && cd hn-for-me 2. Create a .env file and set TYPESAFE API KEY 3. Build the image and run the container docker build -t hnforme . docker compose up -d 1. Open http://localhost:8000 http://localhost:8000 , enter interests, click Save, then run 2. The backend automatically fetches new stories that match your interests every 10 minutes 1. For the first run, it fetches from the frontpage and new stories posted in the last 10 minutes 2. After the first run, it incrementally fetches the newly posted stories since the last fetched time 3. There is a two pass check that is done to verify if the story is relevant or not - possibility check: a decision is taken on whether this story is possibly relevant based on Title and URL - relevance check: if possibility score is greater than 0.7, page contents are fetched and another decision is made whether the the story is relevant - this time, based on the contents of the page Note: The backend is human written code. No AI or even an IDE was used I used Neovim . It can be changed a lot to fetch the results faster. It was great going through the documentation of all the libraries and writing code without the help of AI or even IDE autosuggestions or intellisense. GPT-6 Astra Medium helped with setting up the client