We love brownfield software development

We focus on improving live software, with real users. And that's no easy feat.

Scroll down for details

Building software from scratch is awesome. You start with an idea. And then, you turn that into a Minimal Viable Product in no time. All it takes is the right skills and frameworks. Turning that idea into a product is an almost magical experience. From zero to one.

Those first months are your product's honeymoon phase. The team can pivot easily and make huge, impactful changes as they go along. Change is easy and fast—until you press that button and put the product in the hands of your users.

In the rock' n roll of building that first version, we often forget that this is the easy part. The launch of the first iteration is only the beginning of the ride. It's where the challenges start.

Managing legacy software

And some say that every line of code becomes legacy as soon as it's published
CTO mentoring expert

Once software gets actively used, change becomes a lot harder. You can't just wildly pivot, as you will impact paying customers. You can't just quickly drop the database or reboot the server when people rely on your product. And you can't just build new features, as customer support and feedback take up a big part of your team's attention.

Legacy code, brownfield projects, migrations, and upgrades. Working with real users is software development on hard mode. And that requires a different set of skills. Yet most agencies seem to treat greenfield and brownfield alike. As if building an MVP and operating an actual product require the same skills. Madewithlove has a rather different approach.

We focus on live software. Our developers are drawn by the challenge of working on software that's being used by real people.

Fractional CTO executive coaching and mentoring
We start from where you're at, and we avoid starting from scratch

Our engineers understand how you got here. We understand the trade-offs you needed to make to go to market. You can't wait for ideal conditions, but make the best of the cards you've been dealt.

We feel software delivery follows a similar pattern. Your current architecture might not be ideal, but we can't wait to rewrite it from scratch. We never start from ideal situations. We start from where you're at and take it from there.

Meet a few of our senior developers and staff engineers

Bram

Software engineer
from Belgium

Picture of Bram Devries

Peter

Software engineer
from Belgium

Picture of Peter Packet

Wouter

Software engineer
from Belgium

Picture of Wouter Sioen

Emma

Software engineer
from United Kingdom

Picture of Emma Williams

Charlotte

Software engineer
from South Africa

Picture of Charlotte Emma Grace

Oluwaseyi

Software engineer
from Nigeria

Picture of Oluwaseyi Samuel Adeogun

Alexandros

Software engineer
from South Africa

Picture of Alexandros Spyridis

Meet our other experts

We join your current development team

Reducing technical debt isn't enough. We need to change the processes and habits that caused it in the first place. That's why our engineers embed in your teams and guide them towards the better solution. We don't just improve your product but show your teams how to keep doing it in the future. Also without us. Because our ambition is to get your own team to flourish again.

Technical experts

Building software is a team sport, and we love to combine our engineering expertise with yours. Our developers bring their technical know-how to the table and introduce valuable processes and practices, such as extensive use of version control, code reviews, pair programming, continuous integration, and continuous delivery. They are there to elevate your team's performance, not just to build features.

Your users first

Reliability is the hallmark of great software products. That's why we always keep your users in mind when working on your software. Customers really dislike downtime and bugs. Preventing those is not a matter of magically writing perfect code. It requires the right processes, tools, and test automation. Our engineers set up these processes to keep quality high during this period of change. And long after.

Clients we left behind smiling
Telenet,
Urbantz,
Cheqroom,
Axelera.ai,
SMSFactor,
Yields,
MinersAI,
EasyPay,
Ecoinvent,
Flying Service,
Helpper,
CrazyGames,
We Invest,
Zapfloor,
Meet Roger,
Axelera.ai,
NS,
The Insiders,
Yescapa,
Edgar & Cooper,
Doccle,
Medexel,
MinersAI,
Optimy,
Meet Roger,
Sustainable Impact,
Zapfloor,
Creative Shelter,
StoryChief,
KBC,
Timeseer.ai,
Lawfty,
Settlemint,
Tinkerlist

... and about 150 more.

The cost of technical debt
Technical debt accumulates when speed is prioritized over quality, similar to financial debt. While it can help your business move quickly in the short term, ignoring it can hinder growth, leading to performance issues and higher long-term costs.

A productivity killer
Unchecked technical debt and legacy code can harm your team's productivity, leading to slower feature development and higher costs for bug fixes. Over time, this can erode your team morale and make it difficult to retain or onboard new talent.

Don't lose knowledge
Good documentation is critical for managing legacy code. Without clear, up-to-date records of how the code works, your company risks losing valuable knowledge when developers leave, making future updates or fixes more challenging and time-consuming.

More knowledge on legacy code, brownfield projects and technical debt

Jump on a call

to answer all your questions on your technical debt

Arrange a free, 30-minute call with our CEO to find out how we can help you.
There’s no commitment—we just want to understand your needs.

We’re getting booked up pretty quickly, so the sooner you get in touch, the sooner we can help you…