0%

The most expensive code is the code you never had to write

Not all expensive code is bad code. Some of the most expensive decisions I have been part of were well-written solutions to problems nobody had yet.

26 years in the trade, and especially the years with Lifeguard, taught me how easy it is to mistake product development for value creation. When you can build something, it is tempting to build it. A new feature solves a problem. An integration opens a possibility. A more flexible architecture future-proofs the product. The problem shows up when you build a solution to a need you have not yet proven.

What cost before we knew what it was worth

The white-label architecture behind Vitalityguard is the clearest example. It was expensive in the week it was decided, with no guarantee anyone would ever need to swap the identity on top of the platform. It turned out to be the reason we could sell the same platform on under a different name six weeks after founding it.

The D-mærket seal is another. We were among the very first companies to go through the full process and become D-mærket certified - the Danish labelling scheme for IT security and responsible data use. It was a heavy process that ran over a year. At the time it was hard to see what the investment would concretely give us. It later turned out to open doors we would not otherwise have had access to.

Neither was the wrong decision. Both were expensive before they were worth anything, and that is the kind of investment you cannot know pays off - you can only know that none of them do if you never make them.

But that is not the same as building ahead

The other day I sat in on a class at EK - Copenhagen Business Academy at the Guldbergsgade campus. A former colleague now teaches database design there, and I was there to watch him teach - to form an impression, not to say anything. But he asked me to add to it as we went. What I told the students was that building a database is not only about solving the needs a client has now, but also the ones that arrive over time, that the client does not yet know they have.

That sounds like the opposite of the point above. It is not - but it is the other half of the same decision, and it is easy to forget once you have been burned by the expensive version of it.

The zone system in Lifeguard is the example - userspaces, as we called it internally. A user could hold one of several roles - from ordinary user to coach to the company's own administrator - and belonged to one or more teams, which in turn sat under a company. That was more granularity than any single client relationship required at the time. When Vitalityguard later had to give Danica access to users' data, we could not simply hand it over - not legally, and not in practice. The solution was a new userspace for Danica - not a new construction, but another layer on top of the structure that was already there. That is why we could solve it in three weeks: they could see what the user had given permission to share about themselves, the user could revoke that permission at any time, and all data processing stayed inside our own system. We never gave the data away. Had access and visibility not already been separated in the model, it would have been a rebuild, not an addition.

The difference is not whether you build ahead

It is what you build ahead for. The zone system was a structural choice: a data model that kept roles, teams and visibility separate, without knowing exactly which combination would be needed. We did not foresee Danica. We just built something that could hold an unknown need without being rebuilt. It costs something to build flexibility in from the start. But it can cost far more to discover afterwards that the structure cannot hold the need.

The white-label architecture was the same kind of choice - structure, not feature. What is expensive is something else: building features, integrations and options on a guess about what someone will use them for. That is not foresight. It is building what increases the options before you have built what reduces the uncertainty.

So the point is not build less. It is: build the structure that can hold what you do not yet know - and wait on the rest until someone actually asks for it.

Where code turns into economics

As a developer you ask whether something can be built. As the person responsible you also have to ask why it needs building now. That is the difference between code that solves a problem and code that just opens up a possibility.

I wrote about the economic side of this in After a bankruptcy: a technical decision is also a financial decision. This is the other side of the same experience.

Read next_

01_ Sometimes I design in VS Code Not because I have given up on Figma. But because sometimes it is faster to see whether an idea holds up in the browser than on a canvas. 02_ From coder to reviewer – how AI changed the workflow AI will never be worse than it is right now. That does not change what I know – it changes where in the work I stand. 03_ The art of inheriting a WordPress installation 8 years, 34 plugins and a theme nobody dares touch. The job does not start by fixing anything – it starts by working out what is in use. 04_ Ctrl, Cmd and C# A language is learnable. It is the domain and the codebase that take time – and two machines that cost more attention than the syntax. 05_ After a bankruptcy Valued at 35 million at its height, bankrupt in December 2023, a new company seven months later. This is what sat in between – and what I took with me. 06_ The report that had to sit in reception When we built ESGRapporter, the competition had heavier calculation engines than we did. We bet somewhere else: on what the user was left holding being worth showing to someone.

Curriculum Vitae ↓

Profile Image

Paul Nybo Andersen

Profile_

48 years old, CTO, graphic designer, and full-stack developer (LAMP/LEMP) with 26 years of experience in developing digital solutions for a broad target group of companies.

Scroll to read more →

01_Services_

How I can help

Go to My experiences ↓

PHP • Laravel • MySQL • JavaScript

Web development

From database and backend to frontend, integrations and hosting.

UX • Figma • Prototypes • Testing

Web design & UX

Interface design that has to work for the user and the business alike.

Identity • Design systems • Print

Visual identity

Visual identity for companies that need to look like something you can rely on.

WordPress • Umbraco • Magento

CMS solutions

Content systems built for the people working in them every day.

Core Web Vitals • SEO • Caching

Performance & SEO

Websites that load quickly – including on a phone on a poor connection.

Architecture • Technology choice • Sparring

Technical consulting

For when a technical decision has to be made and you have nobody to test it against.

02_Case: Lifeguard Health ApS_

8 years with Lifeguard

CTO & Co-Founder

From 2015 to 2023, I was CTO and co-founder of Lifeguard Health ApS. Here, I worked on the development of a digital health platform that combined technology, data and personal coaching. The role included everything from product development, UX and software architecture to management of development teams, operations and business development. The eight years at Lifeguard shaped my approach to both technology, products and people and today form the foundation for much of what I work with.

Watch Lifeguard's Core-story

Lifeguard presentation_1_4_

Slides #1 showing my last job
Slides #2 showing my last job
Slides #3 showing my last job

03_Employment_history_

My experiences

In my role as CTO at Lifeguard, I drew on the experience I have built up over the past 26 years.

In this section, I have tried to describe the experiences I have acquired through the tasks I have solved and the professional skills I have used.

Experiences_

Image from my time at ESGRapporter

2024-2026, CTO & Co-founder

ESGRapporter

Now: ESGRapporter ApS.

We built the ESG reporting platform in Laravel, and I carried the technical responsibility for the direction, the reporting side and everyth ..

Image from my time at Revolvo

2024-2026, Senior Developer • UI/UX • Design

Revolvo

Now: Revolvo Aps. + BmyGuest ApS.

I handled development, UI/UX and graphic identity. 60% of my time went to BmyGuest and IDoMeetings, which Revolvo co-owned.

Image from my time at Lifeguard

2015-2023, CTO & Co-founder

Lifeguard

Now: Lifeguard Health ApS.

I built the LifeScore platform in Laravel with consent-based access to health data and an app for the wristband, and handled all UX and desi ..

Image from my time at Vitalityguard

2016-2018, CTO & Co-founder

Vitalityguard

Now: FIDIMI

We ran the Lifeguard platform white-labelled through a joint venture with Dansk Sundhedssikring. Maersk was the biggest client.

Image from my time at ContentCPH

2010-2015, Senior Digital Wizard

ContentCPH

Now: Charlie Tango

I built 60+ Facebook apps in PHP for Samsung, IKEA and H&M. The Nik & Jay campaign for Samsung won Danish Internet Awards 2014.

Image from my time at BOCCA WIRED

2009-2010, Freelance developer

BOCCA WIRED

Now: BOCCA

I built campaign sites for Movia and the Danish Heart Foundation, among them Overraskende hurtig, which took bronze at the Creative Circle A ..

Image from my time at EuroRSCG

2008-2010, Inhouse Freelance developer

EuroRSCG

Now: Havas Danmark

I won the agency's digital work back from the competitors and built an iPhone site and interactive product tools for GN/Jabra.

Image from my time at Bandits Inc.

2001-2026, Sole proprietorship

Bandits Inc.

Now: Audiotracking v/Paul Nybo Andersen

My own sole proprietorship since 2001. Through it I have sold web development to agencies that had the graphics but lacked the developer.

04_Skills + Stack_

My qualifications

As shown in the previous section, I have dealt with a wide range of tasks and taken on many different job roles, ranging from sound engineer to photographer, graphic artist, web developer, and CTO. The common feature in all of them has been my passion for creating meaningful experiences and my drive to create something unique.

In my approach, I have always been open to exploring new solutions to existing challenges, and I have never been afraid to acquire new knowledge. This has resulted in a wide range of skills that I have put together over time.

I have tried to list the most relevant ones here.

Rating

- " This is what I do best".

- " I'm pretty good at it".

- " I can do this just fine".

- " It's not what I'm best at, but I can if necessary".

- " I'm not good at it - but I'm willing to learn".

05_Writing_

Notes from the work

2026-09_

Sometimes I design in VS Code

Not because I have given up on Figma. But because sometimes it is faster to see whether an idea holds up in the browser than on a canvas.

2026-09_

The most expensive code is the code you never had to write

Not all expensive code is bad code. Some of the most expensive decisions I have been part of were well-written solutions to problems nobody had yet.

2026-08_

From coder to reviewer – how AI changed the workflow

AI will never be worse than it is right now. That does not change what I know – it changes where in the work I stand.

2026-05_

The art of inheriting a WordPress installation

8 years, 34 plugins and a theme nobody dares touch. The job does not start by fixing anything – it starts by working out what is in use.

2025-07_

Ctrl, Cmd and C#

A language is learnable. It is the domain and the codebase that take time – and two machines that cost more attention than the syntax.

2025-04_

After a bankruptcy

Valued at 35 million at its height, bankrupt in December 2023, a new company seven months later. This is what sat in between – and what I took with me.

2025-02_

The report that had to sit in reception

When we built ESGRapporter, the competition had heavier calculation engines than we did. We bet somewhere else: on what the user was left holding being worth showing to someone.

06_When I'm not working_

Background

I was born and raised in Copenhagen. But after a few years living with small children in an apartment in Østerbro, my girlfriend and I chose to move to a house in the suburb. We've lived in Hellerup for 11 years now, in a less pulsating neighborhood but no further away from Copenhagen than you can hop on the bike and then you're back.

I often do the latter; it's all about inspiration and new impressions. For the same reason, I still try to combine these trips with my passion for shooting photos. But since work has always been my hobby, it has been a challenge to find a balance between leisure and work projects.

When I'm not working, I spend a lot of time playing and listening to music. Unfortunately, over time, it has mostly become listening, which has been a very expensive but also rewarding passion.

The common feature of all my passions is the desire to create something. I hope this can benefit you.

TT38 profil

+25 years of experience with digital products ↓

Available for consulting, development, digital products and technical leadership.