Kundecase AI og SaaS

Vår transkripsjons-SaaS gikk fra Rails til Rust på sju dager, uten at noen ble logget ut

SoundScript.AI gjør lyd til tekst på 99 språk. Rails-appen kjørte nettstedet, bakgrunnsjobbene og Redis på én liten server og nærmet seg grensen. Vi skrev den om i Rust, sjekket den side for side mot den gamle appen og byttet produksjonen i et vindu på rundt fire minutter.

Kunde
Envixo
Plattform
Nettapp og mobil-API
Bransje
AI og SaaS
Lansert
2026

Utfordringen

Rails 8.1-appen fungerte, men Puma, Sidekiq, Redis og PostgreSQL delte en server med 1.9 GB minne. Under belastning brukte sidene sekunder på å svare, og i juli 2026 frøs bakgrunnsjobbene i fem dager.

Før: Puma, Sidekiq, Redis og PostgreSQL på én server med 1.9 GB minne
Etter: Web- og worker-tjenester på Kubernetes med administrert PostgreSQL 18, og ingen Redis: køer, live oppdateringer og rategrenser kjører på PostgreSQL
Før: En median på 2.7 s på offentlige sider ved 100 samtidige tilkoblinger
Etter: En median på 11.7 ms i samme test
Før: PDF-eksporter uleselige på arabisk, hebraisk, persisk, urdu og i devanagari-skrift
Etter: PDF-er satt med Typst og Noto-fonter, med riktig tegnforming og høyre-til-venstre-tekst
Før: Webhooks for betaling og transkripsjon som godtok usignerte hendelser når en hemmelighet manglet
Etter: Hver webhook-signatur verifisert, alltid
Før: 937 MB minne på topp
Etter: 102 MB minne på topp

Dette laget vi

En fullstendig omskriving av produktet, ikke en prototype: nettstedet på 99 språk, transkripsjonsflyten, AI-sammendrag og -chat, eksporter, fakturering, mobil-API-et og adminkonsollen.

Samme URL-er og kontrakter

Hver lokaliserte side, hver webhook-sti, hvert endepunkt i mobil-API-et og hvert lagringsområde ble det samme, så lenker, apper og integrasjoner fortsatte å virke.

Ingen ble logget ut

Rust-appen leser Rails-sesjonsinformasjonskapselen og de eksisterende passordhashene, så brukerne forble innlogget gjennom byttet.

Data verifisert, ikke antatt

Etter den siste kopieringen ble antall rader og sjekksummer for kontoer, transkripsjoner, bruk og abonnementer sammenlignet mellom den gamle og den nye databasen: identiske.

Et testoppsett for paritet

1,126 sideforespørsler på tvers av 11 typer brukere og fire språk, 39 skjemainnsendinger og 343 adminforespørsler ble spilt av mot begge appene og sammenlignet.

Hele produktet

Transkripsjon med Whisper og Azure, live status, AI-sammendrag og -chat, eksport til TXT, SRT, DOCX og PDF, fakturering via Stripe og Google Play, og en adminkonsoll.

En trygg vei tilbake

Den gamle serveren sto urørt i to uker etter byttet, så en rollback var en DNS-endring.

Tekniske resultater

Målt i en belastningstest før lansering, på en delt maskin: de absolutte tallene er veiledende, forholdene holder.

230x
Raskere median responstid under belastning
9x
Mindre minne på topp
880
Automatiserte tester kjørt ved hver endring
7
Dager fra første commit til produksjon
  • Produksjonen byttet i et vindu på rundt fire minutter
  • Registrering, opplasting, live status, nedlastinger, AI, API og admin sjekket i produksjon etter byttet
  • Belastningstesten fant en feil i tilkoblingspoolen, rettet før lansering
  • 99 språk, inkludert høyre-til-venstre-PDF-er

Teknologi

  • Rust
  • axum
  • PostgreSQL
  • Typst
  • OpenAI Whisper
  • Azure Speech
  • Stripe
  • Kubernetes

Trenger du programvare laget rundt virksomheten din?

Integrasjoner, interne verktøy, apper og plattformer, laget på bestilling av seniorutviklere som styrer AI-agenter. Fortell oss hva du trenger, så viser vi deg hvordan vi ville laget det.