Newsletter Automation Without a Newsletter Service
How to run a blog newsletter straight from your Git repository with Newsy: no mailing-list vendor, no SMTP relay, no per-subscriber fees.
Email is one of the most effective ways to build a dedicated audience. The traditional way of doing it, though, has become cumbersome and expensive.
LightCMS takes a different route: Git-driven newsletters powered by Newsy, where the repository you already have is the backend, so you can drop the newsletter service entirely.
The Traditional Newsletter Problem
With conventional platforms like Mailchimp, Substack, or Brevo, your workflow typically requires:
- Signing up for an external service with rigid subscription tiers.
- Managing fragmented mailing lists across third-party dashboards.
- Manually copying and pasting your blog post into proprietary rich-text email builders.
- Dealing with bloated tracking scripts, cookies, and privacy compliance requirements.
- Paying substantial monthly fees as your subscriber count grows.
Every one of those steps exists because an email service sits between you and your readers. Newsy removes that layer rather than improving it.
The Git-Driven Approach: Newsy
The Newsy philosophy is simple: your Git repository is the newsletter backend.
Newsy is an open-source newsletter service for static sites, inspired by utterances, and it deliberately keeps no mailing list, no SMTP relay, and no email vendor in the loop:
- Publish: You hit Publish in LightCMS, and the Markdown file is committed to your repository.
- Detect: Newsy watches push events. A newly added post file (or an existing post flipped from
draft: truetofalse) triggers an announcement. Routine edits and deletions are ignored, so everyday work never spams your readers. - Upsert: Newsy creates or updates a single open issue per repository titled
announcementwith the labelnewsletter. It carries the commit summary, the file list, and the post content; each subsequent post lands as a comment on that issue. Issues can be locked and unlocked like any other. - Subscribe: You drop an embeddable Subscribe button into your static site; newsy.lightcms.me generates the snippet from your
owner/repo. It points readers at the issue, where they click Subscribe to get GitHub notifications for every new post.
Because delivery runs through GitHub's own notification system, there is no list to export, no per-subscriber pricing, no deliverability debugging, and no third-party email platform to renew.
Why This Fits a Static Site
A static site already has a pipeline: content is committed, CI builds, the CDN serves. Newsy slots into exactly the same flow: the same commit that publishes the page also announces it. Nothing is duplicated into a proprietary editor, and nothing needs syncing back.
It is also free in the way static hosting is free: open source, self-hostable (Go plus a small Postgres table), and it runs happily on serverless platforms. There is no monthly plan that scales with your audience.
Getting Started
- Install the Newsy GitHub App on the repository you publish from: github.com/apps/newsletter-newsy.
- Push a new post — from LightCMS or from your terminal.
- Generate the Subscribe button at newsy.lightcms.me and paste it into your site.
Readers land on the announcement issue and subscribe there; every future post reaches them automatically.
Further Reading
- Newsy source and docs
- Self-hosting LightCMS — the full environment reference
- Drafts, revisions, and rollbacks — how publishing works under the hood
- Getting started with LightCMS — the wider workflow