BroadcastChannel
BroadcastChannel lets you convert a Telegram channel into a microblog entirely on your own server.
Self-hosted microblogging, honestly reviewed. Built for founders who already post to Telegram and don’t want to pay twice for a separate publishing tool.
TL;DR
- What it is: Open-source (AGPL-3.0) static site generator that turns any public Telegram channel into a full microblog — SEO-optimized, RSS-enabled, no JavaScript on the front end [README].
- Who it’s for: Founders, indie developers, or creators who already use a Telegram channel as their primary update stream and want a public web presence without maintaining a separate CMS.
- Cost: Free software. Free hosting if you deploy to Cloudflare Pages, Netlify, or Vercel (all have free tiers that cover this workload). Docker on a VPS if you want full control — $5–10/month [README].
- Key strength: Your Telegram channel is the CMS. You never touch a content editor, database, or admin panel. Post to Telegram, it appears on the web.
- Key weakness: Zero content independence — if Telegram goes away, your CMS goes with it. AGPL-3.0 license creates friction for commercial embedding. Under 2,000 GitHub stars suggests a small community with limited third-party support [README].
What is BroadcastChannel
BroadcastChannel is an Astro-based SSR application that reads your public Telegram channel and renders it as a proper website. You configure an environment variable pointing to your channel username, deploy to a serverless platform or VPS, and Telegram becomes your writing interface. Every post you make to the channel shows up on the web, automatically.
The GitHub description is unusually honest: “Turn your Telegram Channel into a MicroBlog.” That’s exactly what it does — no more, no less [README].
The technical stack is straightforward: Astro for the framework, Telegram Channels as the CMS layer, and a Sepia-derived template for the default visual design. The result is a site with zero client-side JavaScript, full sitemap generation at /sitemap.xml, and RSS feeds at /rss.xml and /rss.json [README].
As of this review the project has 1,975 GitHub stars and is licensed under AGPL-3.0. The creator is a Chinese developer known as 面条 (miantiao), and the demo site at https://memo.miantiao.me shows the concept running in production — an active feed of AI/tech commentary that originated on a Telegram channel [README][demo].
The README lists more than 30 real deployments spanning everything from PlayStation news aggregation to AIGC newsletters to RSS tip blogs, across multiple languages and topics [README]. That breadth of real-world usage is a more honest signal of adoption than star counts.
Why People Choose It
The use case this fills is specific but real: you run a Telegram channel as your primary content stream, your audience follows you there, but you also want a web presence that search engines can index and readers can browse without a Telegram account.
The alternatives for this exact setup are messier than they look:
Ghost / WordPress: you’d be writing twice — once for Telegram, once for the blog. Or building a bot to cross-post, which is its own maintenance burden.
Substack or Beehiiv: you could attempt to mirror content there, but again, that’s duplicate effort. Substack takes a 10% cut of paid subscriptions. Beehiiv’s free tier caps your subscriber count and gates analytics.
Manual export: exporting Telegram posts to a blog is a weekend project you’d rebuild every few months.
BroadcastChannel solves this by making Telegram authoritative. There’s nothing to sync because there’s only one source of truth. The 30+ live deployments in the README include at least two content-focused projects (ALL About RSS, APPDO 数字生活指南) that appear to be running serious content operations through this setup [demo].
The zero-JS front end is a meaningful choice for SEO. Astro renders HTML at the edge or server, which means search engines get real content immediately rather than waiting for hydration [README].
Features
Based on the README and configuration documentation:
Core publishing:
- Public Telegram channel content rendered as a website [README]
- SEO-optimized output with full sitemap.xml [README]
- RSS and RSS JSON feeds out of the box [README]
- Zero client-side JavaScript (server-side rendering via Astro) [README]
- Tag system — define tags in env vars, posts get tagged pages [README]
- Google Site Search integration [README]
- Comments and reactions display (toggle via env vars) [README]
Customization:
- Language and timezone localization (uses dayjs locale system) [README]
- Social profile links (Telegram, Twitter, GitHub, Mastodon, Bluesky, Discord, Podcast) [README]
- Header and footer HTML injection for analytics, custom scripts [README]
- Custom navigation sidebar and links page [README]
- SEO controls:
NO_INDEX,NO_FOLLOWoptions [README] - Option to hide channel description [README]
Operations:
- Sentry error tracking support (server-side) [README]
- Optional Telegram static resource proxy [README]
- RSS beautification [README]
Deployment targets:
- Cloudflare Pages, Netlify, Vercel (serverless, all have free tiers) [README]
- Docker (
ghcr.io/miantiao-me/broadcastchannel:main) for VPS self-hosting [README]
What it doesn’t have:
- No content management outside of Telegram — if you want to edit or delete a post, you do it in Telegram
- No search UI built in (uses Google Site Search as a workaround)
- No built-in authentication or member-only content
- No newsletter/email delivery
- No analytics dashboard
Pricing: SaaS vs Self-Hosted Math
BroadcastChannel self-hosted:
- Software: $0 (AGPL-3.0) [README]
- Cloudflare Pages: $0 (free tier handles this volume easily)
- Netlify/Vercel: $0 on free tiers for low-to-medium traffic
- Docker on a $6/month Hetzner VPS: $6/month if you prefer full infrastructure control
Ghost Pro for comparison:
- Starter: $9/month (limited to 500 members)
- Creator: $25/month
- Team: $50/month
- Business: $199/month
- All tiers are usage-based and climb as your audience grows
Substack:
- Free platform, but takes 10% of paid subscription revenue
- At $10/month subscription × 100 paying readers = $1,000/month revenue, Substack keeps $100/month
Beehiiv:
- Free tier: 2,500 subscribers, Beehiiv branding
- Scale: $39/month for 10,000 subscribers
- Max: $99/month for 100,000 subscribers
The honest math: If you already have a Telegram channel and your goal is a web archive of your posts with SEO — not email delivery, not member monetization, not audience analytics — BroadcastChannel on Cloudflare Pages costs $0/month. Ghost would cost $9–25/month minimum just for the hosting. Over a year that’s $108–$300 saved for a use case where the CMS-level features of Ghost or Beehiiv go entirely unused.
The caveat: this math only holds if Telegram is genuinely your content home base. If you’re starting from scratch and want to build an audience with email monetization as a goal, BroadcastChannel isn’t the right starting point regardless of price.
Deployment Reality Check
The serverless path is genuinely accessible for a non-technical founder willing to spend an hour reading:
- Fork the GitHub repository to your account [README]
- Create a project on Cloudflare Pages, Netlify, or Vercel
- Select
Astroas the framework - Set one required environment variable:
CHANNEL=your_channel_username - Deploy
That’s it for a minimal working site. Adding a custom domain, configuring social links, or enabling comments is additional environment variable configuration — no code changes needed [README].
The Docker path is slightly more involved: pull the image, run with the CHANNEL env var, set up a reverse proxy. Standard VPS ops. If you’ve deployed anything via Docker before, this is a 15-minute job [README].
What can go sideways:
The channel must be public — BroadcastChannel reads Telegram’s public API, not private channels. The README lists this as the most common failure mode after deployment: “Check if the channel is public, it must be public” and “Turn off the ‘Restricting Saving Content’ setting in the channel” [README].
If you’re running this on Cloudflare Workers or Pages and want to connect to a local LLM or run heavy server-side logic, the serverless environment has execution time limits that may cause issues with very active channels.
There’s no update mechanism built in — to get new BroadcastChannel features, you sync your fork with the upstream repository and redeploy. The README links to GitHub’s official fork-sync documentation but doesn’t automate this [README].
The AGPL-3.0 license means if you embed this in a SaaS product or commercial service, you must open-source your changes. For personal or small-business publishing use, this is irrelevant. For agencies deploying this for clients or embedding it in a product, it’s a hard constraint.
Community support is thin. Under 2,000 GitHub stars and no evident third-party ecosystem means you’re largely on your own if something breaks. The creator is active (the demo site updates regularly), but this isn’t Activepieces or Ghost with a large community forum behind it [README][demo].
Realistic time estimate: 30–60 minutes for someone comfortable with GitHub and environment variables. Double that if you’re starting from scratch on Cloudflare Pages setup.
Pros and Cons
Pros
- Telegram is the CMS. Write once (in Telegram), appear everywhere. No duplicate effort, no separate editor to log into [README].
- Actually free at Cloudflare Pages scale. Most Telegram-channel-sized content operations will run at zero hosting cost [README].
- Zero client-side JS. Better Core Web Vitals, cleaner SEO, no hydration issues. Astro’s server rendering approach is well-suited for this content type [README].
- RSS out of the box. Both XML and JSON formats. For a content creator audience, this matters [README].
- 30+ real deployments. The README isn’t padding its demo list — these are actual running sites across multiple content verticals and languages [demo].
- Simple configuration model. Everything is an environment variable. No database migrations, no admin panel, no plugin conflicts [README].
Cons
- Total dependency on Telegram. If Telegram changes its public API, applies rate limits, or blocks your channel, your entire CMS goes down. There’s no content export or backup layer built in.
- AGPL-3.0 friction for anything commercial — agencies or SaaS builders need to open-source modifications [README].
- No email delivery. Telegram posts appear on the web, but there’s no mechanism to email subscribers. You can’t replace Ghost or Beehiiv if email is part of your publishing strategy.
- Small community. 1,975 stars, no evident support forum or third-party guide ecosystem. If you hit an edge case, you’re reading source code [README].
- No content search UI. The workaround is Google Site Search, which only indexes what Google has crawled [README]. Fresh posts are unsearchable until indexed.
- No member features. No paywalled content, no subscriber management, no paid tiers. Pure publishing tool only.
- Fork-sync updates are manual. No auto-update mechanism — you maintain your fork [README].
Who Should Use This / Who Shouldn’t
Use BroadcastChannel if:
- You run an active Telegram channel and want a public web archive of it without maintaining a second publishing workflow.
- You want SEO-indexable content that search engines can find, derived from your Telegram posts.
- Your hosting budget is zero or close to zero and Cloudflare Pages is acceptable.
- You’re comfortable with GitHub forks and environment variables, or you’ll pay someone to set it up once.
- You want RSS without building anything — it ships by default.
Skip it if:
- You want email delivery to subscribers — BroadcastChannel has no newsletter layer.
- You’re not already using Telegram as your primary content channel and don’t plan to.
- You need member-only content or paid tiers.
- You want to embed this in a commercial product without open-sourcing your modifications (AGPL-3.0 blocks this).
- You need search within your own content — the Google Site Search workaround is adequate for some but not all use cases.
- Long-term content independence matters to you — Telegram dependency is real, and there’s no exit plan built in.
Consider Ghost self-hosted instead if:
- You want a proper CMS with a writing interface, SEO meta editing per post, and email delivery — and you’re willing to manage a Node.js server.
Consider Substack or Beehiiv instead if:
- Email newsletters are central to your publishing strategy and you don’t want to manage infrastructure at all.
Alternatives Worth Considering
- Ghost (self-hosted) — mature CMS with built-in newsletter, member management, and an actual writing editor. Requires more infrastructure (Node.js, MySQL/SQLite). MIT-licensed core. Much steeper setup but more content independence.
- WriteFreely — federated (ActivityPub) minimalist blogging. Simpler than Ghost, no Telegram dependency, better for plain text writing.
- Micro.blog — hosted microblogging with RSS and ActivityPub. $5/month hosted, no self-host option. Closer conceptually to what BroadcastChannel does but with email delivery and better community tooling.
- Hugo or Jekyll with a Telegram bot — DIY version of BroadcastChannel. More control, more work, same idea.
- Beehiiv (hosted) — for email-first publishing with a good free tier. Proprietary SaaS, no self-host option.
For the specific use case BroadcastChannel targets — you post to Telegram, you want the web to see it — there’s no direct open-source equivalent doing exactly this. The alternatives require either a separate writing workflow or infrastructure investment BroadcastChannel avoids entirely.
Bottom Line
BroadcastChannel earns its 1,975 stars by solving a narrow, real problem cleanly: if Telegram is where you write, your website should follow automatically. The zero-JS Astro output, free serverless deployment, and out-of-the-box RSS make it a technically sound choice for the exact audience it targets. The honest limits are also narrow — no email, no members, total Telegram dependency, thin community. For a founder who already posts to Telegram daily and wants that content indexed by Google without paying Ghost Pro pricing or maintaining a second writing workflow, the math is obvious. For anyone whose publishing strategy includes email subscribers, paid content, or long-term platform independence, BroadcastChannel is the wrong starting point regardless of the price tag.
Sources
- Hendrik Schroeder, DEV Community — “Stop Using LocalStorage: Discover the Power of BroadcastChannel”. https://dev.to/henriqueschroeder/stop-using-localstorage-discover-the-power-of-broadcastchannel-26fe
- Tomas F Wilson, Paktolus Engineering / Medium — “Tackling Tab Chaos with Broadcast Channel API” (Sep 29, 2023). https://medium.com/paktolus-engineering/tackling-tab-chaos-with-broadcast-channel-api-d630ab812ea9
- Shakil, DEV Community — “The BroadcastChannel API: Real-Time Tab Communication Without a Backend”. https://dev.to/itxshakil/broadcastchannel-api-a-hidden-gem-for-web-developers-33c4
- Software Engineering Stack Exchange — “What is the use case of BroadcastChannel API?”. https://softwareengineering.stackexchange.com/questions/425967/what-is-the-use-case-of-broadcastchannel-api
- Ethan Sholly, selfh.st — “This Week in Self-Hosted (11 October 2024)”. https://selfh.st/weekly/2024-10-11/
Primary sources:
- GitHub repository and README: https://github.com/miantiao-me/broadcastchannel (1,975 stars, AGPL-3.0)
- Live demo (creator’s own deployment): https://memo.miantiao.me
- Real-world deployments listed in README [demo]: https://github.com/miantiao-me/broadcastchannel#-demo
Replaces
Related Content Management Tools
View all 124 →Strapi
72KThe leading open-source headless CMS — design content models, generate REST and GraphQL APIs instantly, and manage content for any frontend framework.
Ghost
52KProfessional publishing platform with built-in newsletters, memberships, and paid subscriptions. Used by Platformer, 404Media, The Browser, and thousands more.
Payload CMS
41KPayload is a Next.js-native headless CMS and application framework that gives developers full TypeScript control over content management with zero vendor lock-in.
Reactive Resume
36KA free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.
Directus
35KBuilt for developers who need more than a CMS. Manage complex content, handle digital assets, and control permissions through an intuitive Studio.
WordPress
21KThe world's most widely used content management system powering blogs, business sites, and e-commerce stores.