Independent senior .NET consultant, specialising in identity and security
I help .NET teams with the parts of a system that are hard to get right: login, access control and the security around them. I also work with architecture, backend development and, more recently, coding agents.
Quick facts
- Based in: Göteborg, Sweden. On-site, hybrid or remote.
- Specialty: authentication, identity and security in .NET (OpenID Connect, OAuth, Duende IdentityServer)
- Recognition: Microsoft .NET MVP since 2024
- Experience: professional developer since 1998, .NET since 2002
- Teaching: building and delivering courses since 2010
- Speaking: conferences such as NDC, Øredev and Swetugg
- Languages: Swedish and English
Identity and OpenID Connect
I set up, review and fix authentication in ASP.NET Core applications: Duende IdentityServer, OpenID Connect, OAuth and the BFF pattern for single-page apps. That can be a new IdentityServer installation, an upgrade from IdentityServer4, or finding out why tokens, claims or cookies don’t behave the way you expect.
- Service: IdentityServer consulting and training
- Guide: OpenID Connect for Developers
- Dometrain courses: Getting Started: OpenID Connect and Getting Started: Authentication and Authorization in .NET
- Workshop: Introduction to OpenID Connect and OAuth
- Blog: Duende IdentityServer 7: A Complete Setup Guide for ASP.NET Core
Security
I review the security of web applications, with a focus on authentication and authorization in ASP.NET Core. I look at how the application handles cookies, tokens and sessions, and where an attacker could get in. You get a list of concrete findings, and I explain them to the team so the same mistakes don’t come back.
Software Architecture
I do architecture and code reviews, and technical due diligence, where I go through a large .NET codebase and report on its state. I have taught domain-driven design, CQRS and event sourcing for more than ten years, and I co-created cqrs.nu. If your team wants to use these patterns, I can help you decide where they fit and where they don’t.
- Guide: cqrs.nu, CQRS and event sourcing, with a starter kit for .NET
- Workshop: DDD, CQRS and Event Sourcing in .NET
- Blog: Discovering .NET codebases using code coverage and NCrunch
Backend development
I build backend systems in C# and ASP.NET Core, mostly APIs and services, and I have worked with .NET since 2002. When the system runs on Azure, I work with that as well. I hold the AZ-204 Azure Developer certification and wrote the open-source Cloud Debugger for Azure.
- Workshop: Building ASP.NET Core APIs
- Workshop: ASP.NET Core Fundamentals
- Previous workshop: Introduction to Azure for Developers
- Blog: Introducing the Cloud Debugger for Azure
- Blog: DefaultAzureCredentials Under the Hood
Agentic development
I help teams start using coding agents such as Claude Code in real projects, in a way that fits how they already work. I use Claude Code every day myself. I also built the Coding Agent Explorer, an open-source tool that shows what an agent actually does: every request, tool call and token count.
How I work
I’m based in Göteborg and work on-site in Sweden and abroad, or remotely. Depending on what you need, I work in one or more of these ways:
- Hands-on development: I join your team and write code.
- Advisory: reviews, second opinions and guidance for your developers, for when you need an experienced view but not a full-time consultant.
- Training and talks: I have trained developers since 2010, and I teach the same subjects I consult in. See my workshops and talks.
The first step is a short call or meeting, with no obligation, so I can understand what you need. Contact me to set one up.