Key metrics
-
3 months36,719 posts generated over 3 months during the PoC
-
2,139posts published to test channels
-
125Multilingual product descriptions to support global markets
-
2-weekBuilt as a 2-week working PoC, now investment-ready
About the Client
A media startup exploring automated Telegram distribution. Their goal is to reduce editorial overhead while maintaining accuracy, tone, and speed across topic-based channels.
The Challenge
Create an automated pipeline that continuously ingests articles from diverse news sites, rewrites them into concise Telegram posts in channel-specific tone, attaches relevant images or videos, and schedules publication—while preserving quality and correctness.
The editorial team managed many channels, each with a different style and cadence. Manual curation and posting did not scale.
-
Fragile web scraping across varied site structures
-
High-throughput queuing and back-pressure control
-
Consistent tone per channel without repetitive wording
-
Fact quality and headline clarity before publishing
-
Convenient admin UX for sources, channels, drafts, and schedules
The Solution
Deliver a production-like PoC in two weeks to validate end-to-end automation, then iterate toward investment and scale.
Vercel for hosting and Next.js API routes, Next.js app for admin UI and webhook endpoints, Supabase Postgres + Storage with Row-Level Security, OpenAI API for summarization, tone control, proofreading, and assisted fact checks, Trigger.dev for scraping jobs, queues, retries, and scheduled publishing.
-
Implementation detailsPhase 1. Source ingestion
-
Admin can add, test, enable, and group sources; supports RSS and selector-based HTML extraction.
-
Content normalization and de-duplication using canonical links, hash signatures, and similarity checks.
-
-
Implementation detailsPhase 2. AI generation and review
-
Article → concise post: title, lead, body, and media references.
-
Channel-specific tone templates (e.g., analytical for finance, conversational for lifestyle).
-
Automatic proofreading, headline tightening, and “claim hints” for assisted fact checks.
-
SES domain setup and DKIM, SNS SMS preferences, SQS queues, CloudWatch dashboards (derived from your Terraform modules and live folders)
-
-
Implementation detailsPhase 3. Queues, scheduling, and posting
-
Priority queues per channel and category with rate-limits and exponential backoff.
-
Calendar scheduling (immediate or timed) and bulk operations.
-
Telegram Bot API publishing with caption, inline links, images, and videos.
-
-
Implementation detailsPhase 4. Admin experience
-
Dashboards for generated, published, pending counts; daily activity charts.
-
Post editor with previews, quick tone switch, and media attachment.
-
Channel management: topics, categories, signatures, and posting cadence.
-
Config screen for API keys, retention, and scraping limits.
-
-
Multi-channel, multi-tone post generation
-
Images and videos automatically attached where available
-
Post lifecycle: Draft → Scheduled → Published, with logs
-
Source folders by country/topic; quick selector testing
-
Observability: job history, retries, and error surfaces in UI
-
No end-user PII stored; only channel IDs, source URLs, and content
-
Supabase Row-Level Security policies restrict access by role
-
Secrets kept in Vercel/Trigger.dev encrypted envs; least-privilege Telegram tokens
-
Audit trails for admin actions and job runs; media retention windows
Key outcomes
Full automation
Validated end-to-end automation from scrape → generate → review → schedule → publish
Quality & Speed
Client is pleased with quality and velocity; platform is ready for investment
Tech Stack
-
Backend
-
Next.js (TypeScript) API routes for ingestion, AI generation, and webhooks
-
Trigger.dev workflows for scraping, priority queues, retries, rate limits, and CRON schedules
-
Supabase Postgres for normalized content, de-duplication hashes, and job metadata; Supabase Storage for media references
-
OpenAI API for summarization, tone control, proofreading, and assisted fact checks
-
Telegram Bot API integration for publishing, captions, and previews
-
-
Frontend
-
Next.js App Router admin UI with React forms, post editor, and live preview
-
Calendar scheduler for timed posts plus bulk operations
-
Source and selector tester utilities embedded in the admin
-
Lightweight activity charts for generated, queued, and published counts
-
Asset caching via Vercel Edge and optimized HTTP headers
-
-
Infrastructure
-
Vercel hosting with CI/CD from Git and environment promotion
-
Supabase managed Postgres and Storage; observability via application logs and job history
-
Trigger.dev workers for background execution and scheduled runs
-
Webhooks for source updates and publish events with rate-limited egress
-
Integrations: OpenAI API, Telegram Bot API, RSS and selector-based HTML extraction
-
-
Security
-
No end-user PII stored; only channel IDs, source URLs, and content metadata
-
Supabase Row-Level Security with role-scoped policies for admins
-
Encrypted environment variables in Vercel and Trigger.dev; least-privilege API keys
-
Scoped Telegram bot tokens and per-service secrets separation
-
Audit trails for admin actions and job runs; configurable media retention windows
-
Key Takeaways
-
Early investment in a resilient scraping + queue layer pays off when source structures change.
-
Channel-level tone templates keep voice consistent without hand-editing every post.
-
Assisted fact checks and proofreading reduce editorial risk while preserving speed.
-
Horizontal growth by adding workers in Trigger.dev; stateless API on Vercel.
-
New geographies and beats added by registering sources and tone presets—no core code changes required.
Looking to automate your Telegram or social news
workflow with AI while keeping editorial quality
high?
Let’s talk about piloting a focused PoC and scaling it to production.
Contact us