Power BI as code
Dimensional modelling, advanced DAX and semantic models versioned in PBIP/TMDL/PBIR, with my own validators. I merged five near-identical reports into one configuration-driven model with dynamic RLS and incremental refresh.
Analytics & Data Engineer · Becall Group
I integrate dialers, client CRMs and ad platforms, build the data layer, model Power BI as code and run B2B integrations in production for clients such as Repsol, Eni Plenitude, ASISA and Club Internacional del Libro.
In production for clients such as
What I do
Three layers that are usually kept apart. I design the data, build the system and own what I put into production.
Dimensional modelling, advanced DAX and semantic models versioned in PBIP/TMDL/PBIR, with my own validators. I merged five near-identical reports into one configuration-driven model with dynamic RLS and incremental refresh.
Incremental, idempotent ETL: watermarks with overlap, upserts on a business key, the outbox pattern, backfills and reconciliation. A single source of truth for sales across some 11 clients, refreshed every hour.
I connect operations to each client's systems through REST APIs, web services, webhooks and SFTP, with more than 15 platforms integrated. All of them idempotent, with retries, alerts and zero duplicates.
When a client offers no API, I automate their portal: SSO, OTP read from the mailbox, MFA with number matching and anti-bot protection. Five daily manual processes turned into scheduled jobs.
Evidence-based diagnosis: slow log, EXPLAIN and, when needed, the engine's source code. Views cut from 8–15 s to under 1.5 s and 1.38 million pointless statements a day removed.
I work in the BPO sector on the dialer (OCM) and the CCaaS (Nextiva): migrating reports between platforms, rotating outbound numbers automatically, enforcing do-not-call lists and launching campaigns.
ETL for Meta Ads and Google Ads, matching leads to real sales and sending conversions back to Meta, so campaigns optimise for customers rather than leads.
How a project flows
Five stages, one person responsible for making them fit. Select each one to see what I do and with what.
I get the data from wherever it lives: the dialer, an ads API, a telephony provider or a client's web CRM behind two-factor authentication.
I turn loose tables and scattered business rules into a model that can be understood and audited.
Data goes in once and can be reloaded without fear. If a process runs twice, the result is the same.
Power BI treated as code: reports are generated, validated and versioned like any other software.
Information reaches whoever needs it on its own: the client's web service, their SFTP, their API or the inbox of the person deciding.
Results · Becall Group 2025–2026
Three of the twelve documented projects. The rest, with client and figures, are under Experience.
Internal client · Dialling platform
>90 s → 10 sThe dialer's critical view
Internal client · Management and operations
5+ → 1Reports merged into one model
Club Internacional del Libro · Publishing
511 tests43 of 43 records accepted at go-live
How I work
What I put into production, I maintain. So every change can be tested beforehand and undone afterwards.
Dry-run by default, a backup before every change, a single transaction and a rehearsed rollback.
Idempotency, retries with backoff, alerts with anti-spam and a record of every run.
Around 900 tests, simulators of external APIs with fault injection and independent reviewers.
A changelog with root causes, runbooks, 17 ADRs and plain-language versions for the business.
AI applied to engineering
I work with Claude Code every day, but on my own terms: I decide the architecture, the AI proposes and an independent reviewer checks. I use it as a multiplier, always with guardrails.
A CLAUDE.md with non-negotiable rules and lessons learned, my own slash commands, hooks and reviewer subagents.
An orchestrator with four specialists (M, model, report and DAX) and automatic validation after every edit. In daily use.
The Power BI MCP to work on the semantic model and the Playwright MCP for visual testing.
A complete B2B dashboard in 4 days and a 15-page attribution report in two weeks, with tests and documentation.
Quick facts · For recruiters
From BI Developer to Analytics & Data Engineer in under two years, with a business background (Business Administration + a Master's in BI).
Consulting
I also help companies find what can be automated and get it running, from a one-off assessment to the complete project.
Repetitive tasks, portals, reports and paperwork that depend on one person today.
Sorting out where the data lives, why two reports disagree and why the database is slow.
Dashboards that get used and AI assistants built into the team's daily work.
Next step
Tell me the problem in two lines. I'll tell you honestly whether it can be automated, how, and what it would take.