Applied AI and automation
Local inference, RAG, agents and MCP tools, with a fall back to classic logic when the model does not answer.
Java back end · Applied AI · Barcelona
Full-stack developer. I build Java back ends and React with generative AI on systems that have been running for years. Here are the seven cases, with metrics counted over the repository.
01 / About me
I started in quality assurance: two years testing other people's Java, Python and interfaces before writing my first line of product code.
That left me with two things. A habit with tests: the CRM's one hundred and thirty-five tests come from there. And the bad habit of writing the fault down where it is going to be read, in the code or in the README, and not in my head. Then came the back end in production: Spring Boot, multi-tenant from the first table, and a migration from a legacy system to the cloud where half the work is understanding what was there before.
Local inference, RAG, agents and MCP tools, with a fall back to classic logic when the model does not answer.
Java 21 and Spring Boot 3.5, multi-tenant from the root, one hundred endpoints and forty-nine entities in the case that opens the archive.
React and TypeScript in front. Containers and network administration behind, set up by me and with no contract keeping them running.
02 / Projects
Ordered by the work I want to be asked for: applied AI and automation first, back end after that, and underneath the ground where everything runs. Each sheet says what the problem was, what I decided, what I paid for each decision and what I would do differently. The code is private; the numbers are counted over the repository.
Open the archiveIf you are in a hurry, start with the CRM with local AI, with the offline subtitles or with the inference server.
03 / Questions
Four short answers. The full archive, with what nobody usually asks, lives on its own page.
Java back end with a data problem behind it, and process automation with AI: pipelines that consume a model and end in something useful, not in a demo. If the ground where it is going to run also has to be built, so much the better, because that is where margin and privacy are won.
Both. Right now I am on staff and I stay open to either: a specific commission with a clear beginning and a clear end, or joining a company where there is a large system to maintain. The email and phone number are in the CV, linked further down.
Because the repositories are private, both the ones from my work and my own, and I have no intention of opening them so that someone can review them. The sheets stand on their own: every metric comes from counting the repository, and whoever wants to read the code, we can look at it together in a conversation.
04 / Experience
Four years between quality and development, with Java in the middle of both sides.
QA engineer at Zeelo (2021-2022). Testing on Java and Python code and on the interface, automated tests with Cypress, working with agile methodology and JIRA, and communication in English all day. That is where I learned to read other people's code fast and to write a fault report that does not force anyone to ask.
Software developer at NTT DATA (2024-present). On the Mapfre project, maintenance and bug fixing on a system in production, and new features in Java, React and MySQL. At ICS Insurance, migration of IBM Mainframe environments to Micro Focus, and back end for generative AI solutions with Spring AI, including a back end to manage MCP tools that act as a bridge between the model and the application.
The rest is outside working hours and it shows up in the project archive: a multi-tenant CRM, three lead-generation pipelines with local AI and the tools I needed to make all of that work without depending on a third party.
05 / Contact
Got a project or a gap on the team?
Email and phone number inside the CV. There is also a Spanish version, linked below. LinkedIn reaches me from here too.