Klantcase AI en SaaS

Onze transcriptie-SaaS ging in zeven dagen van Rails naar Rust, zonder iemand uit te loggen

SoundScript.AI zet audio om in tekst in 99 talen. De Rails-app draaide de website, de achtergrondtaken en Redis op één kleine server en liep tegen zijn grenzen aan. We hebben hem in Rust herschreven, pagina voor pagina vergeleken met de oude app en de productieomgeving omgezet in een venster van ongeveer vier minuten.

Klant
Envixo
Platform
Webapp en mobiele API
Sector
AI en SaaS
Gelanceerd
2026

De uitdaging

De Rails 8.1-app werkte, maar Puma, Sidekiq, Redis en PostgreSQL deelden een server met 1.9 GB geheugen. Onder belasting duurde het seconden voordat pagina's antwoordden, en in juli 2026 liepen de achtergrondtaken vijf dagen vast.

Voorheen: Puma, Sidekiq, Redis en PostgreSQL op één server met 1.9 GB geheugen
Na: Web- en workerservices op Kubernetes met beheerde PostgreSQL 18, en geen Redis: wachtrijen, live updates en limieten draaien op PostgreSQL
Voorheen: Een mediaan van 2.7 s op publieke pagina's bij 100 gelijktijdige verbindingen
Na: Een mediaan van 11.7 ms in dezelfde test
Voorheen: PDF-exports onleesbaar in het Arabisch, Hebreeuws, Perzisch, Urdu en in Devanagari-schriften
Na: PDF's opgemaakt met Typst en Noto-fonts, met correcte lettervormen en rechts-naar-links-tekst
Voorheen: Webhooks voor betalingen en transcriptie die niet-ondertekende gebeurtenissen accepteerden als een secret ontbrak
Na: Elke webhook-ondertekening gecontroleerd, altijd
Voorheen: 937 MB geheugen bij piekbelasting
Na: 102 MB geheugen bij piekbelasting

Wat we bouwden

Een volledige herschrijving van het product, geen prototype: de website in 99 talen, de transcriptiepijplijn, AI-samenvattingen en -chat, exports, facturatie, de mobiele API en het beheerpaneel.

Dezelfde URL's en contracten

Elke gelokaliseerde pagina, elk webhook-pad, elk endpoint van de mobiele API en elke opslagbucket bleef hetzelfde, dus links, apps en integraties bleven werken.

Niemand uitgelogd

De Rust-app leest de sessiecookie van Rails en de bestaande wachtwoordhashes, dus gebruikers bleven tijdens de overstap ingelogd.

Data gecontroleerd, niet aangenomen

Na de laatste kopie zijn de aantallen rijen en de checksums van accounts, transcripties, gebruik en abonnementen vergeleken tussen de oude en de nieuwe database: identiek.

Een testopstelling voor pariteit

1,126 pagina-aanvragen over 11 soorten gebruikers en vier talen, 39 formulierinzendingen en 343 beheeraanvragen werden tegen beide apps opnieuw afgespeeld en vergeleken.

Het hele product

Transcriptie met Whisper en Azure, live status, AI-samenvatting en -chat, exports naar TXT, SRT, DOCX en PDF, facturatie via Stripe en Google Play, en een beheerpaneel.

Een veilige weg terug

De oude server bleef na de overstap twee weken intact, dus een rollback was een DNS-wijziging.

Technische resultaten

Gemeten in een belastingtest vóór de lancering, op een gedeelde machine: de absolute cijfers zijn indicatief, de verhoudingen kloppen.

230x
Snellere mediane respons onder belasting
9x
Minder geheugen bij piekbelasting
880
Geautomatiseerde tests bij elke wijziging
7
Dagen van de eerste commit tot productie
  • Productie omgezet in een venster van ongeveer vier minuten
  • Aanmelden, uploaden, live status, downloads, AI, API en beheer na de overstap in productie gecontroleerd
  • De belastingtest vond een bug in de connection pool, opgelost vóór de lancering
  • 99 talen, inclusief rechts-naar-links-PDF's

Technologie

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

Software nodig die rond je bedrijf is gebouwd?

Integraties, interne tools, apps en platforms, op maat gebouwd door senior engineers die AI-agents aansturen. Vertel ons wat je nodig hebt en we laten je zien hoe wij het zouden bouwen.