Legacy software modernization services

Your system works but runs on an older stack: a rewrite from scratch is a risk, and standing still blocks development. Our legacy software modernization services start with an audit. At Zeronest we moved the data backend from AWS Lambda and DynamoDB to Django and PostgreSQL on a running platform.

Server racks with network and fibre cables in a data centre

What legacy software modernization covers

Legacy software modernization, also called application modernization, is changing the stack, architecture or infrastructure of a working application without losing what already works. Typical strategies are replatforming, refactoring and framework upgrades, changing the architecture, replacing a single module and moving infrastructure to code. In our projects under Platform & Cloud Engineering it looked like this:

  • Replatforming. For Zeronest we moved the backend that loads and processes data from modems (ETL) from AWS Lambda and DynamoDB to Django and PostgreSQL.
  • Framework upgrades. For Enerace we moved to Python 3.13 and Django 5 between April and June 2025, and updated React Native between February and March 2026. For a client in the industrial sector we moved a front end from Vue 2 to Vue 3, from Vuetify 3 to Vuetify 4, and to Vite.
  • Infrastructure as code. At Skyfri, Terraform replaced ARM Templates and Azure CLI, and further services received full CI/CD and infrastructure as code.
  • Replacing a module. At Skyfri we are building a new IoT system on Azure IoT Hub and IoT Edge, which is meant to replace the current system that collects data from devices.

Which strategy fits depends on the system, so we begin with an audit or a technology discussion.

Developer's laptop with source code on screen (Unsplash)
Projects
160+

Software projects delivered since 2013

AWS engagements
50+

Company-wide; for cloud migrations mostly with Terraform

Installations
3,000+

Installations on the Zeronest platform whose ETL backend we replaced (as of April 2026)

Weeks of audit
7

Technical audit at Skyfri before any change (20 Nov 2023 to 7 Jan 2024)

We start with an audit

A modernization starts with an audit of the client's current products and stack. At Skyfri in Oslo we ran a technical audit from 20 November 2023 to 7 January 2024, seven weeks in total. The client asked us to show what to change in the product build process and in performance. The stack at the start of the audit was React, C# and ASP.NET, Python and pyspark, Kusto/ADX, Databricks and Azure.

After the audit, we set the order of changes together with the client. We now work as part of the Skyfri team, next to the colleagues in Oslo.

If you want to scope the work before committing, our free discovery workshops produce a scope, a roadmap and an estimate of cost, time and team composition. They are also the entry point for a modernization.

Developers working at multi-monitor workstations in an industrial-style open office

Taking over the development of an existing system

Access and onboarding

We get access to the system and are introduced to the project. At the start we hold a kick-off with the client, make entries in the GDPR registers and update access whenever the team changes.

A technology discussion or an audit

At Skyfri this was an audit. For the industrial platform it was onboarding and a discussion about the choice of technologies, followed by new microservices.

Shared priorities

We agree the priorities with the client before any change starts.

Small steps

The industrial platform has a mixed stack: .NET, Ruby on Rails, FastAPI, Django, Vue, Android and iOS apps, and Terraform. We modernize it gradually, module by module.

Modernization without stopping production

We change running systems in stages: the development environment first, then production. At Zeronest the new ETL process for modem data was built in September and October 2024. We then switched off the Lambda, the scheduler and DynamoDB first in the development environment and later in production, between December 2024 and April 2025. Updates continued on the live system: the Android target API in August 2025, React Native between April and July 2026, and Django between July and September 2026. As of April 2026 the platform served more than 3,000 prosumer storage installations.

At Skyfri we rebuilt the ETL pipelines in Databricks and ADX, and moved interface components into a shared library instead of implementing each one separately.

Developer working at a multi-monitor workstation with code and spreadsheet on screens

Modernization work in practice: Skyfri, Zeronest, Enerace

The projects behind this page, and what each one shows:

  • Skyfri, the solar and battery asset management platform: the audit, infrastructure as code and the new IoT system.
  • Zeronest, the solar panel monitoring app with automated battery management: the ETL backend on Django and PostgreSQL.
  • Enerace, energy procurement software: the Python and Django upgrades and the React Native update.

The fourth example, the industrial platform we took over, belongs to a client under NDA.

Modernization on live systems

Case studies behind these examples

Let's discuss your system

Talk to us about your system

Tell us what the system runs on and what has to change. We start with an audit or a technology discussion.

pattern

Cloud, infrastructure as code and support after modernization

We have 50+ AWS engagements across the company. For cloud migrations we work mainly on AWS with Terraform; see Cloud Application Development for the wider scope.

After a modernization the system can stay with us under an SLA set in the contract, as described under Support & Maintenance. We can provide hypercare after release and agree its scope and duration before the start.

Copyrights pass to you with each payment, and you receive the source code. The working repository stays in our controlled environment. Details on how we handle access and data are on the Security & GDPR page.

Order Group open-plan office with developers working at multi-monitor desks

Why teams modernize with us

We start with an audit or onboarding, depending on the system. At Zeronest the old components were switched off in the development environment before production, and later updates were made on the live system. The team that modernizes a system can then stay on it under an SLA.

Cost and how to start

For custom software projects our minimum budget is 25,000 EUR. We bill time and material by default and offer a fixed price when the scope is closed; see Custom Software Development. We reply to the contact form within 48 hours on working days.

Legacy software modernization FAQ

Questions CTOs and product owners ask before changing a running system

Maciej Sułek
Maciej Sułek
Co-founder & CTO
Book a free consultation
  • Legacy software modernization services change the stack, architecture or infrastructure of a working application while keeping what already works. Typical strategies are replatforming, refactoring and framework upgrades, changing the architecture, and replacing a module. For our clients this has meant moving an ETL backend to Django and PostgreSQL, upgrading to Python 3.13 and Django 5, and moving a front end from Vue 2 to Vue 3.

  • With an audit of the current products and the stack. At Skyfri we spent seven weeks, from 20 November 2023 to 7 January 2024, on a technical audit before any change, and then set the order of work together with the client. If you want to scope first, our free discovery workshops give you a roadmap and an estimate.

  • We make the changes in stages on the live system. At Zeronest we built a new ETL process in September and October 2024, then switched off the old Lambda, scheduler and DynamoDB first in the development environment and then in production, between December 2024 and April 2025. Later updates of the Android target API, React Native and Django were made on the live system.

  • In November 2021 we took over an existing platform from the in-house team of an industrial-sector client: onboarding, a discussion about technology choices, then new microservices. The order is access and onboarding, a technology discussion or an audit, shared priorities, then changes in small steps.

  • A project that is behind schedule starts like any modernization: we begin with an audit or onboarding on the existing system, agree the priorities with you and then change it in small steps, module by module. At Skyfri that began with a seven-week audit. A free discovery workshop can come first and sets the scope, a roadmap and an estimate.

  • Yes. Copyrights pass to you with each payment and you receive the source code. The working repository stays in our controlled environment. After modernization the system can stay with us under an SLA set in the contract, with hypercare after release if you want it.

  • For custom software projects our minimum budget is 25,000 EUR. We bill time and material by default and use a fixed price when the scope is closed. A free discovery workshop gives you a scope, a roadmap and an estimate of cost, time and team before you commit.

  • Systems we have worked on include Python and Django, React Native, Vue, Terraform, and AWS Lambda and DynamoDB. The Skyfri stack covered React, C# and ASP.NET, Python and pyspark, Kusto/ADX, Databricks and Azure. The industrial platform mixes .NET, Ruby on Rails, FastAPI, Django, Vue, and Android and iOS apps.

Developer with headphones coding at desktop monitor in an open office

Describe what has to change

Your message goes to

Filip Szamborski

Filip Szamborski

Co-founder & CEO

SO FAR WE HAVE WORKED WITH BRANDS LIKE:

Thank you for your message.

We read every message ourselves and get back to you within 48 hrs on business days.

Something urgent? hello@ordergroup.co

Let's work together!

Tell us what you need and we will get back to you.

Fields marked with an asterisk (*) are required.

Order Group sp. z o.o. uses the information you provide only to reply to your enquiry and to keep a record of it (Art. 6(1)(b) and (f) GDPR). Details, including your rights, are in our Privacy Policy (opens in a new tab).

We reply within 48 hrs on business days - a person, not an autoresponder.

Using an AI assistant? It can send this inquiry for you or prepare a pre-filled form - instructions for it are in llms.txt.

Accessibility settings

Text size

100%