Хотел ленту новостей без двух вещей: дублей (одно событие из пяти каналов с разными заголовками) и потока негатива по утрам.Получился Telegram-бот, который по умолчанию показывает только хорошие и нейтральные новости — а тяжёлый контент включается в настройках на 4 уровнях. Плюс он убирает дубли, переводит RU↔EN и подстраивает выдачу под твои реакции 🔥 ❤️ 😢.Но самое интересное — он живёт на одной машине Fly.io за ~$5 в месяц. В статье разбираю, как:заменил Postgres + pgvector на встраиваемый sqlite-vec и убрал отдельную БД-машину;гоняю типизацию, перевод и оценку тональности через бесплатные LLM на OpenRouter (счёт $0–1/мес);считаю эмбеддинги локально на fastembed/ONNX без внешних API;собрал рекомендательное ядро на «векторе вкуса» с EWMA и анти-баблом.И, конечно, грабли: sqlite-vec, который ломался на arm64; vec0 без INSERT OR REPLACE; fastembed, сменивший пулинг между версиями; и LLM, которая «подкручивала» оценки негатива, пока я не дал ей чёткую рубрику.👉 Бот живой, можно потрогать: @futur_e_news_bot Читать далее