Software architect & ICT consultant
Viktor Sundberg
I’m Viktor Sundberg, a software architect and ICT consultant in Finland. I’ve been writing software since the mid-1990s, but I came to it the long way: a decade in vehicle systems, five years driving cranes and container handlers in Finnish ports, then IT management and full-time software. These days I’m building a terminal operating system (TOS) - software for the world I used to work in - alongside my main engagement, sole ICT lead for a greenfield deep-water container terminal with scope from fiber to software, and I run GoSoft Oy, where I built Gosoft Connect: RAG chat grounded in a customer’s own documents, on plain PostgreSQL and models I host myself. The essays here are field notes: networks, email, security, retrieval, and the occasional architecture opinion.
Latest essays
- 2026-08-02STARTTLS is a suggestion
Mail between servers is encrypted only if nothing interferes, and an attacker counts as interference. What MTA-STS, DNSSEC and DANE actually promise, in the order they have to be deployed, with the failure modes met along the way.
- 2026-07-29p=none is not monitoring
A DMARC record in monitoring mode with no rua tag is monitoring with nothing monitoring. What enforcement actually checks, what it breaks, and the hole it does not close.
- 2026-07-12This site
Prerendered SolidStart in plain JavaScript, zero third-party requests, HTTP/3 from a Hetzner box. What that costs, what it buys, and what I would change.
Selected work
- case studyGreenfield terminal - ICT from fiber to software
Sole ICT lead for a greenfield deep-water container terminal: network, physical security, governance, and software, built from nothing.
- case studyVenekeskus - winter storage CRM
A small, purpose-built CRM that runs the winter storage side of a Finnish boat business.
- case studyGosoft Connect - AI chat grounded in your documents
A multi-tenant widget SaaS whose AI chat answers from each customer’s own knowledge base - the entire retrieval stack self-hosted on one CPU-only node.