Продукт · Архитектор и разработчик Иван Байдык
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, отправлять на транскрибацию и получать расшифровку с диаризацией — всё это в личном кабинете с историей.
24/7
мониторинг (Loki+Grafana)
🔍 Живая демонстрация
Попробуйте
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