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.

GearJot
A digital dashboard to better manage your entire fleet
We helped GearJot stabilize and launch its collaborative asset management platform by conducting extensive quality assurance, removing buggy features, developing a focused product roadmap, and implementing essential monitoring tools, resulting in a stable, market-ready application.
"After auditing our product, madewithlove made the bold recommendation to rebuild our platform from scratch. This allowed us to bring much-needed security upgrades and modern architectures to our previous software tool that was very outdated. They also provided structure and efficient management to our development process. In one year, their developers and interim CTO have transformed the development process, delivered on our product roadmap and managed to build a product that is performant, scalable and qualitative. Between the launch and today, we have had literally zero critical bugs and no downtime that was related to their work. The platform is now highly functional, and the balance between complexity and practicality in engineering decisions is spot on. I especially appreciated their short lines of communication, professionalism, pragmatic approach, and strategic thinking. We are now ready for the next phase and becoming more independent."

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.
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.
"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!"

A Rubber Duck’s Guide to Better Engineering
Professor Quacks reminds us that curiosity, accountability, and good teamwork are the bedrock of great engineering.

We keep rewriting instead of improving.
The urge to rewrite is strong. We resist it. Stabilise, improve, ship.
Our product is full of bugs.
We make brittle systems solid. Better testing, monitoring and code that holds up under pressure.
The enshittification of the internet: are you building value or friction?
AI agents shouldn’t become CAPTCHA solvers: discover how monetisation-driven UX patterns have turned the web into a hostile environment and what honest design can do to reverse the trend.

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.

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.
🌶️ SaaS startups should never use microservices. Like, never-ever.
Many SaaS startups over-engineer their architecture with microservices. Here's why that's usually a costly mistake—and what to do instead.

Our best engineers are drowning.
Too much on too few shoulders? We embed, pair, and knowledge-share until your team has no bottlenecks.

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.

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.
We've lost sight of priorities.
When everything's urgent, nothing moves. We align product vision and teams to end firefighting.
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.