Board Internationalopen_in_new
Lead QA Automation Engineer
May 2025 – Present | Madrid, Spain
- Lead quality for an enterprise BI & planning platform — .NET REST API, Angular front end with a canvas-rendered UI, and an in-memory OLAP engine over SQL sources — covered by nearly 6,000 Cypress + TypeScript E2E tests running daily in Azure DevOps.
- Modernized the entire E2E architecture and stack with Cypress best practices, as a Cypress Ambassador: removed 2,000+ circular dependencies and refactored Webpack bundling so Cypress starts instantly (down from 60s).
- Rolled out a custom, AI-powered reporter tailored to the team's and CI's needs, with Step Decorators that pinpoint CI failures in seconds.
~6,000Cypress + TypeScript E2E tests running every day across active branches
Facephiopen_in_new
Senior QA Engineer
Feb 2024 – Apr 2025 | Madrid, Spain
- Architected greenfield E2E test suites with Cypress, Playwright, and TypeScript for identity verification and biometric onboarding SaaS.
- Cut regression runs from 25 to 8 minutes, and automated camera/OCR document verification in CI to replace an hour of manual testing with a 1-minute run.
- Integrated Mailosaur APIs to reliably intercept and validate one-time passwords (OTP) and magic links in automated CI pipelines.
25 min to 8 minFull regression suite, after API pre-seeding
Nespresso IoT (Hired through Keapps)open_in_new
QA Manager
Feb 2023 – Feb 2024 | Madrid, Spain
- Managed a team of 8 QA testers across manual testing and automated test execution.
- Defined defect triage criteria, testing KPIs, and expanded living documentation across mobile and firmware teams.
- Led hardware-in-the-loop testing for the Nespresso iOS and Android apps connected to physical Vertuo smart machines over BLE and Wi-Fi.
30%fewer customer issues after hardware-in-the-loop stress testing
Apple (Hired through Cognizant)open_in_new
Siri Automation Tester · Locale Lead · Manual Tester
Oct 2020 – Feb 2023 | Madrid, Spain
- Maintained and monitored the Unified Siri Test (UST) framework in Swift and XCTest, debugging automated pipeline failures across iOS and macOS.
- Brazilian Portuguese Locale Lead: mentored 3 testers in ML voice evaluation and vetted bug reports before engineering escalation.
- Conducted in-depth testing across the Apple ecosystem to improve conversational AI pass rates for speech recognition, dialog flow, and text-to-speech.
4 OSApple OS platforms covered by Unified Siri XCTest automation & locale QA
Electronic Artsopen_in_new
Localization QA Tester
May 2017 – Sep 2020 | Madrid, Spain
- Tested Brazilian Portuguese localization across flagship console and mobile titles, including FIFA, Battlefield, and Star Wars.
- Validated on-screen copy, audio cues, and legal text directly on target consoles to prevent release-blocking certification bugs.
- Logged and verified 200+ defects across console and mobile releases, collaborating directly with international development teams.
200+defects logged and verified on console and mobile releases
I'm Marcelo,QA Lead & Developer
Lead QA Automation Engineer & SDET @ Board International
I run nearly 6,000 E2E tests a day on a canvas-rendered BI app, where there's barely any DOM to work with. I make them less flaky, faster, and easier to debug, and I use AI only where it actually helps.

- ~6,000E2E tests a day
- 83tools in production
- 7articles published
- 3apps shipped
Built off the clock
Three personal apps, designed, shipped and tested end to end.
LoopBeat
Your music. Everywhere.
A passwordless, invite-gated personal music tool. Paste a YouTube URL, a search, or a Spotify / Apple Music playlist link — LoopBeat downloads the audio, transcodes it to MP3 or AAC, stores it in object storage, and hands you a short-lived signed download link.
- Astro + React 19
- FastAPI · Python 3.11
- Postgres + Cloudflare R2
QA Forge
Point at your code. Ship better tests.
An AI-powered QA studio that runs entirely in the browser. Point it at a URL, repo, or folder and QA Forge drafts scoped test plans, finds coverage gaps, writes runnable Playwright or Cypress specs, converts suites between frameworks, and spots and fixes buggy test code — using your own AI key, with nothing stored on any server.
- 6 AI-powered QA tools
- Playwright & Cypress output
- BYO key — Claude · GPT · Gemini · Ollama
- 100% in-browser — no backend
HELLGATE
Classic DOOM, running in your browser.
A browser-based DOOM engine launcher and retro gaming showcase. Built on Chocolate Doom compiled to WebAssembly, HELLGATE runs entirely in the tab with zero backend or file uploads. Bundles DOOM, The Ultimate DOOM, DOOM II, Final DOOM (TNT & Plutonia), and Freedoom Phase 1 & 2, while supporting curated megawads (SIGIL I & II by John Romero, BTSX 1 & 2) and dark fantasy classics (Heretic & Hexen). Features an interactive PWAD/DEH Mod Loader, WebAudio MIDI OST Player, IndexedDB save file (.dsg) import/export manager, retro CRT scanline filters, and multi-device input with gamepad deadzone calibration.
- Real Chocolate Doom engine — WASM
- DOOM · Ultimate DOOM · DOOM II bundled (+ Final DOOM & Megawads)
- PWAD/DEH Mod Loader & WebAudio MIDI OST
- Keyboard · gamepad (deadzone) · touch (haptics)
- IndexedDB saves & .dsg save manager
Stack in production
The toolchain I run every day: what I test with, how I ship it, and what I build.
E2E & unit test automation
~6,000 Cypress + TypeScript E2E tests reviewed, refactored and de-flaked in Azure DevOps; three greenfield frameworks built from scratch with Cypress and Playwright.
- Cypress
- Playwright
- Appium · XCUITest · Espresso
- Selenium
- WebdriverIO
- Jest
- Puppeteer
- Pytest
- JUnit 5
- TestNG
- Cucumber · Gherkin
- Page Object Model
API, contract & network
API-driven data seeding, network mocking and schema validation inside E2E runs, with real backend data created, validated and cleaned up after each run.
- REST API
- GraphQL
- Postman · Bruno
- Charles Proxy
- Cypress intercepts & stubs
- Network mocking
- Schema validation
- Supertest
- SQL · Postgres
- Mailosaur · OTP · magic links
Performance & load testing
k6 on the REST API layer; LoadRunner Cloud (TruClient/VuGen) for real-browser user journeys.
- k6
- LoadRunner Cloud
- TruClient
- VuGen
Mobile & IoT testing
Weekly iOS/Android releases tested against physical Nespresso Vertuo machines over BLE and Wi-Fi; Siri automation in Swift and Xcode.
- iOS devices & simulators
- Android devices & emulators
- Nespresso Vertuo machines · BLE · Wi-Fi
- Xcode
- Android Studio
- MS App Center
- Firebase
- UAT · MAT on physical hardware
CI/CD & DevOps
YAML pipelines running 4-5 browsers in parallel with static report pages auto-deployed; Dev to Prod promotion with Git tags and ArgoCD.
- Azure DevOps Pipelines
- GitHub Actions
- GitHub
- Bitbucket
- Git · tag-based promotion
- Docker
- ArgoCD
- AWS
- YAML pipelines · 4-5 browsers in parallel
- Nightly builds
Reporting & test management
Allure, Mochawesome and Mocha-JUnit with video, screenshots and traces; Step Decorators that cut debugging from 3-4 hours to seconds.
- Allure
- Mochawesome
- Mocha-JUnit
- Playwright HTML · traces
- Step Decorators · AI-powered reporter
- Video · screenshots on failure
- Jira
- Xray
- Confluence
- Test case repositories · KPIs
GenAI & agents
AI-assisted, multi-agent workflows for E2E bug fixing, and an AI-powered reporter that points at the failing step in CI.
- Claude · Claude Code
- Codex · ChatGPT
- Gemini
- Ollama
- DeepSeek
- Multi-agent workflows
Languages
Typed, maintainable test and tooling code across stacks.
- TypeScript
- JavaScript
- Python
- Swift
- Ruby
- Java
- Gherkin
- Bash · Zsh
- YAML
- C (Doom engine)
Web, backend & hosting
What I ship end to end: React and Next.js features in production SaaS, FastAPI + Postgres services, edge deploys on Cloudflare, Vercel and Render.
- React
- Next.js
- Node.js
- Astro
- Vite
- Tailwind
- FastAPI
- PostgreSQL
- Hasura
- Cloudflare · R2 · Wrangler
- Vercel
- Render
- Jira · Atlassian
Recent Experience
Last 5 roles — SDET & QA Manager


