SELF-HOSTED · MIT-LICENSED · ONE YAML FILE · $0/MONTH

Watch any feed, page, or API.
Read one clean brief every morning.

BriefBot turns RSS feeds, web pages, and JSON APIs into a single AI-edited digest — delivered to Telegram, email, or Feishu. No server needed: it runs free on GitHub Actions.

Instant download·Works with zero API keys·Under 700 lines of Python

Proof, not promises

Day-1 validation, run on live sources with one command and zero API keys.

40 items

pulled from 4 live RSS feeds → one clean digest in a single message

143,062 ★

repo stats snapshot, diffed automatically on every run — you only hear about changes

5 releases

from a tracked repo, delivered as they ship

0 repeats

second run the same day: silently skipped everything already reported

Full 3-day validation report — actual digests and field-diff alerts from live sources — ships with the download.

How it works

One YAML file describes the whole pipeline. You read it in one sitting — all of it.

sourcesRSS / pages / JSON
→
state diffnew items & changed fields
→
digestLLM or plain
→
channelsTelegram / email / Feishu
1

Describe it once

What to watch, how the brief should read (your own editor prompt), where to deliver. Secrets stay in env vars — never in the config.

2

Run it anywhere

Laptop cron, a $5 VPS, or the bundled GitHub Actions workflow — free, scheduled, with state cached between runs.

3

Get the brief

One message a day: new items only, in your editorial voice. Nothing changed? Nothing sent. Silence by design.

The whole product, one file

This is a real config — a daily tech digest, pushed to Telegram.

config.yaml
# watch → summarize → deliver, described once:
llm:
  base_url: ${OPENAI_BASE_URL:-https://api.openai.com/v1}   # any OpenAI-compatible endpoint
  api_key: ${OPENAI_API_KEY}                            # empty ⇒ plain mode, no key needed
  model: ${OPENAI_MODEL:-gpt-4o-mini}

jobs:
  - name: tech-digest
    subject: "Morning Tech Brief — {today} ({items} items)"
    sources:
      - type: rss
        url: https://techcrunch.com/feed/
        limit: 15
    digest:
      mode: llm          # llm | plain (plain needs no API key)
      only_new: true     # skip items already reported
    channels:
      - type: telegram
        bot_token: ${TELEGRAM_BOT_TOKEN}
        chat_id: ${TELEGRAM_CHAT_ID}

Why you'll like it

Built for people who'd rather own a pipeline than rent one.

⚡

Live in 15 minutes

Copy the example config, run one command, get tomorrow's brief. Works with no API key at all — rule-based plain mode.

🤖

Bring your own model

OpenAI, DeepSeek, OpenRouter, Groq, or a local Ollama — any OpenAI-compatible endpoint. Your editor prompt, your voice.

👀

Watch pages & fields, not just feeds

CSS selectors against any page, JSON APIs with field templates. Alerts fire only when a value actually changes — perfect for price watching.

🧠

It remembers

A tiny state file dedupes items and diffs watched fields. The GitHub Actions workflow caches it, so a free cloud run behaves like a long-running server.

🛡️

Built for real networks

Tested against SSL-intercepting corporate networks and anti-bot pages. One hardened HTTP client — readable in 20 lines — with loud per-source failures that never kill the job.

📦

No lock-in

Under 700 lines of readable Python, 4 dependencies, MIT license. Read it all in one sitting. Fork it, rename it, ship it as your own product.

What people build with it

One config, many use cases — swap the sources and you have a different product.

→Daily niche-news digest for your community or paid newsletter
→Competitor price & page-change alerts for e-commerce sellers
→Repo / release / star monitoring for dev-tool makers
→Market-data field watching — any JSON API, diffed per run
→A research assistant that files one markdown report per day, forever

Who it's for — and isn't

Honest scoping beats refunds. Here's the line.

BriefBot is for you if…

  • You're a developer or technical maker comfortable editing a YAML file
  • You want to own your digest pipeline instead of renting one
  • You like reading the code that pings you every morning

It's not for you if…

  • You want a no-code GUI — you edit YAML here, not drag blocks
  • You expect "passive income in a box" — this is a tool, not a business
  • You need someone else's server to blame — it runs on yours (or GitHub's, free)

Get BriefBot

One-time payment. Instant download. Yours forever.

What's included

  • Full source (MIT) — under 700 lines of Python, 4 dependencies
  • 3 ready-to-edit configs: tech digest · price watch · offline self-test
  • GitHub Actions workflow with state caching — zero-server deployment
  • Quick-start guide: 5-min Telegram setup, email & Feishu channels, cron
  • A real 3-day validation report — actual digests from live sources, proof not promises
Launch price
$19 USD
one-time payment · no subscription
Get BriefBot — $19

Secure checkout by Creem (Merchant of Record) is being activated — email us and we'll send your checkout link the moment it goes live. Taxes handled, instant download after payment.

Not for you? Request a refund within the checkout window (up to 60 days) — see the Refund Policy. No hard feelings.

FAQ

The questions everyone asks before buying.

Do I need an OpenAI key?

No — plain mode works with zero keys. LLM mode accepts any OpenAI-compatible endpoint, including free local models via Ollama.

What's the monthly cost?

$0 on GitHub Actions. LLM mode costs cents per run with a budget model.

Will it spam me with repeats?

No. State-based dedupe and field-diffing mean you only get new items and actual changes. Runs with nothing new are silent by design.

My network intercepts SSL, and some sites block scripts.

All fetches go through one hardened HTTP client. Real-world tested: feeds behind SSL interception work out of the box. Hard anti-bot sites fail loudly per-source while the rest of the job keeps running.

Refunds?

If it's not for you, request a refund within the checkout window (up to 60 days via Creem) — no hard feelings.

Can I use it in my own product?

Yes — the source is MIT. Fork it, rename it, ship it as your own.