Spring til indhold
zentropix[ai]
MENU

Cases / Case

405 automatiske tests. Ingen prototype.

sms.zentropix.ai er vores egen SMS-kampagneplatform: FastAPI, Postgres og React, bygget med AI-agenter og sat i drift. Den sender og sporer rigtige beskeder hver dag og håndterer afmeldinger automatisk, siden v2 gik live.

Produkt
Vores eget · sms.zentropix.ai
Stack
FastAPI · Postgres · React
Drift
Docker bag Traefik
Status
Live (v1 + v2)

Vores egen marketinggruppe sender SMS i stor skala i iGaming og forbrugslån. De eksisterende portaler var enten dyre, lukkede eller begge dele, og de gjorde det svært at styre netop det, der betyder mest juridisk: afmeldinger og spærrelister. Så vi byggede vores egen platform.

En portal, man lejer, bestemmer selv, hvordan man må sende, hvordan afmeldinger håndteres, og hvad der sker, når en udsendelse fejler halvvejs. I iGaming og forbrugslån er netop de detaljer juridiske krav med reelle konsekvenser, så vi ville eje dem selv frem for at låne dem.

“AI-bygget software” betyder som regel en prototype, der imponerer i en demo og vælter i drift. De hårde dele ligger et andet sted: crash-sikker afsendelse, signerede callbacks og en afmeldingsstrøm, der aldrig fejler. Dem byggede vi først, og resten ovenpå.

Vi kører selv vores kampagner på platformen, så fejl rammer os før nogen andre. Det holder listen over “ting, der skal virke”, ærlig: en tabt afmelding eller en dobbeltsendt besked koster penge med det samme og bliver hurtigt en compliance-sag. Det er den bedste kravspecifikation, vi kender: en platform, vi selv skal kunne stole på, hver gang vi trykker send, og som vi retter samme dag, hvis noget ikke holder.

Platformen er en fuld selvhostet erstatning for en SMS-portal. Fire ting gør den driftsklar:

  • Afsendelse: beskeder sendes i batches på ≤250 pr. request og er idempotente. Et job, der genstartes midt i en udsendelse, genoptager uden at sende dobbelt eller tabe modtagere. Fejler en batch, sendes netop den om, og resten af udsendelsen er urørt.
  • Compliance: en hostet afmeldingsside og ~50.000 blacklist-numre synkroniseres automatisk. En afmelding, der kommer ind ét sted, gælder overalt med det samme. Leveringsstatus kommer ind via signerede webhooks, så en status ikke kan forfalskes udefra.
  • Eksperimenter: A/B med 2–4 varianter og en holdback-gruppe, så en vinder kan findes og sendes til resten uden at gætte. Holdback-gruppen viser, hvad kampagnen faktisk flyttede ud over baseline.
  • Verifikation: 405 automatiske tests kører grønt, credentials er krypteret, og hele platformen kører i Docker bag Traefik påsms.zentropix.ai. En rød test stopper deployet.

v1 gik i drift som en fungerende afsendelsesmotor. v2 lagde segmenter, eksperimenter og et klarere overblik ovenpå, mens platformen blev ved med at sende, og hver leverance skulle bestå den samme grønne testsuite, før den kom i produktion.

Klik og leveringer spores pr. modtager, så segmenter kan bygges på faktisk adfærd frem for på gæt. En modtager, der klikkede sidste gang, kan få en anden besked end de øvrige, og resultatet af hver kampagne lander tilbage i de data, den næste bygger på. Casen handler lige så meget om beviset som om platformen: en AI-orkestreret proces kan levere software, der står distancen i drift. Det er et system, vi selv er afhængige af hver uge.

Bygget med agenter. Testet som produktion.

Tallene herunder afspejler platformens teststatus og den kørende drift på sms.zentropix.ai. Det er de garantier, der skal holde, hver gang der sendes til rigtige numre.

405

automatiske tests, alle grønne

~50.000

blacklist-numre synkroniseret

2–4 + holdback

A/B-varianter pr. kampagne

≤250 / request

batchstørrelse, crash-safe afsendelse

Leadgenerering, der kan holde til drift?

Vi bygger og driver leadgenerering på egen infrastruktur. Den samme kan køre for jer.