
Мы привыкли думать, что после хорошего созвона все участники понимают одно и то же: что решили, кто что делает и какие следующие шаги. На практике это почти никогда не так. В одном из исследований памяти разговоров участники через неделю после беседы смогли совпасть в воспоминаниях друг с другом лишь по 4,7% деталей разговора. То есть два человека, которые были на одном и том же созвоне, спустя время помнили практически разные версии событий. При этом люди, которые фиксировали информацию сразу после разговора, сохраняли значительно больше деталей (источник: Cognitive Science — Memory for conversations). Проще говоря, каждый уносит с встречи свою версию происходящего.
В рабочей среде это особенно заметно. Мы проводим десятки встреч, обсуждаем решения, договариваемся о следующих шагах - а потом тратим время, пытаясь восстановить контекст по чатам и обрывкам воспоминаний.
Именно это и подтолкнуло меня начать записывать встречи и в итоге привести к небольшому pet-проекту, который неожиданно начал экономить мне часы каждую неделю.
Ранее я уже писал статью Я записываю онлайн-встречи. И вам советую - 2. Там я делился своим pet-приложением, которое я сначала написал для фана - чисто чтобы записывать скучные ТаунХоллы, где CEO переливает из пустого в порожнее целый час, а потом скормить стенограмму корпоративной LLM, чтобы получить сухую выжимку вида:
10 минут благодарил всех за хорошую работу, 15 минут - что мы семья, а оставшиеся 30 - рассказывал про стратегию на следующий год, которую можно свести к “делаем всё то же самое, но с ИИ и чуть быстрее”, а в конце - Q&A, где на любой вопрос ответ звучит как “хороший вопрос, мы над этим думаем”.
Скриншот транскрибации выступдения CEO

Но как раз по причине, вынесенной во вступление, я постепенно начал записывать и другие встречи. Не все, но многие. Особенно выручало, когда:
позвали на встречу, где тебе ничего не надо говорить, а просто "чтобы был в курсе"
на встречах бувает какой-то сотрудник начинает сыпать кучу тех. терминов и внутренних аббривиатур, а так как это другая команда, а то и другой юнит и стек, то ты половину их не знаешь - хорошо бы потом в спокойной обстановке разобраться.
у нас десятки национальностей, у всех очень разный английский; есть те, которых я в принципе из-за акцента плохо понимаю, а они еще и говорить могут очень быстро
Запись встречи и последующая ее транскрибация позволяет в такие моменты потом рестроспективно разобраться лучше, о чем говорил тот или иной коллега, и зафиксировать детали, которые упустил во время встречи.
Кроме того, я начал относиться к записям встреч не как к архиву «на всякий случай», а как к рабочему инструменту - способом не терять договорённости и экономить часы каждую неделю. Для этого я храню все записи с специальной папке со структурой вида:
meeting-notes ├── all-hands ├── plans ├── projects ...
В свою очередь на эту папку "натравлена" наша корпоративная LLM, в результате чего я могу ее спросить и быстро получить ответ на вопрос типа "Что мы обсуждали на последней встрече по проекту Х?" или "Напомни мне плз когда и о чем мы договорились с Y по вопросу Z пару месяцев назад?".
В итоге расширение юз-кейсов использования моей самописной программки естественным образом привело и к более частому ее использованию и появлению дополнительных "хотелок". В результате встал вопрос о доработке.
Для повышения точности я разделил аудиопотоки: теперь отдельно пишется системный звук (коллеги) и микрофон (я). Но тут вылез ожидаемый побочный эффект: если записывать встречу на ноутбуке с открытыми динамиками, микрофон начинает ловить системный звук, и всё смешивается. Я довольно долго бился с этой проблемой - пытался решить её без оверинжениринга и без серьёзного переписывания модуля захвата аудио. Перепробовал несколько подходов, но ни один не дал стабильно приемлемого результата. В какой-то момент включил “режим менеджера” и выбрал более прагматичное решение: добавил переключатель, который позволяет выбрать, что транскрибировать - оба потока или только один. Кейс не самый частый, поэтому лишний клик раз в несколько записей выглядит разумной платой за простоту решения.
Еще я добавил CLI (включается в настройках) - и это неожиданно сильно расширило сценарии использования. Теперь приложение можно дергать не только руками, но и из внешних инструментов - например, из LLM-ассистента. Я завел простой скил, который умеет работать с BoringMeeting через CLI. В результате появляется довольно удобный сценарий: “О чем говорил CEO на вчерашнем All Hands?” и ассистент сам находит нужную запись, если транскрипции нет - запускает её, дожидается результата и возвращает краткий ответ. По сути, записи встреч превращаются из “архива на всякий случай” в полноценную базу знаний, к которой можно обращаться на естественном языке. На мой взгляд, сегодня любая утилита только выигрывает, если у неё есть CLI - это сразу открывает дорогу к автоматизации и интеграциям.
Скриншот настроек

По пути к новой версии, помимо фиксов, добавил несколько практичных вещей:
настройка положения кнопки записи (сверху или снизу) - оказалось неожиданно важно, особенно если окно постоянно “живет” в определённой части экрана
отображение реальной скорости работы моделей и прогноз времени транскрибации на основе статистики именно вашей машины, а не абстрактных x2 / x10
обрезка записей - появилась после кейса, когда друг забыл выключить запись, и в файл попал лишний час с YouTube и музыкой
автоудаление старых записей (чтобы папка со временем не превращалась в склад аудиоархива)
Проект остаётся моим pet-проектом и развивается в первую очередь из собственных сценариев и запросов друзей. За ~3 месяца в App Store: чуть больше 100 установок и 12–18 ежедневных пользователей в будни (4–5 в выходные). Небольшие цифры, но мне важно, что инструмент оказывается полезным в реальной работе. В первую очередь для меня и паре моих друзей, а еще для дестяка других людей)
Скачать можно 👉 BoringMeeting - промо-страница с деталями или 👉 App Store (Apple Silicon (M1+), macOS 15+, бесплатно)
Если найдёте баги или захотите какую-то фичу - пишите. Я не обещаю быстрых релизов, но стараюсь фиксить то, что реально мешает. В планах - добавить локальную генерацию summary (изначально она была в бэклоге, но с появлением корпоративной LLM приоритет снизился).