The Headless Newsletter: Inside follow-builders

How a centralized GitHub Action and plain-English prompts created a zero-config, API-free content pipeline for local AI agents.

6 min read • View on GitHub • More from zarazhangrui

A mechanical sorting machine discarding uniform baubles while carefully preserving complex clockwork gears. This represents the system filtering out engagement bait to focus on high-signal engineering content.
The core philosophy of follow-builders, mechanized: filtering the shiny noise to isolate the complex signal.

Philosophy: Follow people who build products and have original opinions, not influencers who regurgitate information.

zarazhangrui, Project Creator/Maintainer · zarazhangrui/follow-builders: AI builders digest
Key Takeaways

The Signal and the Noise

The AI ecosystem is drowning in engagement bait. Every week brings a new flood of generic threads promising to change your life with ten simple prompts. The follow-builders project is a direct rejection of this noise. It is not just a summarization tool. It is an editorial stance programmed into an AI agent.

Hedcut portrait of Zara Zhang, creator of follow-builders.

The Death of the API Key

Most AI agent tools require the user to supply their own API keys for X, YouTube, or web scraping services. This creates a massive point of friction. The follow-builders architecture solves this through a centralized Producer-Consumer model. A GitHub Action acts as the producer, running on a schedule to scrape APIs and manage state. It then hosts the curated data as flat JSON files.

The user's local AI agent acts merely as a consumer. It pulls these zero-latency JSON files without needing a single API key or scraping dependency. It is a headless, decentralized newsletter built specifically for agentic consumption.

The data pipeline separates expensive API scraping from fast local LLM summarization.

Traditional Scraping vs. Centralized Feeds

To understand the value of this architecture, we must contrast it with the standard approach of running a local browser-controlling agent to find news. The friction drops from hours of setup to seconds.

MetricTraditional Agent Scrapingfollow-builders Architecture
Setup RequirementsRequires user API keys and headless browsersZero config (just run the skill)
Execution LatencyHigh (seconds to minutes per source)Millisecond latency (fetching static JSON)
Point of FailureBreaks easily when local IP is blockedMaintained centrally by the Producer
Infrastructure CostHigh token and compute cost for the userZero scraping cost for the user

Compiling English: The Prompt-as-Code Engine

The actual programming of the noise filters happens entirely in plain-English Markdown files within the prompts directory. By prioritizing local overrides over remote defaults, the system allows users to finely tune the editorial logic.

A close-up of an ornate fountain pen writing cursive English text onto a paper punch card. The wet ink seamlessly transforms into glowing, rigid circuit board traces.
Turning natural language instructions into hard system heuristics.

These prompts instruct the LLM to prioritize counterintuitive insights and ignore mundane event announcements. This is how the system enforces its anti-influencer philosophy at scale.

The Last Mile Delivery

Once the digest is prepared, it must be delivered. The delivery script handles multiple transports, including standard output for terminal agents and email via the Resend API. However, the most clever implementation is the Telegram integration.

An industrial paper-cutting guillotine poised over a continuous roll of printed text. A mechanical sensor arm feels the gaps between paragraphs, ensuring the blade only falls on blank whitespace.
The Telegram chunking logic acts like a smart guillotine, preserving Markdown formatting by only slicing at line breaks.

Because Telegram imposes a strict 4096-character limit per message, a naive split would destroy Markdown formatting mid-sentence. The script solves this by searching backward from the limit for the nearest newline character, ensuring the text is chunked cleanly and elegantly.