IKEA — 2024–25
Ett transaktionslager byggt för en handlare som aldrig stänger
Ett prototyplager för transaktionshantering åt Ingka IKEA, utformat för att bära varje betalsätt genom ett enda system i global skala — byggt med NestJS och MongoDB, med infrastrukturen automatiserad från dag ett.

Läget
IKEA:s transaktionshantering hade vuxit som transaktionshantering alltid växer inne i en stor handlare — betalsätt för betalsätt, marknad för marknad, varje tillägg rimligt för sig och ohanterligt tillsammans. Frågan var om ett enda lager kunde ligga under alltihop.
Det var formulerat som en prototyp, vilket är den ärliga formuleringen: uppgiften var att ta reda på om designen höll innan någon band en roadmap vid den.
Vad vi gjorde
Vi byggde lagret i NestJS med MongoDB bakom, utformat så att ett betalsätt är en inpluggbar del snarare än ännu en gren i en växande villkorssats. Den intressanta begränsningen var global räckvidd — samma lager skulle bete sig förutsägbart över marknader med genuint olika betalvanor.
Infrastrukturen automatiserades med Terraform från första commit, och CI/CD kördes genom GitHub Actions ut på Kubernetes. Det är inte en bisak i en prototyp: poängen med en prototyp är att lära sig snabbt, och man lär sig inte snabbt om en driftsättning tar en förmiddag.
Teamet arbetade i täta loopar med IKEA:s egna utvecklare för att validera designen mot verkliga skalantaganden i stället för önskade.
Utfallet
Prototypen visade ett enda transaktionslager som kunde hantera IKEA:s betalsätt med felisolering mellan dem, på infrastruktur som gick att återskapa från källkod.
Vanorna från det uppdraget — infrastruktur som kod, pipelines före funktioner — är de vi numera inleder varje plattformsbygge med.
Låt oss bygga något som håller.
Berätta om projektet. Är vi inte rätt studio för det säger vi det — och pekar oftast ut någon som är det.
