#BuildInPublic. Вдень — Product Manager в FAANG, вночі — будую продукт OpenTG
Всім привіт! Мене звати Юра, я Senior Product Manager в FAANG на продукті повʼязаного з кібербезпекою, але сьогодні розмова буде про зовсім інше. Я хочу поділитися трохи про свою біль розвитку телеграм каналу і як це мене наштовхнуло до розробки продукта — OpenTG.ai.
У чому суть і яка проблема?
Я, як і багато українців, веду ТГ канал, але ТГ має одну велику проблему — це закрита система. Все, що ти там пишеш і т.д, воно майже ніяк не індексується в Google і ти не попадеш в рекомендації / відповіді ChatGPT. Через це маркетинг в Телеграмі зводиться до принципу «Бабка-бабці-сказала», де ти повинен або купити рекламу в більшого канала, або якось попасти в ленту іншого канала, або мати ще одну додаткову активну соц мережу через яку ти будеш переливати трафік в ТГ, щоб нові люди побачили твій контент.
По факту, в телеграмі органіки не існує.
Це мене і наштовхнуло на розробку OpenTG, оскільки, багато каналів діляться справді корисною інформацією, яку майже неможливо знайти і через це не можуть розвиватися.
Як зараз виглядає ТГ контент в Google?
Давайте зробимо експеримент і ви загуглите ТГ канал. Я це зроблю зі своїм — @diary_of_deapul.

Ми бачимо, що сам канал індексується, але жодна інформація про пости і т.д — ні. Телеграм фактично жодного контексту поза описом каналу не дає. Коли ти відкриваєш сторінку, то тебе зразу пробують відправити в додаток для перегляду. Не так давно зʼявилася можливість зробити «Preview» канала. Це відкриває нову сторінку, яка має всю необхідну інформацію.
Але знову-таки, вона не була проіндексована, а значить для SEO i GEO — вона нічого не значить. Чому вона не проіндексована? Лише сам Телеграм дасть обʼєктивну відповідь.
Ще один вайбкодер?
Хоч я приходжу зі сфери кібербезпеки, де нетехнічним неможливо бути — у мене 0 досвіду розробки web додатків, а значить Claude Code за 20$ в допомогу.
Чому Claude Code, а не Codex, Cursor чи Antigravity?
Обʼєктивної причини немає. Просто почув гарні відгуки про Claude Code і на теперішній момент він закриває мої потреби добре.
А як же ліміти? Як ти вкладаєш в них?
Дякуючи роботі, у мене і так мало вільного часу, а проектом я займаюся виключно в цей час. І тих лімітів, які я маю, вистачало, щоб потихеньку розвивати продукт. Можливо, я зіткнуся з тим, що вони не будуть покривати якісь потреби і тоді задумаюся чи варто продовжувати з Claude Code, чи переходити на щось інше. Поки — good enough.
Технічний Стек
В основі сервісу стоїть Astro i Cloudflare.
Я щось подумав, що так, як у мене відкритий сервіс, то потенційно буде бомбитися великий трафік, що людей, що ботів.
Cloudflare для цього вже має нативну інфраструктуру. Там зразу є підтримка для повноцінного деплоймента на DВ, storage. Все, що мені треба + там дуже щедрі ліміти для побудови MVP. Поки я за всю інфраструктуру тільки за домен платив.
За Astro. Коли робив дослідження, що використати, то дізнався, що Astro гарно підходить для проектів, де буде багато сторінок для яких потрібен SSR (server-side rendering). Враховуючи, що Cloudflare їх викупив — то це було match made in heaven, як то кажуть.
Як працює додаток?
Збір даних
Я не займаюся scraping публічної інформації, бо таким методом масштабуватися дуже складно, хоча онбоардінг користувача був би максимально простим. Для того, щоб мій сервіс отримував пости — користувач повинен добавити до себе в канал бота — @opentg_collector_bot. Один неприємний нюанс — це те, що цей бот повинен бути доданий, як адмін, але на щастя мені не потрібні жодні додаткові доступи:
Чому це неприємний нюанс? Бо 100% будуть канали, які побоються добавити цього бота до себе, бо не будуть розуміти, що він реально може, а що ні. Btw, одна особливість цього підходу полягає в тому, що навіть приватні канали можна так індексувати.
Обробка даних
Після того, як бот доданий до каналу, у мене налаштований webhook, який відсилає апдейти на Worker у Cloudflare. На цьому етапі зразу відбувається відсіювання всіх повідомлень, які не є актуальними.
Наприклад, я прийняв рішення, що тільки пости, які мають більше 200 символів будуть індексуватися. У мене немає методології по якій я визначив цифру 200, але я точно можу сказати, що пост на 50 символів зі сторони SEO чи GЕО — цінності не буде мати.
Також я прийняв рішення, що медіа (картинки, відео, файли) — не буду хостити в себе. Декілька причин, але 2 головні: додаткові кошти і це ускладнює модерацію.
Я не хочу бути в позиції, де якісь канали відправляють ГБ файлів і так само я не хочу бути в позиції, де хтось скачав від мене троянчик. Тому на сервісі у мене тільки є загальна метадата про те, що до поста ще може бути картинка тощо.
На цьому етапі також будуються сторінки, щоб вони потім могли бути зарендериними на сервісі так само, як вони виглядають Телеграмі.
SEO i GEO
Хоч я не можу контролювати контент, який пишуть люди — на сервісі все одно використані найкращі практики для покращення шансів індексації, наприклад:
- всі <meta> розставлені, як треба;
- є спеціальний sitemap для каналів;
- розподіл нових постів від старих. Тобто для постів, які молодше 7 днів — є додатковий sitemap. Все, що старіше добавляється окремо;
- мінімум client-side rendering, щоб сайт загружався максимально швидко.
Що стосується GEO. Можливо, не кожен тут знає, що це таке, але GEO (Generative Engine Optimization) — це нова парадигма, яка описує те, як потрібно подавати контент в Інтернеті, щоб ти попав у рекомендації, коли спілкуєшся з ChatGPT, Gemini, Claude тощо.
Потрібно розуміти, що жоден чатбот не містить в собі весь Інтернет. Коли йому дають питання на яке він не може дати відповідь з внутрішньої памʼяті, то чатбот буде «гуглити». Кожен чатбот має свій індекс сайтів, яким він користується. А значить, що навіть, якщо ти попадаєш в рекомендації для ChatGPT, то не значить, що ти попадеш в рекомендації для Claude.
По-факту, GEO це просто наступний рівень SEO. Якщо ти зараз не попадаєшся в Google / Bing на ключових словах, то велика ймовірність, що для Gemini i ChatGPT, ти не попадешся так само.
Зараз навколо цієї сфери робляться дослідження і є вже перші експериментальні покращення, які можна зробити, щоб чатботу було легше споживати ваш сайт. Наприклад, є думка про те, що чатботи люблять .md формат, бо він завантажується максимально швидко. Тому я маю .md варіант всіх постів. В цілому тут я ще досліджую тему і відчуваю, що прийдеться багато експериментувати, щоб дійти до якогось результату.
Лого
Це був один із небагатьох проектів, де я зробив перший робочий прототип сайту перед тим як займатися лого і самим дизайном. І якщо ви зараз думаєте над проектом, так само залиште лого на кінець.
Кінцеве лого вийшло вийшло таким і я ним дуже задоволений:

Навколо нього є своя логіка. Сьогодні, лого Телеграма має на собі паперового літака на блакитному фоні. Тому я зразу думав, що паперовий літак повинен бути на лого OpenTG.
Далі я подумав, що у мене буде багато каналів на сервісі. Можна сказати, що кожен канал — це паперовий літак, який несе за собою інформацію. А значить у мене на лого повинно бути декілька паперових літаків.
У деяких варіантах, я пробував зробити цих літаків більш організованими, але потім я подумав, що слово Open уособлює свободу, а значить і певний хаос. Тому у мене на лого ці літаки не мають чіткої структури.
І да, лого було згенероване в Claude. У мене занадто криві руки, щоб це зробити без допомоги.
Дизайн
Дизайн я хотів робити легким у споживанні. Щоб все було охайно, чисто і без лишніх важких анімацій.
Вот декілька скріншотів, як все виглядає:


Можливо, вийшло банально. Можливо, хтось буде казати, що виглядає, як типовий сайт зроблений за допомогою АІ. І ви всі можете бути правими, але я прийняв рішення, що цього достатньо, щоб запустити MVP і вже шукати перших клієнтів.
Де проект зараз?
Зараз проект на етапі публічної бети, яка почалася 27 квітня. Уже на сервіс добавилося 10+ каналів, деякі з яких мають більше 100к підписників. Головний фокус — маркетинг. 0 нових фіч до моменту, як не буду мати хоча би 50 каналів бажано з різних країн і тематик.
Якщо ви власник Телеграм каналу, то ви можете безкоштовно добавитися на сервіс, а я зроблю все, що в моїх силах, щоб ви індексувалися в Google, ChatGPT тощо.
Так як сервіс лише запустився, то ще рано робити взагалі якісь висновки про його успішність чи не успішність. Мені здається потенціал є і я його готовий розвивати.
Посилання або де можна мене ще почитати:
Threads — роблю пост кожен день.
Telegram Channel — роблю пости рідше, але більш глибоко.
OpenTG.ai — сам сервіс.
Сподіваюся вам було цікаво почитати про самий продукт і про хід думок на різних етапах розробки. Взагалі, було би класно, якщо в українському комюніті #buildingpublic було більш прийнято, а то у нас є багато людей, які будують щось круте, але мало хто цим ділиться. Якщо все буде гуд, то буду давати апдейти час від часу!
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів