mikaeln.se

Consulting at Visionite

Mikael Norling

.NET developer

I'm a developer with over 15 years of experience, working mainly with .NET — it's something I know deeply and genuinely love doing.

vps-edge / Caddyfile
# TLS, routing, static files
mikaeln.se {
  root * /srv/www
  file_server
}
music.mikaeln.se {
  reverse_proxy aimusic:8080
}
$ git pull && live
15+years shipping .NET in production
2apps I run myself, on my own VPS
0seconds of downtime on deploy

Curiosity first — take it apart, then run it yourself.

What keeps it interesting is the curiosity. I like trying new technologies and taking things apart to see how they actually run. I've shipped plenty to Azure — Container Apps and friends — but most of my own projects live on a VPS I run myself. A platform makes the infrastructure disappear; wiring it up by hand is how I learn what's really happening underneath.

I currently work as a consultant for Visionite.

language & runtime

  • C#
  • .NET
  • ASP.NET Core
  • Blazor

data

  • EF Core
  • SQL Server
  • PostgreSQL

run & deliver

  • Podman
  • Docker
  • Caddy
  • Azure

quality

  • xUnit
  • And more…

The big one

music.mikaeln.se

AiMusic

What is this? AiMusic is a music-collection app I build and run for fun. It has a shared, curated catalog of artists, albums and songs, and lets each signed-in member keep their own collection on top of it — tracking which formats and condition they own each record on.

On top of that sits a small marketplace: collectors can list records for sale, send trade requests, chat once a deal is on, and hand a record over to another collector.

  • .NET 10
  • Blazor
  • PostgreSQL
  • Podman

vps-edge

infrastructure

The edge in front of everything I run: Caddy in Podman on my own VPS, handling TLS, routing to each app, and the static files for this page. The whole stack recently moved off Docker to Podman — half curiosity, half wanting out from under the licensing.

git pull caddy reads live no restart, no downtime