Продукт · Архитектор и разработчик Иван Байдык

Voice Recorder Transcript

Production-сервис записи голоса с автоматической транскрибацией — полностью на Docker + Koa + FastAPI

👨‍💻 Иван Байдык

Full‑stack разработчик · DevOps инженер
Спроектировал и реализовал end‑to‑end сервис: от записи с микрофона до транскрибации через Soniox, хранения в PostgreSQL и мониторинга. Всё — в контейнерах, с SSL и готовой инфраструктурой.
#Koa.js #FastAPI #Soniox #PostgreSQL #Docker #Grafana
🎙️ 5 бесплатных транскрибаций · авто-деактивация

Полноценный веб-сервис, который позволяет записывать голос прямо в браузере, конвертировать в MP3, отправлять на транскрибацию и получать расшифровку с диаризацией — всё это в личном кабинете с историей.

2
сервиса (Koa + FastAPI)
5
контейнеров Docker
100%
автоматизация
24/7
мониторинг (Loki+Grafana)
SSL
Let's Encrypt
🔍 Живая демонстрация

Попробуйте
Voice Recorder

Запишите голос, получите транскрибацию и посмотрите историю. Рабочий прототип — без установки.

  • 🎤 Запись с микрофона (MediaRecorder)
  • 📄 Транскрибация через Soniox
  • 📋 История с фильтрацией по пользователю
🚀 Перейти к сервису

Откроется в новой вкладке · Зарегистрируйтесь и попробуйте

🎧
Запись Транскрибация История

Архитектурный ландшафт Docker + Nginx Proxy Manager

🌐
Браузер
MediaRecorder · Web Audio
🔒
Nginx Proxy Manager
SSL · reverse proxy
🟢
Voice Recorder
Koa.js · порт 3099
Voice Transcription
FastAPI · порт 8000
🐘
PostgreSQL 16
users · transcriptions
📊
Loki + Grafana
мониторинг логов

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

🎙️

Запись и конвертация

MediaRecorder API → webm/opus → ffmpeg → MP3. Визуализация через AnalyserNode и Canvas. Предпрослушивание перед отправкой.

🧠

Транскрибация с диаризацией

Soniox async API с callback. Парсинг токенов в диалог по спикерам. Сохранение полного текста в PostgreSQL.

📋

История и лимиты

5 бесплатных транскрибаций на пользователя. Автоматическая деактивация при превышении. Фильтрация по user_id.

⚡ Инженерные решения Production‑ready

🔐 Signed cookies + bcrypt

HttpOnly signed cookies для сессии, bcrypt (12 раундов) для паролей. Безопасность из коробки.

⚡ Асинхронный пайплайн

FastAPI + asyncpg + httpx. Транскрибация не блокирует интерфейс — callback разгружает основной поток.

📦 FFmpeg в контейнере

Конвертация WebM → MP3 на лету. Оптимизация: mono, 64kbps, 44.1 кГц — идеально для речи.

📊 Мониторинг из коробки

Promtail → Loki → Grafana. Дашборд с логами транскрибации, ошибками и метриками за 24 часа.

📧 Email-уведомления

Nodemailer + SMTP (TimeWeb). Приветственное письмо с логином и паролем в тёмном дизайне.

🔄 Rate Limiting

20 запросов/минуту с IP. Защита от брутфорса и спама.

Технический фундамент

🟢 Koa.js — backend FastAPI — транскрибация 🐘 PostgreSQL — хранилище 🎙️ Soniox API — STT 🎞️ FFmpeg — конвертация 🐳 Docker — контейнеризация 📊 Loki + Grafana — мониторинг 🔒 NPM — SSL + proxy

Почему это круто
Это не прототип и не демо — это рабочий production‑сервис, который я спроектировал и развернул с нуля. От записи голоса до готовой расшифровки — всё автоматизировано, задеплоено в Docker и защищено SSL. Готов к использованию реальными пользователями.

Полный цикл: запись → конвертация → транскрибация → история → мониторинг.

Ценность для бизнеса

📌 Для пользователей

  • 🎤 Простая запись голоса из браузера
  • 📄 Мгновенная расшифровка с диаризацией
  • 📋 Личная история транскрибаций
  • 🔐 Безопасная авторизация

🏢 Для бизнеса

  • ⚡ Готовый сервис без доработок
  • 💰 Модель freemium (5 бесплатных)
  • 📊 Полный мониторинг и логи
  • 🐳 Масштабируется в Docker Swarm / K8s