
Side project · Depronto (2026)
From idea to live product
Depronto: things to do in Tenerife, and people to go with
I wanted an easy way to find plans in Tenerife without having to go alone, so I built it. deprontoclub.com brings together plans from across the island. Members can mark “I'm going”, see an anonymous summary of who else is going and chat before the plan.
Visit Depronto (opens in a new tab)
View full case: Depronto caseShow less
What I owned
- Product: who it is for, the rules of the community and every screen, from sign-up to the plan page.
- Data: a research sheet of sources and events that feeds the site's catalogue, with internal notes kept out of public titles.
- Recommendations: suggestions based on each person's tastes and on the affinity of the group that is going, with no penalty for unanswered questions.
- Growth and measurement: GA4 with consent mode, UTM tags on every outbound link so organisers can see the traffic, Search Console, Bing Webmaster Tools, structured event data and a sitemap.
- Trust and safety: adults only, GDPR and Digital Services Act processes, reporting and moderation tools, and owner alerts that carry counts only, never personal data.
How I built it
I built it with AI coding assistants (Claude and ChatGPT). I made the product decisions, reviewed each change and tested the flows end to end before every release.
Selected work
Problems I know how to solve
I fix, build, systemise and lead. Each case opens with the result; the details are one click away.
01Turnaround · The Red Club · Meta and native · 60 countries
−62% to +17% monthly ROI
Turning a loss-making account profitable
Senior Media Buyer and team lead, managing 3 direct reports and 1 indirect report. Meta was the main channel, with Taboola and Outbrain alongside.
View full case: Turnaround caseShow less
The problem
A search-arbitrage (RSoC) programme: we bought traffic on Meta and native platforms and earned revenue from search ads on partner pages. It started at about €90 a day and was losing money: in April, ROI was −62% and only 7% of days were profitable. The goal was to grow spend without giving the margin away.
What I did
- Structured the account by vertical and country, with a naming standard (country, keyword, platform, device, campaign type, channel) so anyone on the team could read performance quickly and act on it.
- Tested at volume: 4,046 campaigns, about 3,700 of them tests. Around 13% of the campaigns that spent became profitable, so budget moved to those and the rest were cut early.
- Scaled winners by adding new creatives to winning keywords, extending to other devices and countries, and testing related angles with broad targeting. I stopped scaling when new angles came back at breakeven.
- Tested Max Value against Target ROAS bidding in Meta after noticing a partner using it. On the right niche it improved profit by about 25%.
- Convinced a partner to give us a test domain. The same campaigns went from barely breakeven to 120% ROAS.
- Pushed back on a request for 100 new campaigns a day. With most new campaigns failing at that stage, that volume would have burned budget, so I proposed building a profitable base first and scaling as the success rate improved.
Results
Daily spend: €90 to €2,300+ The Red Club, average per day by month, 2026Hover or tap for details
Monthly figures are average spend per day. "Late Aug" is the average of the last week of August.Monthly ROI: −62% to +17% The Red Club, account level, Apr to Aug 2026Hover or tap for details
A 7-day period in August
What I learned
the same loop of testing fast, reading the data honestly, scaling winners and cutting losers works for any paid acquisition goal, whether that is sales, leads or sign-ups.
Scale came from a controlled process, not from raising budgets. Most tests fail, so the system has to find the few winners fast and cut the rest before they cost too much. The market with the most spend, the US, was losing money; the most profitable markets were smaller ones that were easy to overlook.
Protecting spend when tracking breaks
Found a partner tracking bug that affected all of their clients, before the partner did.
In arbitrage, revenue is reported by the monetisation partner. If their tracking breaks, you are spending blind.
How I spotted it
I compared Meta conversions against the partner's reported conversions and noticed a small drop in revenue that did not match what the ad platform showed. I escalated it twice. The partner investigated and found a bug that was affecting all of their clients.
Handling a reporting outage
- When the partner's revenue reporting stopped while campaigns kept spending, I cut budgets on the weakest campaigns first.
- Paused campaigns close to breakeven after two days without reliable data.
- Prepared campaigns in advance so we could relaunch quickly, then recovered spend in phases once the data was trustworthy again.
- Used a minimum conversion threshold per channel and country before trusting a signal, so decisions were not made on noise.
What I learned
Tracking QA is part of media buying, not someone else's job. Checking pixels, conversion events, postbacks and attribution against a second source is what protects the budget.
02Build and scale · Alegro AI · Google Display, Meta, TikTok, native
€0 to €220K+
Building paid acquisition from scratch to €220K+ peak monthly ad spend managed
Senior Media Buyer and team lead. Mentored up to 3 media buyers and was the team's main point of contact for about 6 months. Google Display was the main channel, alongside Meta, TikTok, Taboola and Outbrain, with short periods on Google Search and Performance Max.
View full case: Build and scale caseShow less
The problem
New paid acquisition accounts starting from €0. The goal was to find profitable keywords and angles quickly, then scale them.
What I did
- Started with market research: checked what competitors were running in the Google Ads Transparency Center, looking for patterns in their ads and angles.
- When a pattern appeared, searched Google and analysed competitors' landing pages to find the keywords they were targeting.
- Expanded keyword ideas with Google search suggestions and Keyword Planner.
- Used partner data from Visymo on which keywords were getting the most traffic, with revenue per click (RPC), revenue and reported conversions, to decide what to launch first.
- Launched paid acquisition accounts from €0, tested them to profitability, and handed stable channels over to new specialists.
- Ran performance reviews, training and issue resolution for the team, and set KPIs and optimisation processes.
- Created an issue-report template for the IT team (error, description, how to reproduce, suspected cause, priority) so problems were fixed faster.
Results
My share of team profit: up to 81% a month Alegro AI, Nov 2024 to Mar 2025Hover or tap for details
The largest share of team profit every month in this period.
12-month figures cover November 2024 to November 2025, excluding one month with a reporting adjustment.
What I learned
I start with research, not guesses. Competitor ads, search demand and partner revenue data decide what gets tested first.
03Fix · Tracking and data QA · Alegro AI · 2024 to 2025
Under 15 minutes
To get a two-week reporting outage fixed after I escalated it, then reconcile spend and revenue across every platform
Senior Media Buyer and team lead, while the team had no manager (Dec 2024 to Mar 2025).
View full case: Tracking and data QA caseShow less
The problem
Facebook spend was not reaching internal reporting, and Google pay-per-conversion tracking was lost on two accounts. With no manager in place, the issue had been stuck for about two weeks. Soon after, the internal platform stopped matching Facebook, Outbrain, Taboola and the revenue dashboard.
What I did
- Audited every account and found €3,478.51 of Facebook spend missing over 7 days.
- Escalated directly to the head of IT. After two weeks stuck, it was resolved in under 15 minutes.
- Found the root cause of a location bug: the buying platform read "MV" in campaign names as the Maldives, because it takes the location from the name. I renamed the templates to "MaxVal" and asked buyers to rename live campaigns.
- Flagged that Advantage+ shopping campaigns were not supported by the platform.
- Reconciled spend and revenue account by account: gaps of 73%, about 35% and 25% on three accounts, Outbrain and Taboola not syncing (€379 in the platform against €668 in the dashboard), removed channels still earning revenue, and revenue duplicated between campaigns sharing a channel.
- Found a buyer duplicating campaigns from Facebook instead of the platform, and re-attributed a departed buyer's revenue for January.
Results
After the fixes, the Facebook spend gap was about 2% (revenue 0.02%) and the Google Display spend gap 0.64% (revenue 0.11%).
What I learned
If the numbers do not match, nothing built on them can be trusted. I check reporting against a second source and fix the cause, not just the number.
04Systems · The Red Club
70% to 20%
Of my day spent on campaign creation, after automating campaign production
Testing at volume only works if launching campaigns is fast and consistent.
View full case: Automating campaign production caseShow less
What I did
- Built a campaign-creation workflow with ChatGPT and Claude on my own, without the tech team.
- Built a Chrome extension for the campaign platform. I pasted a list of country and keyword lines, and it detected each keyword's language (15 languages, including mixed-language keywords), then set the location, locale and matching ad template for every campaign.
- The extension reported which lines were updated, unchanged, failed or not found, so each batch could be checked before launch. I kept improving it over several versions.
- Built a Chrome extension for creative uploads. It read each asset's file name, found the exact matching keyword in the platform and filled in the keyword field for up to 30 files at a time. Files without an exact match were listed for me to check, so no creative went live under the wrong keyword.
- Built a larger extension to run the full campaign creation flow. It uploaded the creatives, matched each one to its country and keyword, applied ad categories and created the campaigns in batches of up to 60. Before submitting, it checked the budget, Facebook page capacity and matching ad template on every campaign, and stopped before creating anything if a template was missing or a keyword did not match. I used it for real launches, refined it over 36 versions and tested each release on full 60-campaign test runs before using it live.
- Built a fourth Chrome extension to audit launches. It counted the campaigns completed in the last 24 hours, listed the keywords and countries launched with a count for each, and exported the list to CSV. When the first version undercounted because the page only showed part of the queue, I rebuilt it to scroll through the whole list and keep every row it had already seen. All the analysis ran in the browser, so no campaign data left the platform.
- Kept the naming standard and pre-launch checks in place, so speed did not cost accuracy.
- Managed creative output of around 150 to 300 ad variations a day, using AI tools and briefs for designers.
05Systems · A performance marketing company (2026)
Campaign setup in minutes, with every preparation step tracked
Faster campaign creation with AI and workflow automation
View full case: Campaign setup caseShow less
Problem
Campaign creation took about 70% of my working day, which left little time for optimisation and scaling.
What I did
I built a faster campaign creation process using ChatGPT and Claude.
I also set up Jira automation rules to track each campaign's preparation steps (keyword research, content, tracking links) and close tasks automatically when every step was done.
Result
Campaign creation dropped from about 70% to about 20% of my day, so I could spend more time on optimisation, analysis and scaling.
06Leadership · Pearch Digital, Alegro AI and The Red Club
Teams of up to 4
Building and developing media buying teams
View full case: Leadership caseShow less
Building a native team from scratch
As Team Lead at Pearch Digital (2022) I set up the native operation on Taboola and Outbrain with 3 direct reports who were new to native. I taught the basics (allowed images, verticals, how to launch) and left the creative style to them, then ran inspiration sessions. They were performing within a short time.
Coaching a loss-making buyer to profit
When I became team lead at Alegro AI in August 2024, my first goal was to make a Google Display buyer profitable. He had been losing money for a year. I set daily 9:30 check-ins with a written recap, clear targets (3 profitable campaigns from at least 10 clones), shared-screen optimisation and simple rules: optimise by 10am and no launches after 1pm. On day two, 12 of his 15 new campaigns were profitable. He was profitable within his first month with me and kept performing well while we worked closely together.
Keeping the team running without a manager
From December 2024 to March 2025 the team had no manager, or only limited management. I kept 4 buyers across Facebook, native and Google Display running: status reports to leadership, partner funding (a €20K Taboola top-up agreed with finance and the account manager), access for new people, offboarding, weekly plans, tech escalations and one-to-one support.
Weekly plans and delivery checks for native buyers
I built weekly creation plans by bid strategy, country, language and vertical for Taboola and Outbrain, then audited requested against delivered campaigns (about 80 were missing). I set a kill rule: any campaign with next-day ROI below −50% is removed.
Structure that helps a team move faster
Account structure by vertical and country, a shared naming standard, and a task-assignment structure for the IT team so requests were clear and prioritised.
How I work
My operating principles
- 01
Test wide, scale narrow.
Most tests fail, so I find the winners fast and move budget there.
- 02
Research before spend.
Competitor ads, search demand and partner data decide what gets tested first.
- 03
Protect the downside.
When tracking is unreliable or signals are weak, spend is controlled, not scaled blind.
- 04
Scale evidence, not optimism.
New countries, devices and creatives extend what already works.
- 05
Fix the system.
If execution is slow, I automate it. If reporting is unreliable, I check it against a second source.
- 06
Challenge targets with numbers.
I push back when a target is unrealistic, and I bring a recovery plan.
Channels and tools
- Paid acquisition
- Meta Ads · Google Ads (Display, Search, Performance Max) · TikTok Ads · Taboola · Outbrain · MGID
- Measurement
- Pixels, conversion events and postbacks · Looker Studio · Excel / Sheets
- Operations
- Monday.com · Notion · ChatGPT and Claude
- Acquisition models
- Search arbitrage / RSoC · Lead generation
About me
Chemistry, data, SaaS, travel, then paid acquisition

I studied Chemistry at the University of La Laguna and worked briefly as a chemist. From there, I worked as a data analyst in Gdynia, Poland, covering Latin American and European markets, sold B2B SaaS in Galway, and joined Expedia to work on the Spanish market. In 2020 I found my place in performance marketing, and I have focused on paid acquisition ever since.
I like working from data, building clear processes, and testing ideas quickly. I have lived and worked in Ireland and Poland.



Outside work, you'll find me hiking, growing plants, swimming at the pool, or out with my dog, Goofy.
Experience
Where I have done it
Senior Media Buyer and team lead, The Red Club
January 2026 to August 2026, remote
Search-arbitrage acquisition across 60 countries on Meta, Taboola and Outbrain. Managed 3 direct reports and 1 indirect report.
Senior Media Buyer and team lead, Alegro AI
May 2023 to November 2025
Launched paid acquisition from zero and reached €220K+ peak monthly ad spend managed, mainly on Google Display, with Meta, TikTok and native. Team lead from August 2024, mentoring up to 3 media buyers. Travelled to Amsterdam in June 2023 to meet Visymo, a monetisation partner.
Full career history, 2015 to 2023Hide earlier roles
Media Buyer, Explorads
October 2022 to April 2023
Built Google Ads and Display accounts from scratch, ran tests, and gave feedback on tracking. Joined the company's annual meeting in Dubai in February 2023.
Team Lead, Performance Marketing, Pearch Digital
May 2022 to October 2022
Set up the native operation on Taboola and Outbrain with 3 direct reports. Joined the company's quarterly meeting in Dublin in 2022.
Digital Media Buyer Specialist, adoclic advertising
July 2020 to April 2022, Tenerife
Native and display campaigns, search arbitrage and lead generation on Taboola, Outbrain and MGID.
Market Associate, Expedia Group
January 2018 to March 2020
Spanish market. Led email marketing and proof-of-concept projects, coordinating more than 25 contributors (project coordination, not line management). Helped organise team events in 2018 and 2019.
Sales Development Representative, promoted to Sales Executive, SiteMinder
January 2017 to November 2017, Galway, Ireland
Sold a B2B SaaS hotel commerce platform to small and medium-sized hotels in the Spanish market, from outbound prospecting and lead qualification to product demos, proposals and contract negotiation. Found upsell opportunities with existing customers, managed the pipeline in Salesforce and shared customer feedback with the product team.
Data Analyst, Refinitiv
May 2015 to January 2017, Gdynia
Market data for Latin America, Spain, Portugal and Romania.
Education and development
Degree in Chemistry, University of La Laguna.
2026: "Small Business on Social Media" course, La Laguna City Council, where I also connected with local content creators.