запуски

С Новым годом и с Рождеством, дорогие друзья!

Я сделал телеграм-бота, который распознает голосовые сообщения. То есть кидаешь в него голосовуху, а он отвечает текстом.

Бот сам расставляет заглавные буквы, знаки препинания и знает большинство имен и терминов — больше никакого «бендера» вместо «бэкендера». А ещё он супер-быстрый.

Удобно диктовать длинные тексты, записывать мысли. Приятно не морозить пальцы на улице — часто сообщение можно переслать «как есть», без всякой редактуры.

Под капотом Whisper API от OpenAI. Это одна из лучших моделей для перевода в речи в текст, запущенная на топовом железе её создателями.

Пока что есть ограничение на максимальную длину голосового: около 40-80 минут в зависимости от того, как именно оно записано. Ещё ему можно отправлять голосовые заметки из встроенного приложения айфона — это может пригодиться журналистам.

Бот бесплатный, ничего не запоминает и не хранит — аудио даже не скачивается на диск, всё в оперативной памяти. OpenAI утверждает, что хранит аудио, полученное по API в течении 30 дней для комплаенса, а потом удаляет его и не использует для обучения своих моделей.

Исходный код доступен на гитхабе. Если вы программист — буду рад исправлениям ошибок и помощи в развитии.

Пользуйтесь на здоровье! @goodsecretarybot

Upd: бот может отвечать крайне задумчиво, извините пожалуйста! Мы превысили все мыслимые лимиты по API OpenAI, обсуждаю с ними повышение.

Upd2: вновь стал шустрым.

Подкасты Медузы.

2 месяца дизайна, 1 месяц программирования.

Первый проект, в котором:
- мы работаем с большими медиа-файлами (кеш на edge-серверах нашего CDN увеличился почти в два раза) и сохраняем их на клиентах (оффлайн-прослушивание!);
- сделали «богатые» пуши (кнопка play прямо внутри пуш-уведомления!);
- забрали старые выпуски из внешнего сервиса (Simplecast) и импортировали их в собственный бэкенд (и не потеряли статистику по пути);
- сделали свою хитрую бэкенд-статистику, потому что нормальной коробочной статистики в индустрии подкастов не существует в принципе;
- добавили ретину на клиенты (посмотрите на эти прекрасные обложки подкастов);
- позволяем взаимодействовать с материалами прямо с главной страницы, не заходя в них.

Этот список можно продолжать. Это просто самый крупный запуск Медузы на текущий момент. Mobile Web, Desktop Web, Android, iOS, iTunes Podcasts — все платформы поддерживаются в полном объеме.

1 продакт, 2 дизайнера и 8 разработчиков. Магия!

Ilya Krasilshchik Nastya Yarovaya Виктор Ходак

Боря Горячев Anton Byrna Andrey Skopintsev Kirill Balyasnikov Артемий Гарин Max Rovnov Dmitry Zakharov

Вы — лучшие!

Завтра будет обстоятельный пост на medium, как это всё устроено.

Выпустили вчера залипальную игру на механике city/tower bloxx.

Прикол в том, что подрядчик, а проще говоря, парень, который нам её спрограммировал — не умеет писать код. Валера целиком собрал её в визуальном редакторе-движке Construct 2. Как хотите, но будущее уже наступило.

Мы с клиентом запустили стартап. Он помогает малым локальным бизнесам — кофейням, барбершопам и другим — зарабатывать по модели, которую применяют Amazon и Яндекс.

Сделали мы это с помощью технологии PWA — создали практически полноценное мобильное приложение — с оффлайном, пуш уведомлениями и иконкой на рабочем столе, используя только веб технологии! А при запуске чуть не попали в замес борьбы Apple с Евросоюзом.

В новой статье делимся, как у нас получилось успеть всё это за 6 месяцев при том, что требования постоянно менялись (стартап!)

Хотите запустить проект с нами? Пишите в личку @samatg или оставляйте заявку на сайте.

Мы тут начали делать свой продукт — медицинского ИИ-консультанта. (да, на основе и с помощью ИИ)

Многие советуются с ИИ про здоровье. Пишут свои симптомы, загружают анализы, просят разъяснить диагнозы и получают второе мнение.

Искусственный интеллект может быть очень мощным помощником, но важно уметь составить правильный запрос и дать ему весь необходимый контекст.

Плюс, у людей, которые активно этим пользуются, возникает проблема менеджмента переписки: какой это был чат, в какой программе, а где я уже загрузил эти выписки и анализы? А хранение и каталогизация медицинской истории и документов, чтобы можно было использовать их в будущем — это вообще отдельная песня.

Мы решили сделать небольшое приложение, которое задаст все необходимые уточняющие вопросы и даст четкий ответ, и при этом будет вести «личный медицинский профиль» — сохранять все заболевания, анализы, выписки и т. д., используя их в дальнейших консультациях.

За пару дней накидали дизайн в фигме и в lovable: окно чата + раздел «моё здоровье», где заболевания и документы. Принципиальная схема приложения банальная — бэкенд на питоне с базой в postgres и фронт на js.

Бэкенд пишет руками сам Федя. Во первых, вайб-кодить бэкенд — себе дороже — ИИ пока что оставляет слишком большие дырки с точки зрения безопасности, а медицинская история — это не шутки; во вторых, мы хотим разобраться, как интегрироваться с AI.

Мне казалось, что учитывая всю эту AI-движуху, должны быть практически готовые технологические решения для проектов, подобных нашему. На слуху Langgraph, PySpur, dify — на словах они обещают ровно то, что нам нужно. Бери любой, крути поверх бизнес-логику и наслаждайся!

В реальности, всё тлен. Вот короткий внутренний статус от Феди после недели исследования:

Потратил несколько часов на работу с Langgraph и полностью в нём разочаровался:
— Документация не соответствует действительности. Копируешь куски — не работают.
— Переусложнённые абстракции. У него очень высокий порог входа — я за 3 часа не смог написать инструмент, который написал бы за 10 строк чистого httpx.post(‘https://api.openai.com')
— Все действительно полезные примитивы попрятаны внутрь langgraph platform, которая выглядит как closed source bloatware с нулевым devex. Без него придётся самим разруливать стейт между пользователями и делать API телеги/lovable

Что ещё я посмотрел:
— pyspur: Купился на автотесты запросов прямо в UI. К сожалению, проект выглядит мёртвым. Как будто бы 5к звёзд у него накручены — в issues почти пусто, а в дефлотной установке не работает даже справка по CLI: я натурально так и не смог её прочитать за час, угадывал.
— dify: купил за то, что у них прямо на лендосе визуально построен граф для бота поддержки медклиники. Выглядит кайфово, но я не смог понять, как ему подсовывать свой собственный стейт юзера. У них есть свои memories, но это очень тяжёлый вендорлок, и нет уверенности что туда влезет то, что нам надо.

Кажется, dify мог бы нам подойти, но с ним MVP не пойдёт дальше founders-friends-family, т.к. у себя его не развернуть (несмотря на заявления на лендосе там полный пиздец в инфраструктуре), то есть никаких локальных моделей для тестирования.

В общем, классическая на сегодняшний день ситуация, когда много блестящего вокруг, но настоящего, хорошего — нет. В результате, Федя написал свой код на питоне и основная бизнес-логика уже работает.

Про фронтенд напишу в следующий раз.

Надеюсь, уже в ближайшие недели будет рабочий прототип, который мы покажем друзьям и знакомым. На бета-тест записаться вот тут.

Запускаем «сториз» про игры на rawg.io/tldr. Сегодня можно посмотреть 80 тематических подборок игр, где каждая игра представлена 17-секундным клипом. «Пиксельные игры», «игры, где можно драться с гигантами» и даже жутковатые «играем за антигероя» — все эти «списки» классно смотреть как видео-подборки.

Когда мы начинали проект, казалось, что просмотр сториз (tldr, как мы их назвали) — это просто развлечение. В какой-то момент, мы поймали себя на том, что сами находим интересные игры через эти подборки.

Управление стандартное — клик/тап в правой доле видео прыгает на следующий клип, если залогиниться — можно добавить игру в вишлист одной кнопкой. Хочется добавить ссылку на стор с ценой, но это запрогаем, только если будет достаточный интерес к ним в текущем виде.

Буду рад, если поделитесь tldr со знакомыми, особенно, с более молодым поколением и расскажете, что нравится, что хочется изменить.

В ролях: продакт 🤔 Алексей Горностаев, дизайн 🖌 Андрей Кулагин, фронтенд 🖼 Роман Ахмадуллин, бэкенд ⚙️ Артем Ломоносов и Антон Шурашов, контент 📹 Евгений Цветков и Сергей Уланкин. Ура!

P.S. К сожалению, мы не смогли сделать переключение видео без задержек в мобильном Safari :( если знаете, как это сделать — буду благодарен подсказке.

P.P.S. Мы на главной Product Hunt, буду очень благодарен апвоуту.

Как спецслужбы взламывают мобильные телефоны? Кто на этом зарабатывает и можно ли защититься от взлома?

В новом эпизоде подкаста разбираемся, как устроен рынок шпионского программного обеспечения. Слушайте и подписывайтесь: Apple, Google, Яндекс, Spotify, Castbox, Overcast, веб-версия.

Так мы начинаем 10 (!) сезон подкаста «запуск завтра». Ура!

Выпустили книгу, сделали для неё лендинг https://special.meduza.io/book/

Хороший повод рассказать, как мы делаем такие страницы.

У нас есть git-репа static, пуш в master-ветку которого триггерит пулл на сервере, раздающем всю папку в meduza.io/static. Так отдаются страницы типа «О проекте», много разных временных файлов и спецпроекты.

Если спецпроекту нужен красивый адрес — создается nginx роут в домене special.meduza.io. Пример — конференция «Шторм» и книга «Как жить».

Обратите внимание, мы не используем отдельные домены для каждого проекта. Заведении новых доменов, выпуск SSL-сертификатов, включение anti-DDoS механизмов, когда нужно быстро переключить IP адреса — слишком много задач для автоматизации. В результате вся user-facing Медуза живет на двух доменах: основной meduza.io для читателей и mdza.io для коротких ссылок.

Привет, друзья!

Как и обещал, мы с командой возвращаемся с третьим сезоном подкаста.

Начинаем сезон с Давида Яна.

Его сервис Yva выявляет неформальных лидеров и с высокой точность предсказывает выгорание и увольнение сотрудников. Как это работает?

Давид запустил электронный словарь Lingvo в 1989 году. Я в этом году родился. Давид построил несколько многомиллионных бизнесов, успешных не только в России, но и зарубежом. Его карманные коммуникаторы Cybiko во многом опередили свое время.

Сегодня Давид продолжает создавать компании и заниматься IT. В чем его мотивация?

После разговора с Давидом у меня было редкое чувство умиротворение и радости. Надеюсь, вам понравится наш первый эпизод.

Слушайте, подписывайтесь и оставляйте комментарии. Apple, Google, Castbox, Яндекс, Spotify, Overcast и веб-версия.