← Building with AI

World Through My Lens newsletter

A weekly newsletter I am building, called World Through My Lens. Each Sunday it brings together the news I followed, what I published here, and the books and podcasts I finished, with my own take on each. Claude builds a draft every Saturday from my Notion notes. Nothing goes out until I read it and approve it.

I read a lot in a week. Most of it disappears by the next one.

So I am building a small newsletter that keeps the week in one place. It has three parts: the stories I followed, what I published on this site, and what I finished reading or listening to, with a few lines of my own on each.

The notes already live in Notion. The work is in the plumbing.

How a reader subscribes and how each issue is madeA visitor enters an email on the /lens form. An AWS Lambda function sends a confirm email with a signed link. The link opens a confirm page with one button, which adds the reader to the Resend list with a consent date. I get a short email for each new subscriber. Separately, a Saturday Claude routine reads Notion notes, builds the issue and sends me a test copy. When I approve it in Notion, a Sunday routine sends it to subscribers. Later, each issue will also get a page on the site.Visitor/lens formAWS LambdasubscribeConfirm emailsigned linkConfirm pageone buttonResend listconsent dateNotionnews, site, readingSaturdayClaude routineDraft issueIssue page/lens/date, laterSubscribersSundayemailI approve, Claude sends Sunday
  1. A visitor enters an email on the /lens page.
  2. A small AWS function adds them to my mailing list as not yet subscribed, and sends a confirm email with a signed link.
  3. The link opens a page with one button. Pressing it confirms the subscription and records the date. The button is there because some email scanners open every link. A real person has to press it. I also get a short email, so I know someone new has joined.
  4. Every Saturday morning, a Claude routine reads my Notion notes for the week, builds the issue, and sends a test copy to my own inbox.
  5. I read the test copy. If I am happy with it, I tick a box in Notion. On Sunday morning a second routine checks that box. If it is ticked, the issue goes out at 9:00. If not, nothing is sent. Claude never writes my take. That part is quoted word for word.
  6. Later, each issue will also get its own page on this site.

The site stays static. The moving parts are one small function and two scheduled Claude routines, and they cost close to nothing to run.

Next: a newsroom of agents

The Saturday routine works alone. Nothing checks its work.

So I am testing a small team of Claude agents beside it. One coordinator hands out the work. Six section editors, one for each news area, pick the strongest stories at the same time. A gap finder looks for big stories my daily news search missed. Then a fact-checker opens each source, and a separate reviewer checks every item against my confidentiality rules.

The first test run took about five minutes. It caught two summaries with facts that were not on the source page.

For now it runs in shadow mode. It writes a report to Notion and never sends email. Each Sunday I mark its flags as real or false alarms. In December I will decide whether it builds the real draft. My takes and the approval box stay the same.

Stack

  • Notion: my weekly notes and the approval box
  • Claude: two scheduled routines, one builds the draft on Saturday, one sends on Sunday
  • Claude subagents: the newsroom, in test
  • Resend: the mailing list and every email
  • AWS Lambda: the sign-up and confirm steps
  • Route 53: the email domain, news.abhilashme.ca
  • Astro on AWS Amplify: this site