Все проекты
Клиентские проекты в продакшне

Speechise Сервис преобразования текста в речь на базе ИИ, переведённый на собственный голосовой движок и более чистую архитектуру бэкенда.

Полная техническая модернизация: фронтенд перенесён на Next.js, бэкенд перестроен по Onion Architecture, сторонний TTS-провайдер заменён собственным голосовым сервисом на базе Chatterbox, а расширение для Chrome читает вслух любую веб-страницу.

Speechise читает вслух фрагмент «Алисы в Стране чудес» и подсвечивает озвучиваемый абзац

Клиент / проект

Speechise

Отрасль

SaaS — преобразование текста в речь и генерация голоса с помощью ИИ

Мой вклад

  • Фронтенд на Next.js + i18n
  • Перестройка бэкенда по Onion Architecture
  • Переход на PostgreSQL
  • Подписки и вебхуки Stripe
  • Миграция TTS: Google TTS → собственный Chatterbox
  • Исследование и подбор голосов
  • Расширение для Chrome (Manifest V3)
  • Контент-стратегия и SEO
Редактор Speechise для преобразования любого текста в речь

О проекте

Speechise — сервис преобразования текста в речь на базе ИИ, перестроенный на современном стеке и избавленный от зависимости от стороннего TTS-провайдера.

Технологии: Next.js, TypeScript, C#, PostgreSQL, Onion Architecture, Stripe, Chatterbox, Chrome Extension (Manifest V3)

Задача

Продукт работал на TTS-сервисе Google и устаревшей структуре бэкенда, из-за которой развивать функционал было сложнее, чем нужно. Зависимость от стороннего TTS-провайдера ограничивала контроль над качеством голосов, стоимостью и планами развития, а существующая архитектура не позволяла чисто развивать продукт дальше.

Решение

Перенёс фронтенд на Next.js с i18n с самого начала, перестроил бэкенд по Onion Architecture и перевёл хранение данных на PostgreSQL. Настроил подписки Stripe с собственной обработкой вебхуков. Исследовал альтернативы Google TTS, затем участвовал в проектировании и разработке собственного сервиса преобразования текста в речь на базе Chatterbox — включая исследование и подбор голосов, с которыми он запускался, — и перевёл продукт на него. Также сделал расширение для Chrome, которое приносит тот же голосовой движок на любую веб-страницу: оно извлекает из страницы основной текст, определяет его язык и читает его вслух в боковой панели браузера, используя общие с основным сайтом авторизацию и логику воспроизведения. Сейчас расширение готовится к публикации в Chrome Web Store.

Направление развития, контент и SEO входили в ту же зону ответственности — решать, что строить, улучшать или убирать, а не работать по готовому ТЗ.

Ключевые возможности

Вставьте текст или загрузите документ — Speechise прочитает его вслух на собственном голосовом движке, подсвечивая каждое предложение по мере озвучивания.

Speechise с загруженной целиком электронной книгой, готовой к чтению вслух с первой главы

Голоса на более чем 20 языках, а язык текста определяется автоматически.

Выбор языка озвучивания в Speechise: список из более чем двадцати языков

Расширение для Chrome, которое читает вслух любую веб-страницу в боковой панели и подсвечивает каждое предложение по ходу чтения.

Расширение Speechise для Chrome читает вслух статью Википедии в боковой панели и подсвечивает озвучиваемое предложение

Технический подход

  • Фронтенд: перенос на Next.js с i18n с самого начала.
  • Бэкенд: перестройка по Onion Architecture для чёткого разделения доменной логики и инфраструктуры.
  • База данных: переход на PostgreSQL.
  • Платежи: подписки Stripe, обработка вебхуков реализована напрямую.
  • Преобразование текста в речь: Google TTS заменён собственным сервисом на базе Chatterbox — включая исследование и подбор голосов, — что убрало зависимость от стороннего провайдера.
  • Расширение для браузера: расширение для Chrome на Manifest V3 — извлечение основного текста страницы с помощью Mozilla Readability, воспроизведение звука через offscreen-документ (у service worker в MV3 нет аудио-API), предзагрузка следующих предложений, чтобы воспроизведение не прерывалось между фрагментами, поддержка PDF через собственный просмотрщик на pdf.js и логика воспроизведения, общая с веб-приложением через отдельный пакет.

Сложности

Замена стороннего TTS-провайдера в работающем продукте

переход с Google TTS на собственный сервис на базе Chatterbox требовал проверить качество и надёжность голосов до переключения, не нарушая работу продукта.

Перестройка бэкенда без остановки разработки

переход на Onion Architecture в живом продукте означал постепенно распутывать существующую логику, а не останавливаться ради переписывания с нуля.

Воспроизведение звука из расширения на Manifest V3

в MV3 фоновая логика живёт в service worker без DOM и аудио-API, поэтому синтез, воспроизведение и интерфейс боковой панели пришлось разделить между service worker, offscreen-документом и самой панелью и связать их через обмен сообщениями.

Выбор голосов для собственного сервиса

готового каталога голосов от поставщика не было, поэтому голоса приходилось исследовать и оценивать самостоятельно.

Моя роль

Отвечал за техническую модернизацию Speechise: перенос фронтенда на Next.js с i18n, перестройку бэкенда по Onion Architecture, переход на PostgreSQL, подписки и вебхуки Stripe и — главное в проекте — замену Google TTS собственным сервисом на базе Chatterbox, включая исследование и подбор голосов. Также сделал расширение продукта для Chrome и вместе с технической работой принимал решения по контенту и функционалу.

Результат

Speechise перешёл от зависимости от стороннего TTS-провайдера к собственному голосовому движку — и получил реальный контроль над качеством голосов, стоимостью и планами развития вместо ограничений чужого API. Вместе с современным фронтендом на Next.js и бэкендом, перестроенным по Onion Architecture, продукт стал технически самостоятельным — с собственной основой, на которой можно развиваться дальше.

Реальные продукты, практичная разработка и задачи, которые стоит решать.

Избранные работы: .NET, full-stack SaaS, AI-интеграции, инструменты для разработчиков, React, React Native и не только.

Связаться