Integro dialers, CRMs de clientes y plataformas publicitarias, construyo la capa de datos, modelo Power BI como código y opero en producción las integraciones B2B con clientes como Repsol, Eni Plenitude, ASISA o Club Internacional del Libro.
Power BI como códigoSQLPythonETL incrementalIntegraciones B2BWebhooksOptimización de bases de datosAutomatización webContact center · BPOClaude CodePower BI como códigoSQLPythonETL incrementalIntegraciones B2BWebhooksOptimización de bases de datosAutomatización webContact center · BPOClaude Code
En producción para clientes como
Repsol
Eni Plenitude
ASISA
Club Internacional del Libro
EDP
Finetwork
ADT
Verisure
Vodafone
>90 s → 10 sla vista crítica del dialer, que antes daba timeout
106 s → 0,3 sciclo de una integración B2B optimizado
30 % → 90 %+fiabilidad de la automatización de un CRM con SSO y OTP
−54 %filas leídas al día en la base de datos del dialer
40+proyectos y subproyectos entregados
15+procesos automáticos en producción
~900tests automatizados escritos
1.800+medidas DAX mantenidas como código
Qué hago
Analítica, ingeniería y operación.
Tres planos que suelen estar separados. Diseño el dato, construyo el sistema y me hago cargo de lo que pongo en producción.
01
Power BI como código
Modelado dimensional, DAX avanzado y modelos semánticos versionados en PBIP/TMDL/PBIR, con validadores propios. Unifiqué cinco informes casi clonados en un modelo dirigido por configuración, con RLS dinámico y refresco incremental.
Power BIDAXPower Query MTMDL / PBIPRLSRefresco incremental
02
Ingeniería de datos
ETL incrementales e idempotentes: watermark con solape, upserts por clave de negocio, patrón outbox, backfills y reconciliación. Una fuente de verdad de ventas para unos 11 clientes que se actualiza cada hora.
Conecto la operación con los sistemas de cada cliente por API REST, WebService, webhooks y SFTP, con más de 15 plataformas integradas. Todas idempotentes, con reintentos, alertas y cero duplicados.
API RESTWebhooksSFTPPHP 8OutboxZapier
04
Automatización de CRMs web
Cuando el cliente no ofrece API, automatizo su portal: SSO, OTP leído del correo, MFA con number matching y protección anti-bot. Cinco procesos manuales diarios convertidos en jobs programados.
Diagnóstico basado en evidencia: slow log, EXPLAIN y, si hace falta, el código fuente del motor. Vistas de 8–15 s bajadas a menos de 1,5 s y 1,38 millones de sentencias inútiles al día eliminadas.
MariaDB 11MySQL 8Triggers y eventosSlow logEXPLAIN
06
Plataformas de contact center
Trabajo en el sector BPO sobre el dialer (OCM) y el CCaaS (Nextiva): migración de informes entre plataformas, rotación automática de números salientes, control de lista Robinson y DNC, y lanzamiento de campañas.
BPOOCMNextiva / ThrioDialerDDIDNC / Robinson
07
Marketing analytics y atribución
ETL de Meta Ads y Google Ads, cruce de leads con ventas reales y envío de conversiones a Meta, para que las campañas optimicen por cliente y no por lead.
Meta Conversions APIGoogle Ads APILead AdsCustomer MatchIdentity resolution
Cómo fluye un proyecto
De la fuente a la decisión.
Cinco etapas, una sola persona responsable de que encajen. Pulsa cada una para ver qué hago y con qué.
Extraer
Saco el dato de donde esté: el dialer, una API publicitaria, un proveedor de telefonía o el CRM web de un cliente tras doble autenticación.
Qué hago
Clientes de API con control de límites, backoff y jitter
Automatización de portales con SSO, OTP y MFA
Una página vacía se trata como error, no como «0 filas»
Con qué
PythonPlaywrightMeta y Google Ads APIOCMNextivaSFTP
Modelar
Convierto tablas sueltas y reglas de negocio dispersas en un modelo que se entiende y se puede auditar.
Qué hago
Esquemas en estrella y dimensiones conformadas
Reglas de negocio en tablas de configuración, no en el informe
Atribución e identity resolution entre leads, llamadas y ventas
Con qué
SQLDAXPower Query MTMDLpandas
Almacenar
El dato entra una sola vez y se puede volver a cargar sin miedo. Si un proceso se repite, el resultado es el mismo.
Qué hago
Cargas incrementales con watermark y solape
Upserts idempotentes por clave de negocio hasheada
Paridad verificada con checksum y recuento de filas
Con qué
MariaDBMySQLBigQuerySQLiteTriggers y eventos
Visualizar
Power BI tratado como código: los informes se generan, se validan y se versionan igual que el resto del software.
Qué hago
Informes generados por script (15 páginas y 345 visuals en dos semanas)
RLS dinámico para dar acceso a socios y agencias
Validadores de modelo, de M y de ciclos DAX
Con qué
Power BIPBIP / TMDL / PBIRPower BI EmbeddedMCP de Power BI
Entregar
La información llega sola a quien la necesita: al WebService del cliente, a su SFTP, a su API o al correo de quien decide.
Qué hago
Workers y webhooks con patrón outbox y reintentos
Alertas con anti-spam y resúmenes diarios de ejecución
Despliegues por fases con backup y vuelta atrás ensayada
Con qué
API RESTWebServiceWebhooksLinuxcron / systemdApache
Resultados · Becall Group 2025–2026
Lo que cambió después.
Tres de los doce proyectos documentados. El resto, con cliente y cifras, está en Experiencia.
Cliente interno · Plataforma de marcación
>90 s → 10 sVista crítica del dialer
De timeout a 10 segundos en una base de datos al 100 % de CPU
Antes
El servidor se saturaba en cada refresco y los formularios de los agentes se bloqueaban unos 50 s.
Ahora
Tres causas raíz corregidas, vistas clave por debajo de 1,5 s y paridad de datos verificada.
MariaDBSlow logEXPLAIN
Cliente interno · Dirección y operaciones
5+ → 1Informes unificados en un modelo
Un modelo Power BI que se configura desde una tabla
Antes
Cinco informes casi clonados; añadir un proyecto obligaba a tocar el modelo y republicar.
Ahora
Dar de alta un proyecto es añadir una fila. RLS dinámico para socios externos.
Power BITMDLRLS
Club Internacional del Libro · Editorial
511 tests43 de 43 registros aceptados al arrancar
Integración B2B completa: SFTP, API REST y Power BI
Antes
El cliente no conocía el resultado de cada lead; los datos vivían en dos sistemas.
Ahora
Ficheros diarios, API casi en tiempo real e informe compartido, todo alineado.
Lo que pongo en producción lo mantengo yo. Por eso todo cambio se puede probar antes y deshacer después.
01
Cambios seguros
Dry-run por defecto, backup antes de cada cambio, transacción única y vuelta atrás ensayada.
02
Fiable por diseño
Idempotencia, reintentos con backoff, alertas con anti-spam y registro de cada ejecución.
03
Probado
Unos 900 tests, simuladores de APIs externas con inyección de fallos y revisores independientes.
04
Documentado
CHANGELOG con causa raíz, runbooks, 17 ADR y versiones «explicado fácil» para negocio.
IA aplicada a la ingeniería
Claude es mi copiloto de desarrollo.
Trabajo a diario con Claude Code, pero con mis propias reglas: yo decido la arquitectura, la IA propone y un revisor independiente comprueba. La uso como multiplicador, siempre con guardarraíles.
01
Reglas por proyecto
Un CLAUDE.md con normas no negociables y lecciones aprendidas, slash-commands propios, hooks y subagentes revisores.
02
Framework propio para Power BI
Un orquestador con cuatro especialistas (M, modelo, informe y DAX) y validación automática tras cada edición. Adoptado en el trabajo diario.
03
MCP para operar y probar
MCP de Power BI para trabajar sobre el modelo semántico y de Playwright para pruebas visuales.
04
Rápido sin perder calidad
Un dashboard B2B completo en 4 días y un informe de atribución de 15 páginas en dos semanas, con tests y documentación.
Ficha rápida · Para reclutadores
Lo esencial en 20 segundos.
De BI Developer a Analytics & Data Engineer en menos de dos años, con formación de negocio (ADE + Máster en BI).
Ahora
Analytics & Data Engineer en Becall Group· Be Call Digital, desde ene 2025
Clientes de 5 sectores · energía, alarmas, telco, seguros y editorial
Antes: BI Analyst en Viscofan · São Paulo, beca ICEX Vives
Stack principal
Power BI · DAX · M · TMDL
SQL · MariaDB / MySQL · BigQuery
Python · Playwright · pytest
APIs · webhooks · PHP / Laravel · Linux
Contact center: OCM · Nextiva
Claude Code · MCP
Además
Español nativo · Inglés avanzado · Portugués avanzado
Certificación Microsoft PL-300
Máster en Inteligencia de Negocios · UNIR
Trato directo con clientes, partners y proveedores