My Dev News main image

Опис та деталі проекту

Задача

My Dev News (@mydev_news_bot) закриває практичну біль: занадто багато стрічок, занадто мало часу. Бот відбирає важливе з широкого каталогу джерел, надсилає короткі саммари і за запитом робить Squeeze — п’ять тез та головну думку.

Продуктова сторінка: /dev-news-bot/. Бот в Telegram: t.me/mydev_news_bot.

Рішення

Робочий TypeScript-бот на VPS: джерела → дедуплікація та фільтр свіжості → ранжування → доставка в особисті повідомлення → налаштування тем, інтервалів та дайджестів. Інтерфейс та новини — українською, російською або англійською.

Архітектура і стек

Стек: TypeScript, Telegram Bot API, RSS / GitHub Atom, SQLite (кеш Squeeze), Docker.

Шари розділені: конфігурація джерел, пайплайн відбору, нотифікатор, обробники меню та Squeeze. Це спрощує додавання фідів і зміну моделі саммаризації.

Ключові функції

  • Курація — понад тридцять стрічок + релізи ключових репозиторіїв.
  • AI-ранжування — відсів шуму, ліміт частоти за темою.
  • Squeeze — вижимка статті в п’ять тез + ключова ідея (#juice).
  • Дайджест — матеріали «другого ешелону» за розкладом або за допомогою /digest.
  • Налаштування — категорії джерел, період, кількість, мова інтерфейсу.

Результат

Бот у продакшені використовується щодня; Squeeze-вижимки також живлять конвеєр публікацій у блозі stuzhuk.page.

Вихідний код: https://github.com/astropsy999/mydev-news-bot

Що б покращив

Скріншоти чату на лендингу, метрики підписок та A/B формулювання Squeeze; при зростанні навантаження — окрема черга на витяг fulltext.

Часті запитання

Для чого потрібен My Dev News?

Безплатний Telegram-бот: курація DOU, Hacker News, офіційних блогів і релізів GitHub, AI-ранжування, Squeeze (п’ять тез) і дайджест.

Який стек у My Dev News?

TypeScript, Telegram Bot API, RSS, SQLite, за потреби OpenAI.

Де спробувати?

https://t.me/mydev_news_bot → /start. Сторінка продукту: /dev-news-bot/.

Інформація про проект

Personal/LearningCompleted

Використані технології

TypeScriptTelegramRSSSQLite

Мови

TypeScript (98.1%)Shell (1.7%)Dockerfile (0.2%)