Technical leadership · Software architecture · Product engineering

I design, build and rescue software products.

From architecture and technical leadership to the code itself. I work with founders and teams when they need an experienced technical lead who can make the decisions and then make them real.

20+
years engineering
10+
years independent
Architecture production
One line of responsibility

You probably need me when…

  1. 01

    The MVP has customers, and now it needs to behave like a production system.

  2. 02

    The product has outgrown its original architecture—but “rewrite it” is not yet an answer.

  3. 03

    Everyone owns a part of the system, but nobody owns the complete technical picture.

  4. 04

    The team is busy shipping while consequential structural decisions keep being deferred.

  5. 05

    You need CTO-level technical ownership before a permanent CTO is the right hire.

  6. 06

    A difficult existing system needs to be understood and stabilised before anyone can change it safely.

One person. Four working modes.

An engagement can move between all four. The point is not to hand a strategy to somebody else and disappear before the difficult part.

  1. 01

    Fractional CTO & technical leadership

    Technical ownership, architecture, sequencing, engineering standards and team leadership—turning business requirements into decisions engineers can act on.

  2. 02

    Architecture & product engineering

    Design systems around the actual product and its likely evolution. Use the smallest architecture that is genuinely sufficient, then add complexity only when it earns its keep.

  3. 03

    System assessment, rescue & modernisation

    Understand the system before changing it. Find the real constraints, reliability and security risks, architectural debt and expensive assumptions. Stabilise first; rewrite only where it is justified.

  4. 04

    Hands-on engineering

    Prototype, build, review, diagnose and ship difficult or important parts directly. Recommendations should survive contact with the code and production behaviour.

Start with the responsibility you need covered.

Responsibility, decisions, delivery and the operating reality.

Client and product details stay anonymous where the work is confidential. The account below uses only facts that can be stated publicly.

01 Anonymised · SaaS

From core architecture to an operating production platform.

Situation
A SaaS product needed technical ownership spanning product decisions, architecture, implementation, AWS deployment and operation after launch.
Úlfur’s responsibility
Design, build and technically lead the platform from core architecture through product engineering, deployment and ongoing operation.
Important decisions
Keep architecture, product engineering and AWS deployment under one line of technical responsibility, so delivery and operating behaviour could inform the decisions.
Delivered
A production SaaS platform and its AWS deployment.
Operational state
Deployed and in ongoing operation.

Broader professional experience includes SaaS, startups, banking, insurance, travel/search, media/streaming and government.

A few principles that survive real systems.

  1. 01

    Understand before prescribing.

    Start with the business constraint, the product and the system as it actually behaves—not the fashionable answer.

  2. 02

    Let complexity earn its place.

    Prefer the simplest architecture that is genuinely sufficient. Complexity has a permanent operating cost.

  3. 03

    Verify against production behaviour.

    Architecture diagrams are hypotheses. Logs, failure modes and user behaviour are evidence.

Still close to the code.

The stack is not the service. It is how decisions get tested and turned into working software.

Python · Django · PostgreSQL · JavaScript · Vue · AWS

APIs · Distributed systems · SaaS · Infrastructure · Production operations

Python
since 2004
Django
since 2008

I started as an engineer and never stopped being one.

I’m Úlfur Kristjánsson. My work began in software engineering and widened over time: architecture, product decisions, infrastructure, engineering teams and eventually whole technology organisations.

These days I work where those layers overlap. Sometimes that means acting as a fractional CTO. Sometimes it means designing a system, interrogating an existing one or spending the afternoon in the code fixing the thing everybody thought required a rewrite.

I work independently and remotely with companies internationally. Consulting services are provided through Robolobo OÜ.

Have a product to build, a system to untangle, or a technical decision that has become expensive?

Let’s talk.

The first step is an email. Tell me what you are building, what is difficult, and what needs to happen next.