kaamiiaar.
← all projects

2026 · built for myself

Magpie

agents · automation · claude code

I was spending too long every morning hopping between X, Reddit, YouTube and Hacker News to keep up with AI. A magpie collects shiny things, so I built one to do the hopping for me.

At 6:30 each morning it gathers a few hundred candidates, Claude picks the dozen or so worth my time and writes one line on each, and a fixed template turns that into a single page. I read it on my phone with breakfast, and that’s my reading done.

A cleaned-up version of it is one of the two example jobs in my Claude agent kit.

TIMERsystemd, 6:30 every morningCOLLECTYouTube · Reddit · HN · RSS · X, plain pythonCLAUDE -Ppicks ids, a section andone line eachSEEN FILEnothing appears twiceRENDERfixed template, one page per dayMY PHONEone clean page with breakfast
how it works
A morning’s page: the date, the tabs, and the first story with its source, figures and one-line summary (images hidden here)
A morning’s page: the date, the tabs, and the first story with its source, figures and one-line summary (images hidden here)
Story cards: the source and time, the original title, Claude’s one line, and the numbers from the source
Story cards: the source and time, the original title, Claude’s one line, and the numbers from the source
The Startups tab, with the Global or Australia & NZ switch
The Startups tab, with the Global or Australia & NZ switch
The footer says what was read and what was skipped
The footer says what was read and what was skipped
On my phone, where I actually read it
On my phone, where I actually read it
Details

How it works

  • The collectors are plain Python with no AI: YouTube channels and searches (Shorts and live streams dropped, the rest ranked by views per hour), Reddit, Hacker News, news RSS feeds, and X. Each runs in its own thread with a timeout, and a source that fails never stops the run; the page footer names it.
  • Claude never writes the page. One headless claude -p call only returns ids, a section and a one-line summary for each pick; titles, links, excerpts and numbers are copied from the source, and an id the model made up is dropped.
  • A second tab, Startups, does the same for new launches and fast-growing small businesses (Show HN, Y Combinator launches, Product Hunt, Indie Hackers and startup news), with a Global or Australia & NZ switch. Any traction figure Claude quotes is checked in code against the source text, and dropped if it isn’t there.
  • A “seen” file means a story never shows up twice, and the timer skips a day that’s already built. The whole run takes about two minutes.
  • The page is a fixed template: Source Serif 4 for reading, Libre Franklin for the small print, light or dark following the phone. The tabs work without JavaScript, and YouTube videos only load when I tap them.
Next
next project →Boody: my own Grok Bot