Kundecase AI og SaaS

Vår transkripsjons-SaaS gjekk frå Rails til Rust på sju dagar, utan at nokon vart logga ut

SoundScript.AI gjer lyd om til tekst på 99 språk. Rails-appen køyrde nettstaden, bakgrunnsjobbane og Redis på éin liten server og nærma seg grensa. Vi skreiv han om i Rust, sjekka han side for side mot den gamle appen og bytta produksjonen i eit vindauge på rundt fire minutt.

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

Utfordringa

Rails 8.1-appen fungerte, men Puma, Sidekiq, Redis og PostgreSQL delte ein server med 1.9 GB minne. Under belastning brukte sidene sekund på å svare, og i juli 2026 fraus bakgrunnsjobbane i fem dagar.

Før: Puma, Sidekiq, Redis og PostgreSQL på éin server med 1.9 GB minne
Etter: Web- og worker-tenester på Kubernetes med administrert PostgreSQL 18, og ingen Redis: køar, live oppdateringar og rategrenser køyrer på PostgreSQL
Før: Ein median på 2.7 s på offentlege sider ved 100 samtidige tilkoplingar
Etter: Ein median på 11.7 ms i same test
Før: PDF-eksportar uleselege på arabisk, hebraisk, persisk, urdu og i devanagari-skrift
Etter: PDF-ar sette med Typst og Noto-fontar, med rett teiknforming og høgre-til-venstre-tekst
Før: Webhookar for betaling og transkripsjon som godtok usignerte hendingar når ein løyndom mangla
Etter: Kvar webhook-signatur verifisert, alltid
Før: 937 MB minne på topp
Etter: 102 MB minne på topp

Dette laga vi

Ei fullstendig omskriving av produktet, ikkje ein prototype: nettstaden på 99 språk, transkripsjonsflyten, AI-samandrag og -chat, eksportar, fakturering, mobil-API-et og adminkonsollen.

Same URL-ar og kontraktar

Kvar lokaliserte side, kvar webhook-sti, kvart endepunkt i mobil-API-et og kvart lagringsområde vart det same, så lenker, appar og integrasjonar heldt fram med å verke.

Ingen vart logga ut

Rust-appen les Rails-sesjonsinformasjonskapselen og dei eksisterande passordhashane, så brukarane heldt fram innlogga gjennom byttet.

Data verifiserte, ikkje antekne

Etter den siste kopieringa vart talet på rader og sjekksummane for kontoar, transkripsjonar, bruk og abonnement samanlikna mellom den gamle og den nye databasen: identiske.

Eit testoppsett for paritet

1,126 sideførespurnader på tvers av 11 typar brukarar og fire språk, 39 skjemainnsendingar og 343 adminførespurnader vart spelte av mot begge appane og samanlikna.

Heile produktet

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

Ein trygg veg tilbake

Den gamle serveren stod urørd i to veker etter byttet, så ein rollback var ei DNS-endring.

Tekniske resultat

Målt i ein belastningstest før lansering, på ei delt maskin: dei absolutte tala er rettleiande, forholda held.

230x
Raskare median responstid under belastning
9x
Mindre minne på topp
880
Automatiserte testar køyrde ved kvar endring
7
Dagar frå første commit til produksjon
  • Produksjonen bytta i eit vindauge på rundt fire minutt
  • Registrering, opplasting, live status, nedlastingar, AI, API og admin sjekka i produksjon etter byttet
  • Belastningstesten fann ein feil i tilkoplingspoolen, retta før lansering
  • 99 språk, inkludert høgre-til-venstre-PDF-ar

Teknologi

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

Treng du programvare laga rundt verksemda di?

Integrasjonar, interne verktøy, appar og plattformer, laga på bestilling av seniorutviklarar som styrer AI-agentar. Fortel oss kva du treng, så viser vi deg korleis vi ville laga det.