Skip to content

About

From maintaining inherited code to building a data product

The long version: how I got here and what I picked up along the way.

I started where nearly everyone does: maintaining what was already written. Intranets in PHP and JavaScript with no framework, old functions failing for reasons nobody remembered, and CSS inherited from three different people. You learn more there than it looks — mostly how to read code you did not write, and how not to break what works.

The step up came with an application connecting suppliers and property managers. I built the whole thing in Laravel 8, later rewrote it in C# and .NET, and it ended up doubling the company’s revenue before the business was sold. It is still in production today, years later. That is the part I care about: not the demo, but what holds up once nobody is watching.

Since late 2024 I have been building data infrastructure. An aggregator of the Spanish property market that crawls portals, normalises them into a single schema, deduplicates the same flat listed in five places and keeps its price history. It replaced a third-party provider costing around €400 a month with our own infrastructure at €20–35.

Alongside that I learned React and Next.js, migrated a whole front end from JavaScript to TypeScript, and took a back end from Laravel 10 to 13 without stopping production. Everything I build now ships in containers on Coolify, with backups that actually get restored and internal services that are not exposed to the internet.

I have mentored junior developers and done a fair amount of legacy refactoring, which is the least glamorous and most useful way to learn how to design well.