Skip to content

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.

Author · Cypress on Dev.toMadrid, Spain

Book 15-min CallView frameworks
Portrait of Marcelo Costa

This site's last CI run

LIVE CI
  1. $ yarn test
  2. Reading last run
Open the dashboard
  • ~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.

  1. 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
  2. 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
  3. 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.

83 tools

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

5 roles
  1. Board International

    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

  2. Facephi

    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

  3. Nespresso IoT (Hired through Keapps)

    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

  4. Apple (Hired through Cognizant)

    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

  5. Electronic Arts

    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