Work

AI at Visma Flyt

2025 to now · Lead AI Engineer, then AI Tech Lead

The role. I lead the AI Hub, the team that builds the AI services in the software Visma Flyt makes for Norwegian municipalities. A lot of the job sits outside the team:

I was tech lead and hands-on developer on the first services, and I'm still hands-on across the stack. Visma Flyt's blog interviewed the new team in March 2025 (in Norwegian).

The services. Two are in production with municipalities, past the pilot stage, and a third is rolling out:

Some have demos on Visma Flyt's AI page (in Norwegian). Municipal data is sensitive: the services are hosted in the EU, and I led and coordinated their approval under Visma's secure cloud-delivery framework, which brings them under ISO 27001 and ISAE 3402 Type 2. They are built for GDPR, the EU AI Act and Norway's coming AI act.

A diagram: documents and audio coming in from Visma Flyt's products go to the AI services — field extraction and transcription, both in production, and an AI assistant inside the products, rolling out — and back out across the portfolio, where staff check the suggestions and decide

The AI services suggest; staff check and decide.

Stack. Python and TypeScript on Azure, with infrastructure as code.

Visma Resolve

2020 to 2025 · AI Specialist

Forecasting, optimisation and, later, large language models.

A sales forecast chart: monthly sales history, then a forecast with a shaded prediction interval

A demo of the forecasting service: sales history, then a forecast with its prediction interval.

Smaller explorations included suggesting time registrations for project workers, working out whether a sole proprietorship should become a limited company, and sorting calendar events with language-model embeddings and clustering.

I also ran hands-on workshops with students, such as a forecasting competition and one building a genetic algorithm for vehicle routing.

Tracking rock layers in seismic data

2019 to 2020 · RagnaRock Geo and NTNU

Seismic surveys show the layers of rock below the ground, and interpreting them means tracing the boundaries between layers through large 3D volumes. By hand, that is slow. I worked on automating it from two directions:

Two 3D surface plots of a seismic horizon: the model's prediction on the left, the true horizon on the right

From the thesis: a predicted horizon on the left, the true one on the right.