I'm an AI Engineer at Sngular. I build production LLM systems in Python on GCP: document extraction with Gemini, evaluation against golden datasets, human-in-the-loop feedback, and the event-driven backends that run them.
Before that, I spent five years on backend and cloud: a permissions platform for a major Spanish bank at Intelygenz, and Kubernetes and AWS infrastructure for Wazuh's SaaS.
I also co-build Arche, run Magua, a web studio in Lanzarote, and lead technology at Tinasoria Consulting.
Experience
Oct 2024 — Present
Sngular · Senior Software Engineer / AI Engineer
Main developer of the document pipeline below. Earlier, a multi-agent proof of concept with Google ADK and client migrations to GCP with Terraform and Cloud Run.
Wazuh Inc. · Cloud Computing Engineer / Backend Engineer
Built and operated Wazuh Cloud, described below, and was the main backend engineer for its console. Most of what I know about Kubernetes and the cloud, I learned here.
Stack: Python, Flask, AWS, Kubernetes, Docker
How things work
Each project comes with a small map of how it actually runs. It walks through the steps on its own; pick one to stop on it.
Document pipeline
Main developer · Sngular · Sep 2025 — Present
An LLM pipeline that reads financial documents for a fund distribution platform. It runs in production and handles hundreds of documents a day.
Each financial document enters as an event on a stream, so the services that read it, check it and learn from it stay independent.
One LLM pass extracts every field into a fixed schema. A second pass checks the result against the source before anything moves on.
A weighted risk score, tested against a golden set of annotated documents, decides what publishes on its own and what goes to a person.
Editors' corrections turn into versioned prompt hints. A person approves them before they reach extraction, so the pipeline improves without retraining a model.
Arche
Co-founder · Peaberry Studio · Jan 2026 — Present
An open-source AI agent platform I co-build with Alberto Perdomo and Iñaki Tajes. Teams get specialized agents with shared knowledge, self-hosted or on the desktop. I work mostly on the backend.
The Next.js backend asks a spawner to start a separate OpenCode container for each user through Podman, with the knowledge base mounted inside.
Workspaces call models through an internal gateway that adds the provider credentials on the server, so keys never live inside the container.
Integrations such as Linear, Notion or Slack are stored encrypted and reach the agents as MCP servers.
Agents only propose changes to the shared knowledge base. A person reviews and publishes them, file by file, to a git repository.
Wazuh Cloud
Cloud & Backend Engineer · Wazuh · Feb 2019 — Mar 2022
The managed version of Wazuh, an open-source security platform. Customers get their own hosted Wazuh without running it themselves. I built and operated its infrastructure and was the main backend engineer for its console.
The owners keep every booking in a Google Sheet. The server reads it, so guests' names and phone numbers never reach the browser.
If the sheet can't be read, the site calendar blocks nothing, while the Airbnb and Vrbo feeds fail closed, so a night is never wrongly freed.
Guests send a plain form that works without JavaScript. It reaches the owners by email, priced by the same function as the page.
Side projects
Jul 2026 — Present
Moonglade · Native macOS app
A quiet status indicator around the MacBook notch that tracks Claude Code, Codex and OpenCode sessions and takes you back to the terminal that needs attention. Swift, SwiftUI and Metal.
A serverless backend for a fitness event: Stripe checkout and signed webhooks, server-side pricing, atomic seat reservations in Upstash and reconciliation against the organisers' sheet, with automated tests.