Skip to content
Rezha Julio
Go back

How I Built My Own AI News Anchor (Tech Watch)

4 min read

I used to start my day by doomscrolling Twitter (or X, whatever), then Hacker News, then Lobsters, then maybe checking a few subreddits. By 10 AM, I was exhausted, annoyed, and full of “noise” but very little “signal.”

The problem with the modern web isn’t a lack of information. It’s the volume. Algorithms are optimized for engagement, not for what I actually care about. I’d spend an hour scrolling, retain maybe two useful links, and come away irritated by some thread I never asked to see.

So I decided to stop being my own news curator. I built an AI agent to do it for me.

What I wanted

I didn’t want a generic “Top 10 Tech News” list. I wanted a daily briefing that scans Hacker News and Lobsters, throws out the noise (political rage-bait, crypto scams, non-tech drama), and gives me short summaries of what actually matters. Delivered to Telegram, once a day, in a casual tone. That’s it.

I named the agent Cici. She runs on OpenClaw with a simple Node.js script.

How it works

The whole thing is a cron job and about 100 lines of JavaScript. No RAG pipeline, no vector database.

The fetcher (techwatch.js)

A script hits the official APIs for Hacker News and Lobsters, grabs the top stories from the last 24 hours, and dumps them into a JSON file.

// Simplified logic
const hnStories = await fetchJson('https://hacker-news.firebaseio.com/v0/topstories.json');
const lobstersData = await fetchJson('https://lobste.rs/hottest.json');
// Filter for last 24h
const recentStories = allStories.filter(story => story.time > (now - 24h));

This gives me roughly 50 stories to work with.

The curator (the agent)

Instead of writing regex or heuristics to decide what’s interesting, I just hand the JSON to the LLM. My prompt looks something like:

“Analyze these stories. Pick the top 5-10 that are relevant to a software engineer interested in AI, Linux, self-hosting, and open source. Avoid clickbait. Summarize them in a casual tone (Bahasa Indonesia/English mix).”

The LLM is genuinely good at this part. It can tell the difference between “just another JS framework” and “a critical OpenSSL vulnerability.” Regex could never do that.

The delivery (Telegram)

Once the summary is ready, the agent pushes it to my personal Telegram chat via the OpenClaw message tool:

Cici: “Morning Ko! Here’s your tech briefing. The xz utils backdoor is scary, but check out this cool new Rust CLI tool…”

What it actually feels like to use

The first week, I kept opening Twitter out of habit. I’d catch myself mid-scroll, remember the briefing was already in Telegram, and close the app. After about two weeks the habit broke. Now I wake up, check Telegram, read Cici’s summary over coffee, and that’s my tech news for the day.

Some mornings the briefing is five items. Some mornings it’s eight. Occasionally Cici picks something I wouldn’t have found on my own, like a blog post from a small open-source project I’d never heard of, or a discussion thread on Lobsters about NixOS packaging that turned out to be exactly what I needed for a weekend project.

It’s not perfect. Sometimes the summaries are a bit shallow, and I have to click through to the original link anyway. Once or twice the LLM included something clearly off-topic (a cryptocurrency governance post somehow got past the filter). But the hit rate is honestly better than my own manual curation was. I was skimming headlines and missing things. Cici actually reads the content.

The part I didn’t expect: it’s less stressful. I don’t see the outrage threads. I don’t get sucked into comment sections. I read the summary, click the two or three links that interest me, and move on. I’m saving maybe 30 to 60 minutes every morning, but the bigger win is the mental clarity. I start work focused instead of irritated.

What’s next

I’m thinking about expanding this to a few more areas:

  • Auto-summarizing long YouTube tech talks I keep bookmarking but never watch.
  • Watching specific GitHub repos for new releases and summarizing the actual changelog, not just “bug fixes and improvements.”

If you’re drowning in feeds and tabs, try building something like this. It took me an afternoon.


Related Posts


Previous Post
Building a Telegram bot to babysit 24,000 developers