Yuvraj Angad Singh

An agent writes a Bengaluru paper every morning

21 Oct 2026

Every morning at 9, a one-page paper called BLR Daily goes up at blrdaily.com/today and on a WhatsApp channel. It lists what is on in Bengaluru that day. Every pick has a time, a price, an area and a link to book.

I do not write it. An agent on a MacBook Air at my place builds it at 6:15 and publishes it at 9. No. 1 went out on 13 Oct 2026. This post covers how a morning runs, what broke in the first week, and the numbers so far.

Why I built it

Bengaluru has a lot going on, and it is spread across BookMyShow, District, Insider, Instagram pages and venue sites. I wanted one page that answers "what is on tonight, how much, and where". I made a paper for myself first, then made it public.

A morning, step by step

At 6:15, launchd starts the build. It fills in that day's brief from a template and runs Claude Code headless (claude -p with Opus) on it, with a 110 minute cap.

The agent looks for things happening that day, opens each source page, and checks the date, time and price on it. It writes the picks as JSON, plus a short caption for the channel.

Then the checks run. At least 6 picks have to start that day. Every pick needs a time, an area and a link, and every link has to answer. The page has to render and pass its tests, and the caption goes through a lint. If any check fails, nothing goes out that day.

At 9:00, the publish job puts the page on a Cloudflare Worker (blrdaily.com/N, and /today points at the newest one). It updates the sitemap and the RSS feed, pings IndexNow, and posts the front page card and the caption to the WhatsApp channel through a WhatsApp Web tab.

There is no approval step. I asked for that on day one. If the checks pass, it ships.

The rules it follows

What broke in week one

The paper missed 3 of its first 8 mornings. Every miss came from the Mac and the jobs around the model.

15 Oct: the edition built fine, then the 9:00 publish failed with no internet. The Mac had rebooted the night before. That reset its no-sleep setting and left Tailscale off, so with the lid shut it slept, and the next morning's login refresh never reached it. 16 Oct's build failed too. I turned no-sleep back on and brought Tailscale up, and the two days went out together that afternoon as No. 3 & 4.

17 Oct: the agent finished at 6:47, then the build hung in its test step. The test imported a file from ~/Desktop, and on macOS a launchd job that reads ~/Desktop just hangs on a privacy check. Over ssh the same test passed, which is why I missed it. The hung build held the job for 43 hours, so 18 Oct never started. I moved the file and gave the test a 5 minute timeout. 17, 18 and 19 Oct went out on the 19th as No. 5, 6 & 7.

Now missed days bundle by themselves. The build looks back for days that never went out and labels the next edition to cover them. And I test the jobs under launchd now, not over ssh.

The numbers so far

From 13 to 20 Oct: 5 pages covering 8 editions, about 130 human visits on the site (59 of them on launch day), and 15 followers on the WhatsApp channel. Small, and I am fine with that for week one.

What is next

A weekend page went live on 20 Oct at blrdaily.com/this-weekend. It is rebuilt every Thursday night for Friday to Sunday.

Search is slow for a new site, so for now it grows through the channel and forwards.

Read today's paper at blrdaily.com/today, follow the WhatsApp channel, or use the RSS feed. If you are in Bengaluru and something is wrong in an edition, tell me on X at @yuvrajangads.