Case · 2024/02 – 2026/07 · International video-surveillance software vendor

Modernising an appliance platform

Modernisation and stabilisation of the software platform behind a range of appliance products. The work covered modernising .NET services, the installation and deployment flow, hardware and storage integration and automating build and release – with a focus on higher operational stability, easier maintenance and a more robust appliance setup.

Role: Software Developer, Solution Architect

Challenge

The platform behind the appliance products had grown over many years: legacy .NET services, a heavy and manual installation and deployment flow and tight coupling to hardware and storage made maintenance, troubleshooting and new releases demanding and risky.

My role

Software Developer, Solution Architect. I was responsible for or carried out the following:

  • Development and refactoring of Windows services, client applications, REST APIs and shared components in C#/.NET.
  • Integration with Windows, Registry, WMI, services, firewall/GPO, server hardware, out-of-band management and storage controllers.
  • Storage configuration, disk validation, RAID/JBOD detection and user flows in the appliance setup.
  • Modernisation of the installation and deployment flow using WiX Toolset 6, Burn bundles, MSI and .NET runtime handling.
  • Troubleshooting and optimisation of memory usage, service hosting, .NET runtime configuration and performance.
  • Automation of builds, signing, SBOM, checksums and publishing via Nuke Build and GitHub Actions.
  • Architectural guidance, code reviews, technical task descriptions and documentation.

Solution

Windows services, REST APIs and client applications were modernised to .NET 8/9/10 with consistent logging and error handling. The installation and deployment flow was rebuilt with WiX Toolset 6 and Burn, and the hardware, storage and RAID/JBOD integration was made robust with validation and clear user flows. Build, signing, SBOM and publishing were automated with Nuke Build and GitHub Actions.

Outcome

Higher operational stability and lower memory usage, a more robust appliance setup and a build and release process that can be repeated without manual steps – and that is easier for the team to maintain.

More cases

Other selected projects

2023/06 – 2023/12 · Danish energy company

Payment integration for a self-service portal

Software Developer, Solution Architect

Implementation and maintenance of a self-service portal where customers get an overview of their electricity and gas subscriptions – including a new payment integration and preparation for a large customer migration.

  • C# .NET 6
  • REST API
  • Blazor
  • Azure Functions
  • Azure Service Bus
  • NServiceBus

Read the case →

2021/05 – 2023/02 · International safety and rescue group

New self-service portal for subscription customers

Software Developer, System Designer

Implementation of a new self-service portal where customers get an overview of their subscriptions – with product content kept in sync from back-end systems.

  • EPiServer
  • C# .NET 6
  • Unit test
  • Azure DevOps
  • Scrum

Read the case →

2020/07 – 2020/11 · Manufacturer of road-infrastructure measurement equipment

From VB6 to a modern C# platform

Software Developer, System Designer

Gaining an overview of an existing codebase in order to implement bug fixes and migrate from VB6 to a modern C# platform.

  • Turbo Pascal
  • VB6
  • WPF
  • WinForms
  • C# .NET
  • MVVM

Read the case →

All projects