Сразу дисклеймер: в этой статье я ничего не продаю. GolosHub — мой бесплатный pet-проект без тарифов, подписок и коммерческого интереса. Это история не про “посмотрите на мой SaaS и дайте денег”, а про то, как моя личная боль с созвонами постепенно превратилась в платформу для работы с голосовой информацией для нескольких тысяч пользователей.
1. Розы гибнут на газонах, а менеджеры на созвонах
Здравствуйте, меня зовут Александр, мне 29 лет и я алкоголик работаю продактом в бигтехе.
Это значит, что мой рабочий день в значительной степени состоит из созвонов. Иногда мне кажется, что продакт — это человек, который приходит на работу, чтобы сходить на встречу, где договорятся о следующей встрече. А потом ещё на одну. Чтобы обсудить, почему предыдущая встреча не дала результата и договорить о следующей.
Созвоны бывают разные. Бывают важные. Бывают бесполезные. Бывают такие, где ты первые 40 минут думаешь: “Господи, зачем я здесь?”, а на 41-й минуте клиент внезапно называет цифру, от которой потом зависит половина проекта.
И вот это главная проблема – заранее непонятно, какой созвон окажется важным.
Если бы календарь умел предупреждать: “Внимание, на этой встрече через 27 минут прозвучит фраза, из-за которой вы потом будете три дня переписываться в почте”, было бы удобно. Но пока AI до такого не дорос, а календарь умеет только прислать напоминание за 10 минут. А потом ещё две недели заботливо сообщать, что встреча уже прошла. Спасибо, Outlook. Очень помог.
Заметки, конечно, никто не отменял – после созвона мы фиксируем решения, договорённости, follow-up и прочие артефакты взрослого проектного управления. И чаще всего этого хватает. Проблемы начинаются на длинных проектах, где у тебя один и тот же клиент, одни и те же участники и двадцать встреч с названиями вроде sync, status, follow-up и follow-up_final. Через какое-то время запись “обсудили ограничения по интеграции” начинает выглядеть как послание от древней цивилизации – ты сам это писал, но что конкретно имел в виду автор — кануло в лету.
Логичное решение — записывать созвоны. Тем более это несложно. И винда и макОС умеет писать экран «из коробки». Многие сервисы видеозвонков умеют писать встречу, а для особых извращенцев есть OBS Studio. Нажал кнопку — запись пошла. Красота.
2. Кладбище mp4-файлов
Но тут есть нюанс.
Если записывать только важные созвоны, мы опять упираемся в вопрос: как понять, что он важный, до того как он закончился? А если записывать всё, то очень быстро на диске появляется кладбище mp4-файлов. Сначала оно выглядит невинно:
client_sync_04_04.mp4
client_sync_06_04.mp4
client_sync_08_04.mp4
Потом уже не очень:
romashka_sync.mp4
romashka_status.mp4
romashka_followup.mp4
...
romashka_followup_final.mp4
romashka_ааааааааааааааааа.mp4
А потом ты открываешь папку c созвонами и понимаешь, что у тебя не архив, а целый сериал без названий серий. Где-то в третьем сезоне кто-то точно говорил про бюджет, но в какой именно серии — узнаете после рекламы.
Дробление папок по клиентам и датам помогают, но не решают главную проблему. Обычно ты ищешь не файл, а мысль. Не** sync_06_04.mp4**, а “тот момент, где клиент говорил про сроки”.
Формально информация сохранена, по факту — она похоронена.
Чтобы достать её обратно, нужно открыть видео, перемотать, послушать и… не найти. Перемотать ещё раз, вспомнить, что это был вообще другой созвон, и в итоге написать в чат: “Коллеги, а напомните, что мы там решили?”, расписавшись в своем рано спрогрессировавшем альцгеймере.
По сути дела, запись созвона не делает его полезным артефактом. Она просто переносит проблему на следующий уровень.
Было:“кажется, мы это обсуждали, но запись не вели”
Стало: “кажется, мы это обсуждали, запись есть, но в какой именно из двадцати – не вспомнить”
В общем, в какой-то момент проявилась довольно продуктовая мысль: хранение – не равно доступ. Запись на диске даёт приятное ощущение, что информация не потерялась, но не даёт удобного способа с ней работать. Особенно когда параллельно есть текущие задачи, новые созвоны и всё остальное, чем обычно заполнен рабочий день. А когда любой уважающий себя продакт видит проблему, он делает все, чтобы ее превратить в две проблемы решить.
3. Первая версия GolosHub.
Разработка началась примерно полтора года назад, а с учетом темпов развития LLM инструментов, это приблизительно середина мезозоя.
Сейчас можно открыть Cursor или Claude Code, дать ему весть репо, попросить “сделай красиво”, получить 12 изменённых файлов, 3 новых бага и ощущение технологической сингулярности. Тогда всё было скромнее – ChatGPT мог помочь написать функцию, посоветовать библиотеку, объяснить ошибку или сгенерировать кусок кода. Но посмотреть на проект целиком, предложить архитектуру и аккуратно пройтись по всем зависимостям — это уж как-нибудь сам.
Поэтому приложение я писал в довольно классическом режиме: руками, с ChatGPT в роли советчика и с периодическим вопросом к самому себе: “А точно ли продакту нужно было лезть во фронтенд?”
Ответ, конечно, был “да!”. Во-первых, мне хотелось сделать инструмент для себя. Во-вторых, хотелось освоить React и стать чуть менее бесполезным менеджером. Чтобы более предметно понимать, что происходит в тех карточках Jira, которые я так уверенно двигаю по доске.
Базой для GolosHub стал мой движок распознавания речи — тот самый “швейцарский ножик” для ASR, про который я подробно писал в прошлой статье. Там была отдельная «душная» техническая история про Whisper, длинные аудио, галлюцинации, диаризацию, параллелизм и прочие развлечения.
Движок умел главное: брать аудио или видео и превращать речь в текст в разумный промежуток времени. Но пользоваться им как готовым продуктом было неудобно. Нужен был веб-слой поверх распознавания. Чтобы открыть приложение с рабочего компьютера, домашнего ноутбука или любого другого устройства, нажать кнопку и не заниматься ручной логистикой файлов.
Если говорить языком фреймворка Jobs To Be Done — привет всем, кто сейчас поправил очки, — у меня было две основные работы:
Первая — записать созвон.
Желательно независимо от того, в какой ВКС сегодня проходит встреча. Teams, Телемост или СберJazz (прости хоспади). Запись должна работать поверх всего этого зоопарка, а не зависеть от того, есть ли вообще у конкретной платформы кнопка record, кто организатор встречи и куда потом улетит файл.
Плюс есть социальная сторона вопроса. Каждый раз фраза* “коллеги, вы не против, если я поставлю встречу на запись?”* — вроде нормально, но всё равно немного некомфортно. Особенно если тебе нужна не официальная запись “для протокола”, а просто возможность потом вернуться к рабочему контексту.
Вторая — работать с записью после созвона.
Кладбище mp4-файлов мы уже отпели выше, повторяться не буду. Смысл простой: если записей много, нужен интерфейс не к папке на диске, а к содержанию. Каталоги, проекты, теги, поиск по содержанию, быстрый переход к нужному созвону — всё, что превращает набор файлов в рабочую систему.
В качестве основного фреймворка я взял React. Почему React? Потому что надо же было наконец понять, о чём говорят фронтендеры, когда страдают. Чтобы далеко не отходить от JavaScript-вселенной, бэкенд тоже сделал на Node.js.
С базой данных хотелось не умереть на этапе проектирования. Я понимал, что структура материалов, тегов, транскриптов и всяких будущих сущностей ещё будет 100 раз меняться, поэтому выбрал NoSQL в лице MongoDB. Для pet-проекта это стандартная история. С CSS тоже хотелось контактировать минимально. Как я уже говорил, вайб-кодинга тогда ещё не было, а значит, “сделай красиво” не работало как заклинание. Поэтому Tailwind CSS пришёл на помощь.
Плюс по дороге пришлось освоить ещё несколько библиотек по мелочи. Приятный эффект pet-проекта: решая одну задачу, попутно получил мини-курс по современному вебу.
В итоге получился инструмент, который не претендовал на UX/UI-гениальность. Местами он был некрасивый, местами не очень адаптивный, местами держался на оптимизме. Но он работал. А на первом этапе это было главным.
В ядро вошли базовые сценарии:
-
записать экран прямо из веб-приложения;
-
авто-отправка записи на распознавание;
-
разложить записи по проектам и тегам;
-
присвоить спикерам имена;
-
искать по содержанию.
По итогу, менеджмент созвонов превратился из:
1. записал созвон → 2. сохранил файл → 3. переименовал → 4. переложил в папку → 5. отправил на распознавание → 6. получил текст → 7. сохранил текст → 8. потом попытался всё это найти.
В значительно более удобный:
1. нажал кнопку старт → 2. нажал кнопку стоп → 3.запись сама доехала куда нужно.
Так появилась первая версия Golos Hub. Сначала локальная, потом я довольно быстро захостил её на бесплатном PaaS и привязал домен, чтобы можно было открыть приложение не только с домашнего ноутбука, но и с рабочего компьютера.
4. Если prompt повторяется — это уже кнопка
Как только я начал пользоваться первой версией, довольно быстро появился третий сценарий.
Обычно после распознавания я забирал текст кнопкой “копировать” и шёл с ним в какую-нибудь LLM-ку. Предварительно обезличив все персональные данные, честно.
Дальше я просил что-то из: сделать follow-up, вытащить action items, нарезать кастдев на фичи и тикеты, собрать summary, или разложить разговор по таймкодам, чтобы по записи можно было перемещаться как по видео на YouTube, а не как по VHS кассете из 90-х.
В какой-то момент стало понятно: если после каждого распознавания я делаю один и тот же prompt, значит это уже не prompt, а кнопка, которая почему-то ещё не нарисована в интерфейсе.
Сказано — сделано. В GolosHub появились AI-сценарии: базовые действия поверх транскрипта, которые можно запустить прямо из UI, причем к ним я уже пришил опциональный обезличиватель персданных на базе сверточных нейросетей, который потом оценили на работе и он даже вылился в отдельный продукт. Потом к ним добавились кастомные агенты, чтобы не ограничиваться моими фантазиями о прекрасном и дать пользователю собрать свой сценарий обработки.
5. Делиться надо не гигабайтами, а смыслом
Следующая работа встречалась реже, но болела сильнее – поделиться записью.
Если кто-то на созвоне сделал запись, дальше начинается корпоративный обряд. Нужно скачать файл, залить его в облако, пошарить ссылку, потом другой человек скачивает эти два гигабайта обратно на свой носитель – как будто мы передаём друг другу пиратский фильм на DVD.
Мемом в запрещённой соцсети можно поделиться в один клик. Созвоном, который уже лежит в хабе с удобным интерфейсом, почему-то нельзя. Непорядок. Так появилась кнопка “поделиться”: можно открыть доступ к записи, тексту и результатам обработки без пересылки огромного файла туда-сюда.
6. Я показал это людям
К этому моменту приложение уже можно было показать друзьям, и это не квалифицировалось бы как акт айтишного эксгибиционизма. По меркам MVP всё выглядело достаточно прилично, работало, основные сценарии закрывало.
Я дал GolosHub нескольким друзьям. Фидбэк оказался неожиданно хорошим: людям правда понравилось. Не в формате “ну молодец, Саш, главное — не бросай”, а в формате “слушай, я реально буду пользоваться”.
После этого я решил открыть приложение внешним пользователям. Добавил минимальный набор инструментов для связи с живыми людьми: форму обратной связи, репортер багов, почту и прочие способы аккуратно сообщить автору, что о нем думают люди. И люди начали пользоваться.
7. И тут началась реальность.
Оказалось, что пользовательский файл — это не всегда аккуратная запись созвона на 40 минут. Иногда это 7 ГБ видео 4К, 12 часов Hi-Fi аудио, странный контейнер, битый энкодинг и формат, который, несмотря на мой немаленький опыт работы с аудио, я до этого видел примерно никогда.
Отдельным большим сценарием стали лекции, что ожидаемо, если инструмент умеет записывать, распознавать и потом что-то делать с текстом, университетские лекции напрашиваются сами. Их можно записать на диктофон, а если лекция удалённая — прямо из интерфейса, как обычный созвон. Но тут, как мне кажется, студенту хочется не просто получить простыню текста, а подготовленный учебный материал: структурированный конспект, формулы, таблицы, аккуратную вёрстку и выгрузку в Word, чтобы потом с этим можно было что-то делать.
Поэтому я сделал отдельный AI-режим для лекций. Не короткое саммери на три абзаца, а именно конспект: с сохранением структуры, формул, таблиц и важных деталей по контексту. Сейчас это один из самых «ходовых» сценариев использования: один человек может распознать лекцию, поделиться с группой, а всем не нужно по кругу грузить один и тот же файл. Но распознать и вставить в свой ChatGPT никто не запрещает – тут уж как удобнее.
Параллельно всплыли менее весёлые атрибуты русского интернета образца 2026 года. VPN, РКН, блокировки, рвущиеся соединения и бьющиеся пакеты по вине сами знаете кого — всё это звучит как фон из новостей, пока не начинает ломать загрузку файлов в твоём собственном, весьма православном, приложении. Особенно больно это бьёт по записи экрана: браузер пишет большой поток данных, сервер ждёт, пользователь надеется что все ОК, а где-то посередине стоит DPI нечто и все ломает… или замедляет… вы меня поняли 😉
Ещё появились любители превратить бесплатное распознавание в промышленный API. Когда человек загружает несколько записей — это пользователь. Когда скрипт льёт сотню аудиофайлов подряд — это уже не пользователь, а интеграция, о которой меня забыли спросить. Для таких случаев пришлось добавить лимиты и немного геймификации, чтобы обычному человеку было комфортно и он не упирался в лимиты никогда, а особо предприимчивым — было менее комфортно.
Пришлось вводить «умные» ограничения на размер и длительность файлов, чинить устойчивость загрузки, обрабатывать больше форматов, аккуратнее работать с ошибками и признать, что внешний пользователь с мобильным интернетом — это не ты на своём хорошем интернете и привычном ноутбуке.
Потом пошли запросы на новые языки. Испанский, французский, даже, прости господи, иврит. Последний, честно говоря, не назвал бы эталоном качества, но пользователи, которые его просили, остались довольны. В pet-проекте это уже знак качества.
Сейчас GolosHub перестал быть личной утилитой для созвонов. Пользователи показали, что сценарий шире: если в аудио или видео есть важная информация, её хочется не складировать, а превращать в данные.
Созвоны, лекции, интервью, вебинары, собеседования, судебные заседания (дэ, и такие есть), консультации — везде примерно одна механика. Голос прозвучал, файл сохранился, дальше нужен текст, поиск, конспект, AI-обработка, «шаринг» и быстрый доступ к содержанию.
Так GolosHub начал оправдывать название – не просто распознавалка и папка для записей, а хаб для голосовой информации. Я надеюсь, что благодаря такому инструменту у пользователей появится новая привычка: записывать чаще то, что потенциально пригодится. В лучшем случае запись однажды спасёт проект, подготовит к экзамену или поможет вспомнить важную формулировку. В худшем — просто спокойно полежит в архиве.
8. Сколько пользователей и какие планы?
По пользователям картина пока без единорогов, взрывного роста и ВАУ-эффекта (но формально WAU присутствует). На момент написания статьи в GolosHub зарегистрировано 5454 пользователя, из них 1131 активны ежемесячно, 357 — еженедельно. Не космос, но для бесплатного pet-проекта, который начинался как утилита для себя, это уже вполне живая история.
Самое приятное — вокруг продукта начинает формироваться небольшое, но очень теплое комьюнити. Активные пользователи не только распознают свои созвоны, лекции и записи, но и оставляют обратную связь, отвечают на опросы и даже приходят на короткие интервью в формате видеоконференций что помогает понять, куда двигать продукт дальше. За это им большое спасибо.
По планам всё просто. Как я писал в начале, я никому ничего не продаю и в ближайшее время не планирую вводить платные подписки, тарифы “Cherry Tigo Pro Max Ultra” и кнопку “оставьте заявку, наш менеджер свяжется с вами”.
Мне хочется, чтобы в Рунете был хотя бы один инструмент с полностью бесплатным распознаванием речи, которым могут воспользоваться все: выгорающий менеджер, начинающий репортёр, школьник на дополнительных занятиях и очень мотивированный студент. «Детишки же играть распознавать хотят» (с). Благо знания, железки и остатки энтузиазма пока позволяют это делать.
В текущих экономических реалиях в это сложно поверить, но возможно, когда-нибудь придёт Сбер или Яндекс и закидает меня таким количеством денег, что я буду готов пересмотреть свои отношения с совестью. Но только не сегодня!
Сегодня GolosHub — это бесплатный сервис для распознавания речи и работы с аудио/видео-информацией. А попробовать его можно по ссылке.
Спасибо всем, кто дочитал. Если вам интересно, как я в 2026 году набираю пользователей, насколько это тяжко, какие каналы использую, а какие не использую и почему – напишите в комментариях, мб отдельную статью напишу или прямо тут пообщаемся.
Обнял, приподнял и побежал дальше делать продукты!
Автор: Ko4Ai


