Kunduppdrag

När regelverk, affärslogik och användarupplevelse behövde fungera tillsammans

Så byggde vi en konfigurationsstyrd plattform för tjänstepension

Ett större bolag inom den finansiella sektorn stod inför ett växande problem. Varje kundlösning drevs i praktiken som en egen applikation, med separata kodbaser, servermiljöer och releaseprocesser.

Det innebar höga kostnader, låg förändringstakt och en ökande teknisk skuld. Varje förändring behövde implementeras och testas flera gånger, med risk för inkonsekvens och fel.

Utmaningen var inte att utveckla mer funktionalitet – utan att skapa en struktur som gjorde det möjligt att hantera komplexiteten på ett kontrollerat sätt.

Bakgrunden – en gemensam produkt med olika villkor

Vår uppdragsgivare hanterar digitala tjänster inom tjänstepensionsområdet, där flera olika kundgrupper och avtal behöver stödjas inom samma verksamhet. 


Även om tjänsterna liknar varandra skiljer sig affärsregler, juridiska villkor och användarflöden åt mellan olika bestånd och avtal.


Tidigare hade man löst detta genom separata applikationer för varje kundvariant. Det gav flexibilitet på kort sikt men skapade stora problem över tid:

  • flera kodbaser att underhålla
  • duplicerad funktionalitet
  • komplex releasehantering
  • ökade driftkostnader
  • högre risk vid förändringar
  • svårigheter att införa nya funktioner konsekvent


Strategisk riktning

Istället för att fortsätta bygga separata lösningar valde vi tillsammans med kunden en annan väg. Målet var att skapa en gemensam plattform där variation mellan kunder, avtal och användargrupper hanteras via konfiguration istället för kundspecifik kod.

Det innebar tre centrala principer:

En plattform – en kodbas

Funktionaliteten samlades i gemensamma applikationer istället för separata implementationer per kund eller bestånd. Det skapade bättre kontroll över utveckling, kvalitetssäkring och förvaltning.

Konfiguration istället för hårdkodning

Texter, regler, gränssnitt och funktionalitet som varierar mellan olika kundlösningar hanteras via konfiguration. Det gör det möjligt att introducera nya varianter utan att skapa nya kodbaser.

Dynamik i realtid

Plattformen anpassar sig dynamiskt beroende på användare, affärsdata, behörigheter och regelverk. Samma lösning kan därmed stödja flera komplexa scenarier inom samma arkitektur.

Teknik och arkitektur

Lösningen bygger på en modern och modulär arkitektur där frontend, integrationslager och affärssystem är tydligt separerade. Det skapar bättre förutsättningar för skalbarhet, vidareutveckling och långsiktig förvaltning.

Frontend utvecklades i React och TypeScript för att möjliggöra ett responsivt och dynamiskt gränssnitt, medan API- och integrationslager i .NET hanterar kommunikation, affärslogik och integrationer mot bakomliggande system.

För innehåll och kommunikation används ett headless CMS, vilket gör det möjligt att hantera innehåll och variationer dynamiskt utan att påverka applikationens kodbas.

Arkitekturen kompletteras med ett konfigurationslager som styr funktionalitet, regler och användarupplevelse beroende på kund, användarroll och affärsdata.

Konfigurationsstyrning som arkitekturprincip

Kärnan i lösningen är ett konfigurationslager som styr hur applikationen beter sig beroende på kund, användarroll, bestånd och affärsregler.

Det konfigurerbara innehållet omfattar bland annat:

Innehåll och kommunikation

Texter, etiketter, hjälpmeddelanden och språk hanteras dynamiskt via CMS och kan anpassas per kund eller användartyp utan kodändringar.

Design och gränssnitt

Lösningen bygger på ett komponentbaserat designsystem med stöd för flera grafiska teman och dynamiska gränssnitt.

Funktionalitet och affärsregler

Affärslogik och användarflöden styrs via konfiguration och regelmotorer snarare än hårdkodade implementationer. Det gör det möjligt att hantera stora variationer utan att fragmentera lösningen tekniskt.
För att stödja komplexa regelverk utvecklades även en regelmotor som kan tolka och utvärdera regler i realtid baserat på data från flera källor.


Det möjliggör bland annat:

  • dynamisk validering
  • villkorade flöden
  • rollbaserad funktionalitet
  • dynamisk visning och styrning av data
  • realtidsanpassning av användarupplevelsen

Resultat och effekt

Resultatet är en snabb och responsiv applikation som kan hantera hög komplexitet utan att upplevas komplex för användaren. Sedan driftsättning har lösningen varit i stabil drift utan incidenter.


Projektet skapade också bättre förutsättningar för verksamheten att utveckla nya tjänster och genomföra förändringar utan att varje initiativ blir ett omfattande teknikprojekt.

Effekter för vår kund:

  • lägre förvaltnings- och driftkostnader
  • snabbare onboarding av nya kundvarianter
  • bättre kontroll över releasehantering och kvalitet
  • minskad teknisk skuld
  • ökad flexibilitet för vidareutveckling
  • högre stabilitet och leveranssäkerhet

Vår roll i projektet

Vi arbetade nära kundens interna team och fungerade både som teknisk partner och genomförandepartner genom hela projektet.

Tillsammans med kunden arbetade vi med:

  • målbild och teknisk strategi
  • arkitektur och integrationsprinciper
  • struktur för konfigurationsstyrning
  • UX och användarflöden
  • analys av affärsprocesser och regelverk
  • designsystem och frontendarkitektur
  • långsiktig förvaltning och vidareutveckling



Att bygga för förändring

Det här projektet är ett exempel på hur man kan skapa kontroll i komplexa digitala miljöer där teknik, affärsregler och användarupplevelse behöver fungera tillsammans.

För oss handlar modern systemutveckling inte bara om att leverera funktionalitet. Det handlar om att bygga plattformar som gör verksamheter snabbare, mer flexibla och bättre rustade för förändring över tid.

Har ni liknande utmaningar? Hör gärna av dig så berättar vi mer.