Nosso SaaS de transcrição saiu de Rails para Rust em sete dias, sem deslogar ninguém
O SoundScript.AI transforma áudio em texto em 99 idiomas. Seu app em Rails rodava o site, os jobs em segundo plano e o Redis em um único servidor pequeno e estava chegando ao limite. Reescrevemos tudo em Rust, conferimos página por página contra o app antigo e trocamos a produção em uma janela de cerca de quatro minutos.
- Cliente
- Envixo
- Plataforma
- App web e API mobile
- Setor
- IA e SaaS
- Lançamento
- 2026
O desafio
O app em Rails 8.1 funcionava, mas Puma, Sidekiq, Redis e PostgreSQL dividiam um servidor com 1.9 GB de memória. Sob carga, as páginas levavam segundos para responder e, em julho de 2026, os jobs em segundo plano travaram por cinco dias.
O que construímos
Uma reescrita completa do produto, não um protótipo: o site em 99 idiomas, o pipeline de transcrição, resumos e chat com IA, exportações, cobrança, a API mobile e o console administrativo.
Mesmas URLs e contratos
Cada página localizada, caminho de webhook, endpoint da API mobile e bucket de armazenamento continuou igual, então links, apps e integrações seguiram funcionando.
Ninguém foi deslogado
O app em Rust lê o cookie de sessão do Rails e os hashes de senha existentes, então os usuários continuaram logados durante a troca.
Dados verificados, não presumidos
Depois da cópia final, contagens de linhas e checksums de contas, transcrições, uso e assinaturas foram comparados entre os bancos de dados antigo e novo: idênticos.
Um arcabouço de teste de paridade
1,126 requisições de página em 11 tipos de usuário e quatro idiomas, 39 envios de formulário e 343 requisições administrativas foram repetidos nos dois apps e comparados.
O produto inteiro
Transcrição com Whisper e Azure, status ao vivo, resumo e chat com IA, exportações em TXT, SRT, DOCX e PDF, cobrança com Stripe e Google Play, e um console administrativo.
Um caminho de volta seguro
O servidor antigo ficou intacto por duas semanas depois da troca, então o rollback era uma mudança de DNS.
Resultados de engenharia
Medido em um teste de carga antes do lançamento, em uma máquina compartilhada: os números absolutos são indicativos, as proporções se mantêm.
- Produção trocada em uma janela de cerca de quatro minutos
- Cadastro, upload, status ao vivo, downloads, IA, API e admin conferidos em produção depois da troca
- O teste de carga encontrou um bug no pool de conexões, corrigido antes do lançamento
- 99 idiomas, incluindo PDFs da direita para a esquerda
Tecnologia
- Rust
- axum
- PostgreSQL
- Typst
- OpenAI Whisper
- Azure Speech
- Stripe
- Kubernetes
Precisa de um software feito para o seu negócio?
Integrações, ferramentas internas, apps e plataformas, feitos sob encomenda por engenheiros sêniores comandando agentes de IA. Conte o que você precisa e mostraremos como construiríamos.