SaaS-ul nostru de transcriere a trecut din Rails în Rust în șapte zile, fără să deconectăm pe nimeni
SoundScript.AI transformă audio în text în 99 de limbi. Aplicația lui în Rails ținea site-ul, sarcinile din fundal și Redis pe un singur server mic și ajungea la limită. Am rescris-o în Rust, am verificat-o pagină cu pagină față de aplicația veche și am comutat producția într-o fereastră de circa patru minute.
- Client
- Envixo
- Platformă
- Aplicație web și API mobil
- Industrie
- AI și SaaS
- Lansat
- 2026
Provocarea
Aplicația Rails 8.1 funcționa, dar Puma, Sidekiq, Redis și PostgreSQL împărțeau un server cu 1.9 GB de memorie. La încărcare mare, paginile răspundeau în câteva secunde, iar în iulie 2026 sarcinile din fundal au stat blocate cinci zile.
Ce am construit
O rescriere completă a produsului, nu un prototip: site-ul în 99 de limbi, fluxul de transcriere, rezumatele și chatul cu AI, exporturile, facturarea, API-ul mobil și consola de administrare.
Aceleași adrese URL și contracte
Fiecare pagină localizată, cale de webhook, endpoint al API-ului mobil și spațiu de stocare a rămas la fel, așa că linkurile, aplicațiile și integrările au continuat să funcționeze.
Nimeni nu a fost deconectat
Aplicația în Rust citește cookie-ul de sesiune din Rails și parolele criptate existente, așa că utilizatorii au rămas autentificați peste comutare.
Date verificate, nu presupuse
După copia finală, numărul de rânduri și sumele de control pentru conturi, transcrieri, consum și abonamente au fost comparate între baza de date veche și cea nouă: identice.
Un banc de testare pentru paritate
1,126 de cereri de pagină pentru 11 tipuri de utilizatori și patru limbi, 39 de formulare trimise și 343 de cereri de administrare au fost reluate în ambele aplicații și comparate.
Tot produsul
Transcriere cu Whisper și Azure, stare live, rezumat și chat cu AI, exporturi TXT, SRT, DOCX și PDF, facturare cu Stripe și Google Play și o consolă de administrare.
Un drum sigur înapoi
Serverul vechi a rămas intact două săptămâni după comutare, așa că revenirea era o schimbare de DNS.
Rezultate tehnice
Măsurat într-un test de încărcare înainte de lansare, pe o mașină partajată: cifrele absolute sunt orientative, raporturile se păstrează.
- Producția a fost comutată într-o fereastră de circa patru minute
- Înscrierea, încărcarea, starea live, descărcările, AI, API-ul și consola de administrare verificate în producție după comutare
- Testul de încărcare a găsit o eroare în pool-ul de conexiuni, reparată înainte de lansare
- 99 de limbi, inclusiv PDF-uri de la dreapta la stânga
Tehnologie
- Rust
- axum
- PostgreSQL
- Typst
- OpenAI Whisper
- Azure Speech
- Stripe
- Kubernetes
Ai nevoie de software construit în jurul afacerii tale?
Integrări, instrumente interne, aplicații și platforme, construite la comandă de ingineri seniori care coordonează agenți AI. Spune-ne de ce ai nevoie și îți arătăm cum le-am construi.