Skip to content

Spain · CET

Hi, I'm Amando

Backend · Data & AI Engineer

I build

I build the unglamorous half of software: data pipelines, APIs and LLM systems that keep running on a Sunday night without anyone noticing.

off a pipeline's annual LLM bill, six figures down to five
0% off a pipeline's annual LLM bill, six figures down to five
less time for the legal team on report processing
0% less time for the legal team on report processing
news items ingested and classified daily
0K+ news items ingested and classified daily
Python FastAPI Airflow 3 Kubernetes PostgreSQL MongoDB LLM pipelines AI-assisted development Elasticsearch DDD Hexagonal architecture TDD Grafana Sentry AWS Vue 3

Selected work

Four projects, each with the same shape: a real problem, the decision that mattered, and what actually changed.

News intelligence pipeline

20,000 news items a day, embedded, clustered into stories and enriched by LLMs — at 15% of the bill it used to run on.

Outcome
Twenty thousand items a day flow through unattended, and the pipeline's annual LLM bill came down by 85% — from a six-figure sum to a five-figure one. Clustering is what did most of it: paying once per story instead of once per article, then letting evaluation move stages onto smaller models wherever the numbers said quality held.

Python 3.12Airflow 3KubernetespgvectorPostgreSQLMongoDBLLMsAWS

Read the case study

Self-healing regulatory pipeline

193 legal sources across 130 jurisdictions, scraped by fetchers an AI writes and repairs behind a deterministic harness.

Outcome
193 of the catalogued sources are covered, 153 fetcher modules live in the repository, and report processing takes the legal team 70% less time than before. A daily health job marks a fetcher broken after three consecutive failures, or degraded after three zero-yield runs against its own positive baseline, and hands the worst two to the healer — which opens a reviewed pull request instead of paging anybody.

Python 3.12Airflow 3KubernetesAnthropic LLMsPostgreSQLMongoDBDocling

Read the case study

Gestión Guarda Rural

A mobile app that replaced spreadsheets and WhatsApp for running rural estates.

Outcome
The work gets recorded once, where it happens, and monthly invoicing went from an afternoon of manual work to a few clicks — including multi-recipient client notifications and a PDF invoice layout that survives contact with a real printer.

PythonPostgreSQLNeonRailwayVue

Read the case study

Fantasy Voley

A fantasy manager for Spanish volleyball, scored from real league statistics.

Outcome
A working league built end to end — ingestion, scoring engine and front end — kept in sync automatically through the season, on a data model that survived a federation site redesign without a rewrite. Public launch is next.

PythonPostgreSQLNeonRailwayVue

Read the case study

Experience

One company so far, and what actually changed while I was there.

  1. Oct 2022 — Present

    Senior Software Engineer — Backend, Data & AI

    Datamaran

    Joined as Software Engineer (Oct 2022) · promoted to Senior in January 2026

    ESG and regulatory intelligence SaaS. Joined as a junior engineer in October 2022 and was promoted to senior in January 2026, owning the data platform that turns regulatory filings and news into structured signal for enterprise customers — plus the engineering practices the whole team builds on.

    • Built the news intelligence pipeline that ingests, deduplicates, clusters and classifies 20,000+ news items a day with LLMs on Airflow 3 over Kubernetes — and cut its annual LLM bill by 85% — a six-figure sum down to a five-figure one — by ordering stages by cost and moving them to smaller models once evaluation showed no quality loss.
    • Built the regulatory pipeline’s discovery layer: a generator that writes fetchers behind a seven-stage deterministic harness and a human review, plus the health job that detects silent breakage and hands the worst sources back to it. 193 of ~290 catalogued sources across 130 jurisdictions are covered by 153 modules, and report processing takes the legal team 70% less time.
    • Shipped the application’s user management and authentication system, and the resource-sharing layer that makes live collaborative work possible across accounts.
    • Introduced and spread the practices a 20-developer engineering org now works by: DDD, hexagonal architecture, TDD, shared linting and formatting standards, and proper database connection-pool management.
    • Led the adoption of AI-assisted development — agents and evaluation harnesses wired into pipelines, repositories and delivery processes, not just editor autocomplete.
    • Owns observability for the systems I build: Grafana dashboards and Sentry alerting, so failures surface as signal rather than as a customer email.
    • Works directly with stakeholders to turn customer needs into features, from scoping through to production.
    Python FastAPI Airflow 3 Kubernetes PostgreSQL MongoDB Elasticsearch LLMs AWS Grafana Sentry Vue 3

About

I'm a backend engineer who ended up in data and AI because that is where the interesting failure modes are. I joined Datamaran as a junior in 2022 and grew into the senior role there, which in practice meant owning systems end to end: the pipelines that read 20,000 news items a day and cover 193 legal sources across 130 jurisdictions — one of them 85% cheaper to run than when I inherited it, the other saving the legal team 70% of its report-processing time — plus the auth and sharing layers underneath the product and the observability that tells us when any of it breaks.

I build and automate with AI in the loop — not as a demo, but as the way the work gets done. That means LLM agents wired into real pipelines (a scraper that repairs itself instead of paging someone), evaluation harnesses so a model or prompt change is an experiment with a number attached, and AI-assisted development spread across repositories and delivery processes.

The other half of the job is less visible and matters just as much: I pushed DDD, hexagonal architecture and TDD through the codebase, standardised linting and formatting, and fixed how we handle database connection pools. Clear layer boundaries, business rules in exactly one testable place, and failures that are loud and cheap rather than silent and expensive.

Let's talk

Questions about anything here, or a problem you think I would find interesting? Email is the fastest way to reach me.