Vi hjälpte Matsmart/Motatos modernisera sin legacy-plattform och möjliggöra för ett litet team att leverera över sin viktklass med ett agentic AI-baserat arbetssätt — service-arkitekturen omdesignad och migrationen körd parallellt med drift utan ett enda cutover-datum.
Bakgrund
Matsmart/Motatos har ett uppdrag att minska matsvinn genom att köpa in och sälja vidare överlager, säsongsvaror, produkter med tryckfel och annan överbliven mat. Under uppdraget körde e-handeln i sex europeiska länder, med Sverige på 5 000–8 000 ordrar per dag och betydande dygnet-runt-trafik på övriga marknader. Plattformen sitter mitt i operationen: ERP-sync, inköp och leverantörsdata, orderhantering, lagersaldon, realtidsintegration mot lager, frakt och produktdata för varje SKU. Tidigare beslut som en gång var rätt — ett egenbyggt ramverk, hand-underhållna tjänster, felaktiga integrationer — hade börjat bromsa teamet.
Utmaningen
Lösningen var smal: driften kunde inte pausas, en big-bang-rewrite var omöjlig för ett team av den här storleken, och fortsätta lappa det egna ramverket hade compoundat skulden. Det som ersatte måste komma bit för bit, utan en enda cutover-dag, samtidigt som teamet fortsatte leverera mot intern efterfrågan.
Vad vi gjorde
Robert Krogh från SCG kom in som arkitekt och utvecklare för att leda omställningen. En lättviktig arkitektur visade hur enskilda tjänster kunde leva utanför det egna ramverket, fortfarande vara en del av helheten, och kräva minimal setup. Vi flyttade från code-first till infrastructure-first så tjänsterna blev fullt frikopplade. Meddelandeflöden gick från riktade RabbitMQ-flöden till managed Azure Service Bus. Parallellt migrerade teamet från Azure DevOps till GitHub, vilket öppnade för att göra om CI/CD och IaC i samma anda.
Agentic AI för ett litet team på ett stort system
Vi lade grunden för team-skalad AI-användning där vinsterna sprider sig bortom individen. Genom att göra kontexten explicit i monorepot kunde agenter jobba med en bredare bild än tidigare arbetssätt tillät. En custom skill drar pipeline-data via GitHub CLI och visar i en prompt vad som är deployat var, per tjänst. Skills som denna ligger i repot, versionerade tillsammans med koden — en utvecklares förbättrade arbetssätt blir teamets.
Resultat
Den nya arkitekturen lät teamet bygga slankare tjänster, underhålla mindre kod, och deploya med färre steg. Dataflöden kunde migreras parallellt med den gamla lösningen, i teamets takt, enligt en säker plan. Dokumentationen blev bred och aktuell — för både människor och AI. Genom AI-underhållen dokumentation, tooling och möjligheten att utforska live-miljöer från IaC och pipelines (utan data eller känslig info) gick teamet in i ett mer agentic arbetssätt, och kunde göra meningsfullt mer med mindre.
Adaptive reuse
I arkitektur är *adaptive reuse* hantverket att ge en befintlig byggnad ny funktion och moderna system samtidigt som man bevarar strukturen och karaktären som är värd att behålla. Matsmart/Motatos plattform fick samma behandling. Domänlogiken, integrationerna verksamheten beror på, de pågående flödena: allt behållet. Vid sidan om dem byggdes moderna motsvarigheter — managed messaging bredvid den self-hosted bussen, rena pipelines bredvid de hand-underhållna, lättviktiga tjänster bredvid det egna ramverket. Nytt och gammalt körde parallellt, varje ny del förtjänade sin plats innan den gamla klev åt sidan.
Matsmart/Motatos bekämpar svinn för en levande. Stockholm Code Group hjälpte dem skära det från deras plattform också: mindre kod, mindre infra-drift, mindre föråldrad dokumentation, mindre friktion mellan en idé och en deploy.