Freelance engineer, Norway
Helgi Skjortnes
I build and ship the backend other people's businesses run on. Recently a vehicle marketplace in Kenya, a sales and operations platform in Norway, and a marketing data warehouse in the US.
About

I'm Helgi, Senior .NET Developer and Head of Integrations at SpareBank 1, working in the Norwegian financial sector. Outside that I take on freelance work: backend systems and integrations, data platforms, and the AI and infrastructure pieces that have taken up most of this year. Over the last decade I've built ERP systems, CRM integrations, marketplace platforms, analytics warehouses and agent orchestrators.
My background is self-taught. I started from a YouTube video about making games, got hooked, and never looked back. That path through restaurant ownership, sales, and eventually software consulting means I understand both the code and the business side of what I build.
When I'm not writing code for clients, I run a homelab that's probably more infrastructure than one person needs: a Proxmox cluster, around sixty containers across fifteen stacks, ZFS storage, Cloudflare tunnels, the whole thing managed with OpenTofu. My current obsession is Hrolbot, an autonomous AI agent system where Claude Code workers coordinate through a message mesh to write and review real code.
I'm based in Ålesund, Norway. I work with clients worldwide and I'm always interested in integration challenges, backend systems, and automation work.
Projects
A selection of what I have been working on, client platforms and the tools I build for myself. Each one says what the problem was and what shipped.

Marketing Data Platform & Reporting Dashboard
A BigQuery warehouse and reporting dashboard for a US marketing agency, replacing a spreadsheet workflow with one source of truth per client, plus an assistant that answers questions over it in plain language.
Experience
View full experience →Technologies
Databases
DevOps
Frameworks
Languages
Platforms
Tools
Self-Hosted Infrastructure
Homelab
Self-hosted infrastructure and services
Blog
View all posts →
Two Checks Between an LLM and Your Warehouse
Letting a model write SQL against client data is easy to demo. Making sure one customer can never read another customer's rows takes two checks, and only one of them reads the query.
Put the Tenant Column in the First Migration
"Maybe more brands later" is the most expensive sentence in a spec. Adding the tenant key on day one costs a column. Adding it on day four hundred costs a lot more.
When Two Tools Disagree, Show Both Numbers
Analytics and Search Console never agree, and picking one quietly throws information away. How a marketing report stopped producing arguments.
Get in Touch
Have a project in mind? I'd love to hear about it.
Get in touch