Skip to content
artem suikanenai creative lead
artem suikanen ai creative lead
ru · en download CV get in touch
← all projects
automation · internal tool

news scraper

It started with a brief from the marketing team. One problem stood out: a media outlet has to react to news fast, but nobody has time to read hundreds of industry telegram channels every day. Stories were found late, some were missed entirely.

I built a workflow that does it instead. Every morning the work chat gets a digest: 20 stories from the past day, each summarised and already rewritten in the company’s voice.

where it runs
marketing team at a media company
stack
n8n, python, openai api, google api
my role
brief, architecture, prompts, build

how it works

At 10 am the workflow wakes up and pulls industry telegram channels through RSS Bridge. A custom prompt scores every story from 1 to 10, and that score decides what survives.

The top 20 go to the chat: headline, link to the source and a ready preview comment — take it and publish. The full list for the day, rejects included, lands in a separate sheet.

story.webp× News card
digest.webp× Morning digest in telegram
queue.webp× Publishing queue
menu.webp× Bot menu

a human stays in the loop

Any story can be rewritten, given an image and scheduled. The bot checks the queue every two minutes and publishes on its own.

under the hood

  • n8n on our own server, in docker, fires at 10 am
  • 20+ telegram channels via rss bridge, 100+ stories a day — the only limit on sources is the server
  • dedupe and clean-up in javascript: 24-hour window, duplicates matched by link
  • scoring on gemini with a custom prompt
  • a second agent builds the digest: telegram formatting and brand voice
  • python bot, apscheduler for timing, publishing queue in google sheets

results

550 000 ₽saved a year, running cost ₽790 a month
more posts published
30 hourssaved every month
next project marketing team bot