Як продакт-менеджер зібрав астро-сервіс на кілька систем одночасно: стек, LLM і чесні уроки
Привіт! Я Єгор, продакт-менеджер. Поза роботою захоплююся психологією та саморозвитком. Останні місяці у вільний час будував власний продукт — Telegram-бот CosmoCast, хочу розповісти, як він влаштований усередині, які технічні й продуктові рішення приймав, і що з цього вийшло.
Ідея
Більшість астро-додатків дають загальний гороскоп «для всіх Терезів». Мені було цікаво інше: зробити персональний розбір за повними даними народження і не на одній системі, а зібрати кілька в одну зрозумілу картину —
- західна астрологія,
- ведична (джйотіш),
- китайська ба-цзи,
- нумерологія,
- дизайн людини й матриця долі,
- ікіґай.
Користувач отримує прогноз на день / місяць / рік, сумісність із партнером, «релокацію» (як інше місто змінює його карту) і чат, де можна спитати про себе — наприклад, «коли найкращий день для важливої розмови найближчим часом».
Технічна частина
Стек свідомо нудний і надійний:
- Python + aiogram, PostgreSQL + Alembic, Redis для кешу.
- Swiss Ephemeris для астрономії — реальні позиції планет, фази Місяця, асцендент, будинки, сходи/заходи Місяця за координатами міста. Це справжня ефемерида, а не випадковий текст.
- LLM (Gemini + Groq) — щоб «сухі» дані перетворювати на людську мову. Тут найбільше болю: модель треба тримати в шорах. Зробив guard, який ловить галюцинації (вигадані знаки чи числа) і витоки посилань, але при цьому рятує відповідь — вирізає проблемне, а не викидає весь текст у запасний шаблон.
- Telegram Stars для оплат.
- Docker + GitHub Actions: пуш у
main→ автозбірка → деплой → міграції застосовуються самі на старті. - Контент-машина: бот щодня сам генерує картки прогнозу й автопостить їх в Instagram і Threads через Graph API — це мій органічний канал залучення.
Одне рішення, яким пишаюся, — єдине джерело істини для «знаку дня». Місяць рухається ~13° на добу, тож один замір опівдні за UTC у день переходу знаку вже бреше. Довелося рахувати знак за локальним полуднем користувача й окремо ловити точний момент повного/нового місяця — інакше підпис «Місяць у Скорпіоні» розходився з тим, що реально на небі.
Як я це будую
Чесно — я продакт, а не сеньйор-інженер. Значну частину коду пишу в парі з AI-агентом, від фіч до міграцій і тестів, з атомарними комітами й код-рев’ю. Вважаю, що одна людина-продакт сьогодні реально може тримати живий продукт із CI/CD, платежами й автопостингом. Питання вже не чи напишу код, а чи той продукт я будую.
Уроки, які забираю
Продукт ще ранній, тож головну цінність бачу в вже отриманих висновках:
- Найскладніше — не технології, а монетизація. Дійти до фічі ≠ заплатити за неї. Зараз саме це й перебудовую: зробив персональний прогноз платним, переписав онбординг, додав короткий огляд можливостей одразу після старту.
- Онбординг вирішує більше, ніж здається. Коли збір даних народження був окремим «необов’язковим потім» — до нього доходили одиниці. Щойно я зробив його природним продовженням діалогу — заповнюваність профілю помітно зросла (зараз близько 70% нових користувачів доходять до кінця).
- Залучення без бюджету — це робота з контентом. Платну рекламу поки не стартую і тестую, тож качаю органіку: той самий контент із бота — у Reels + пости, каталоги ботів.
Окремо вдячний друзям, які захоплюються астрологією, а також професійній астрологині, що тестувала видачу. Без їхньої допомоги я навряд чи відкалібрував би якість результату. Паралельно багато дивився на інші рішення, розбирав, як вони зроблені, і поступово допилював своє. Я досі в процесі, тоже буду радий фідбекам)
Якщо ви робили подібний продукт в Telegram, як ви пробивали монетизацію та перший трафік без рекламного бюджету? Буду щиро радий будь-якому цікавому фідбеку та критиці в коментарях. Якщо комусь цікаво, можна спробувати перевести досвід з бота на мобайл =)
Бот: t.me/MyCosmoCast_bot
Сайт: https://cosmo.synergize.digital
2 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарівГадання на кавовій гущі підтримується?
З цим gpt впорається :)