Software engineering
We are staff engineers who join your team to improve how you build, not just what you build. Our goal is simple: leave your software and your team in a better place than we found them.

We don't just improve your software, we care about the team as well
And that's no easy feat
We work on software that already has users, history, and opinions. The kind where every change can break something, and “just rewrite it” is not an option. Our staff engineers join your team to unlock progress again.
- We ❤️ legacy
Most of our work happens in brownfield and legacy systems. Code that's been around and accumulated debt, but still needs to perform. We are obsessed with quality. Cleaning up what matters while shipping real features gives us the thrills.
- Leading staff engineers
Our engineers lead by doing. They write code, improve systems and refine processes. Evolving great products is insanely complex and since 2008, we have been cleaning up codebases. We join with a clear plan to leave and when we are done, the waters are calmer, the team is stronger, and progress is predictable again.
Our engineering playing field
We take on projects that make your product more robust. When the tech outgrows the team, we step in.


Backend engineering
Our developers join your team, take on tickets and lead by example while they are at it, looking for opportunities to improve the way your engineering team is working.
They dive in the infrastructure, refactor APIs and improve performance to stabilising monoliths or evolving microservices. They build CI/CD pipelines and make your backend something your team can rely on.


Frontend engineering
We modernise legacy frontends, clean up design systems, and fix performance and accessibility. We bridge design and engineering so what ships matches what was imagined, and users actually love using it


Data & AI projects
We help teams make smart use of data and AI—not for the hype, but for real impact. We work alongside your engineers to bring clarity to what's actually worth building. Whether it's setting up pipelines, integrating generative AI, or applying machine learning where it makes sense, every step adds value and feels like a natural part of your product.


Mobile projects
TODO
Why companies call us in
And why they keep our number
You don't call us when everything's going great. You call us when things kind of work, but don't feel right anymore. When progress feels heavier than it should. When everyone's busy, but somehow nothing really moves. That's usually the moment teams need fewer opinions and more clarity.
And if we think we're not the right fit, we'll say that too.

Izix
Expertise across parking, real estate and mobility
We helped Izix transition from a service company to a software company by conducting an audit, implementing CI/CD pipelines, introducing TDD and domain-driven design, restructuring the team through hiring, and providing a CTO in residence for ongoing mentorship.
"Madewithlove has been a fantastic partner for over two years. They helped us scale our team and build a future-proof platform that grows with our business. Their expertise in scalable architecture, pragmatic approach and overall professionalism has been key to our success. Highly recommended!"


Fixform
Keeping buildings and spaces in good, safe and clean condition
After their technical co-founder departed unexpectedly, we stepped in with two staff engineers to build a quality-first MVP using Inertia.js, Vue, and Laravel. We established robust CI/CD pipelines, implemented comprehensive testing, and mentored the team through knowledge transfer.
Our best engineers are drowning.
Too much on too few shoulders? We embed, pair, and knowledge-share until your team has no bottlenecks.
"Madewithlove helped us build the blueprint, not the house. Advice was given in a fair and direct way, while keeping room for discussion and without pushing personal preferences."

No designer? No problem with v0
For small teams without a designer, v0 is a game-changer. The cost justifies itself by letting you explore and validate ideas in minutes rather than days.

From chatbots to AI agents: What do you need to know?
AI agents aren’t just chatbots. They observe, plan, and act to solve problems across systems. Powerful for workflows but costly and prone to errors, their value comes from tackling focused business problems, not the hype.

Branded types in TypeScript: when string just isn’t enough
Discover how branded types can improve your TypeScript code quality, make your intent clearer, and catch bugs before they even compile.
We keep rewriting instead of improving.
The urge to rewrite is strong. We resist it. Stabilise, improve, ship.
The hidden cost of multiple repositories
Go for one codebase or multiple repositories? A question multiple CTOs and technical founders have asked. It can be a surprisingly expensive decision nobody warns you about.

Rolling out new features takes too long.
Stalled velocity? We love getting our hands dirty - simplifying processes, and enhancing the developer experience so your team can ship with confidence again.
Our product is full of bugs.
We make brittle systems solid. Better testing, monitoring and code that holds up under pressure.
Learning from OSS: configuring your Link component via a Provider (Braid)
Learn how SEEK’s Braid Design System uses a linkComponent provider to flexibly support routing across React apps. A great pattern for design systems, and one madewithlove engineers keep coming back to when building scalable front-end libraries.
We've lost sight of priorities.
When everything's urgent, nothing moves. We align product vision and teams to end firefighting.
Our company is scaling fast, but the software isn't.
Scaling exposes the cracks. We strengthen your systems and evolve your people so scaling is not chaos.

VDAB
Guiding recently graduated students in their job search
We partnered with MONO to design and develop Vick, a digital platform that guides recently graduated students in their job search. We built both a web application and API infrastructure, integrating multiple databases and creating innovative features like password-free login.
Frequently asked questions
We don't take over—we join. Our engineers embed directly into your team, pairing with your developers, reviewing architecture, and introducing better practices. The goal isn't to replace anyone. It's to leave your team stronger than we found them.
Very direct. If something is broken, unclear, or slowing the team down, we say it out loud. Always respectfully, never theatrically. Clear problems are easier to fix than polite misunderstandings, and clarity saves time, money, and energy.
No. We're pragmatic rather than dogmatic. We do not impose frameworks for the sake of consistency or fashion. We work with your existing stack, constraints, and team, and make trade-offs explicit so decisions are deliberate instead of accidental.
Mostly SaaS startups and scale-ups that have found product–market fit but struggle to scale their product or team. We often step in when internal teams are stretched thin, processes are unclear, or early technical decisions start slowing things down.
- We do both, but our sweet spot is brownfield development. Improving and evolving existing software. Whether it is modernising a legacy codebase or untangling a complex monolith, we bring structure and calm to environments where the pressure is highest.
Almost never. Most teams do not need a big rewrite. They need fewer fires, better predictability, and clearer ownership. We focus on stabilising what matters first, then improving quality where it actually pays off.
Yes, temporarily. We sometimes act as the product's technical backbone during a transitional phase, for example when a startup lacks a CTO or needs to rebuild confidence internally or with investors. From day one, we plan our exit and make sure the knowledge stays with your team.
Software is built by humans. Smart, tired, sometimes frustrated humans. We pay attention to team dynamics, ownership, and decision-making, not just tickets and metrics. Healthier teams make better technical decisions and sustain progress longer.
We're technology-agnostic, but most of our projects use modern web stacks such as React, Vue, Laravel, Symfony, and Node.js. We also handle infrastructure, cloud environments, and increasingly data and AI integrations, always choosing what fits your context, not ours.
- Quality for us means fitness for purpose. We improve code by pairing, mentoring, and setting up CI/CD pipelines, tests, and monitoring. Not by enforcing theoretical perfection. The result is more reliable systems and teams that feel confident deploying.
- That is common. In those cases, we can provide a fractional CTO or engineering manager to bring clarity and direction. This person works alongside our engineers and your founders to define priorities, shape the team, and make technical decisions visible.
Most engagements last between 6 and 18 months. We stay as long as we add real value. Long enough to fix structural issues, mentor your team, and make progress sustainable. The goal is always to make ourselves unnecessary over time.
We look beyond shipped features. Success means fewer bottlenecks, fewer hero dependencies, calmer releases, and a team that can keep moving forward without us. Progress that holds after we leave.
We begin with an honest conversation about your challenges, technical, organisational, or both. From there, we may do a short audit or technical due diligence to clarify the situation and define next steps. Once aligned, we embed and start improving things immediately.