Norske banker sitter fortsatt mange steder med kjernesystemer bygget på COBOL, et programmeringsspråk fra tiåra før de fleste av oss ble født. Systemene virker, men de er stive, dyre å endre og designet for en tid uten mobilbank eller forventninger om et grensesnitt som føles moderne. Knowit Solutions jobber med å modernisere denne typen banksystemer, blant annet gjennom BankConnect: et nytt grensesnitt bygget oppå Mambu, en skybasert kjernebankplattform. Vår bacheloroppgave gikk ut på å videreutvikle akkurat dette produktet, i samarbeid med Knowit.

Stolpediagram som viser hva norske bankkunder er mest frustrert over
Figur 1 — Utdrag fra en undersøkelse om hva som frustrerer norske bankkunder mest: gebyrer, treg kundeservice og dårlig brukervennlighet i nettbank og mobilbank går igjen øverst på listen. Dette var noe av bakteppet for hvorfor moderniseringsarbeidet er nødvendig.

Et kontrollpanel for en hektisk arbeidsdag

Målgruppen vår var ikke sluttkunden i banken, men de ansatte som jobber med låneinformasjon og kundedata hver dag: saksbehandlere, kundebehandlere og kredittansvarlige. Mange av dem jobber i et høyt tempo og har ikke nødvendigvis noen teknisk bakgrunn, så de er avhengige av systemer som er raske og intuitive, uten at de trenger å forstå hva som skjer i bakgrunnen. Vi definerte tidlig noen kjernebehov: rask og treffsikker søking uten at man må skrive inn et fullt navn eller en hel kontoID, all relevant informasjon om en kunde eller lånekonto samlet på ett sted, og et system som er robust nok til at det ikke krasjer eller viser feil data midt i et kundemøte.

Fra wireframes til et ferdig grensesnitt

Vi begynte med enkle skisser av hvordan sidene kunne se ut, og satte oss grundig inn i MUI (Material UI) og Toolpad Core, som Knowit allerede brukte i sine løsninger. Underveis fikk vi endrede ønsker fra oppdragsgiver om logo, farger og struktur, og vi la etter hvert til mørkmodus — noe som viste seg å kreve mer enn forventet, siden enkelte bilder og elementer med hvit bakgrunn måtte tilpasses for å fungere visuelt på en mørk side. Vi bygde også et dashboard med rask navigasjon mellom de ulike modulene i systemet: regnskap, rapporter, fakturaer, depotoversikt, planlagte jobber og gebyrendringer.

Skjermbilde av BankConnect sitt grensesnitt med sidemeny og søkefelt
Figur 2 — Det ferdige grensesnittet: en sidemeny gir rask tilgang til de ulike modulene, mens søkefeltet øverst er inngangsporten til informasjon om en kunde eller lånekonto.

Fra mockdata til ekte integrasjon

I starten av prosjektet hadde vi ikke tilgang til ekte data fra Mambu, så vi bygde og testet funksjonaliteten med mockdata — falske, men realistiske låne- og kundedatasett. Da vi senere fikk koblet oss til de virkelige API-ene, viste det seg at strukturen var annerledes enn vi hadde lagt til grunn: en kunde kan ha flere lånekontoer, og vi måtte bygge om store deler av logikken for å håndtere dette riktig. Vi innførte også caching og memoisering i søkefunksjonen, siden enkelte kall til Mambu sitt API kunne ta over ti sekunder, og fordi søket måtte holde seg raskt selv når datamengden vokste til flere tusen lånekontoer.

En KI-assistent i arbeidsflyten

En av de funksjonene jeg synes ble mest vellykket, er en innebygd KI-assistent som saksbehandleren kan snakke med direkte inne på en lånekonto. Assistenten får med seg konteksten om kontoen som er åpen — rentebetalinger, betalingsplan, sikkerheter og dokumenter — og kan svare på spørsmål om den uten at brukeren må lete gjennom flere faner selv. Spør man for eksempel hvor mye rente en kunde har betalt de siste månedene, svarer assistenten med en oversiktlig tabell, hentet direkte fra dataene til den valgte kontoen.

Skjermbilde av samtale med KI-assistenten i BankConnect, med tabeller over rentebetalinger
Figur 3 — KI-assistenten svarer på spørsmål om en lånekonto, her om rentebetalinger de siste månedene, med data hentet direkte fra den valgte kontoen.
Den største lærdommen fra prosjektet var hvor mye det koster å ikke ha tidlig tilgang til systemene man skal bygge mot. Fordi vi startet med mockdata og antakelser om datastrukturen, måtte store deler av logikken bygges om da vi endelig fikk koblet oss til de virkelige API-ene.

Utfordringer og refleksjoner

Vi støtte også på en del begrensninger i Next.js knyttet til forskjellen mellom klient- og serverkomponenter — funksjoner som krever tilstand (useState) kan for eksempel ikke kjøres direkte på serversiden, noe som tvang oss til å tenke nytt rundt hvordan enkelte deler av applikasjonen var satt opp. Vi fikk etter hvert også ta del i noe backend-arbeid i C# og .NET, som ikke var planlagt fra starten, men som ga oss verdifull erfaring med API-integrasjoner og hvordan man strukturerer data som skal være både fleksible og robuste.

Min rolle

Vi var fem studenter i teamet, og jobbet tett sammen gjennom hele prosjektperioden hos Knowit Solutions. Jeg bidro hovedsakelig på frontend-siden med Next.js, React og MUI, med et spesielt fokus på søkefunksjonaliteten og visningen av lånedetaljer — blant annet autocomplete-søket og komponentene som samler all relevant informasjon om en lånekonto på én side. Etter hvert fikk jeg også være med på enkelte backend-oppgaver knyttet til caching av data, integrert mot kjernebankplattformen Mambu.

Resultat

Vi endte opp med en fungerende prototype hvor en saksbehandler raskt kan søke opp en kunde eller lånekonto, få all relevant informasjon samlet på ett sted, generere dokumenter og få hjelp fra en KI-assistent underveis. BankConnect er tenkt som et steg mot å erstatte de gamle kjernesystemene med noe raskere og triveligere å jobbe i, og Knowit Solutions tar løsningen videre mot full integrasjon med Mambu sitt API og brukertesting med ekte banksansatte.