Download PDF

Muhammad Hammad Faisal

Software Engineer — Automation, Backend & Web Scraping

QA Automation Engineer (SDET) — Playwright · WebdriverIO · Selenium · Appium

Professional Summary

Software Engineer with 3+ years building production automation systems, backend services, and large-scale web-scraping infrastructure in TypeScript, JavaScript, Python, and Node.js. Consolidated 23 service integrations under a unified architecture in two weeks, built a FastAPI microservice for PDF data extraction, and engineered Patchright-based anti-detection systems with CAPTCHA-bypass infrastructure running across thousands of accounts. Refactored a 100+ file test suite to 60 files and cut its runtime from 8 hours to 2 through parallelization and distributed infrastructure. Comfortable across the stack — React/Django apps, real-time features, CLI tooling — with strong CI/CD on GitHub Actions, GitLab CI, and Jenkins.

QA Automation Engineer / SDET with 3+ years building and scaling test automation frameworks for web, mobile, and data-intensive applications. Expert across Playwright, Cypress, WebdriverIO, Selenium, and Appium in TypeScript, JavaScript, and Python. Cut a 100+ file WebdriverIO suite to 60 files and its runtime from 8 hours to 2 with parallel execution and a distributed Selenium Grid; reduced regression time 40% on an earlier engagement. Designed framework abstraction layers that make tool migrations a single-file change and unified Android / iOS / web suites behind one factory-driven configuration. Strong on CI/CD (GitHub Actions, GitLab CI, Jenkins), Allure reporting, and Page Object Model.

Professional Experience

Software Engineer Jun 2024 – Present
Arbisoft Lahore, Pakistan

Core automation engineer across two client products — FixAlert (test automation) and Zuub (data pipelines).

  • Consolidated 23 separate payer integrations under a unified bot architecture to eliminate session conflicts — refactored and merged shared modules across all 23 within a 2-week deadline; received public recognition and compensatory leave from the Team Lead.
  • Proposed and architected a FastAPI microservice for PDF data extraction using the factory pattern — chosen over Node.js for Python's parsing ecosystem; adopted across multiple projects.
  • Built and maintain Zuub's TypeScript automation bots (Puppeteer, Playwright, Patchright) — full login flows, CAPTCHA handling (reCAPTCHA v2/v3, Amazon) via 2Captcha integration, and extraction/transformation of data into a fixed interface schema — unblocking multiple critical client sites.
  • Own the full credential lifecycle for every bot — validation, password update and reset — via a state-based rotation system managing thousands of accounts with zero bans or lockouts; verify extracted data is complete and correct rather than trusting run success, and fix bots fast when target sites change.
  • Refactored FixAlert's inherited 100+ file WebdriverIO suite to 60 files and cut full-suite runtime from 8 hours to 2 with parallel execution and a distributed Selenium Grid; wired CI/CD via GitHub Actions.
  • Resolved a sequential async-iteration constraint (no loops permitted) with the async library's mapSeries / eachSeries for deterministic multi-step flows.
  • Built an Outline-style VPN client in Python (ShadowSocks) to unblock geo-restricted targets that macOS networking could not reach; standardized TypeScript conventions and PR-review workflows across the team.
  • Refactored FixAlert's inherited 100+ file WebdriverIO suite to 60 files with a cleaner page-object architecture, removing large-scale duplication.
  • Implemented parallel execution and a distributed Selenium Grid that cut full-suite runtime from 8 hours to 2 hours with no loss of coverage; integrated CI/CD via GitHub Actions, gating merges on test results and removing skipped and trivially-passing tests.
  • Build and maintain TypeScript automation bots for Zuub (Puppeteer, Playwright, Patchright) — full login flows, CAPTCHA handling (reCAPTCHA v2/v3, Amazon), and extraction/transformation of data into a fixed interface schema; verify output is complete and correct, not just that the run succeeded.
  • Own the credential lifecycle for every bot — validation, password update and reset — via a state-based rotation system cycling thousands of accounts across active runs with zero lockouts.
  • Consolidated 23 automation integrations under one unified ID to eliminate session conflicts — merged shared modules within a 2-week deadline; publicly recognized by the Team Lead.
  • Established PR review and creation checklists and enforced TypeScript standards across the team (find over filter+[0], unknown over any); built a FastAPI service for automated PDF data extraction using the factory pattern.
Jr. Software Engineer — Test Automation May 2023 – Jun 2024
Arbisoft Lahore, Pakistan
  • Designed a framework abstraction layer so the codebase depended on one interface rather than a third-party tool — enabled a full framework migration by rewriting only the adapter; pattern reused across teams, including Appium → WebdriverIO transitions.
  • Built a cross-platform automation framework using the factory pattern to unify Android, iOS, and web configuration behind shared logic with platform-specific overrides.
  • Implemented a local Selenium Grid with Appium for parallel execution, cutting regression testing time by 40%.
  • Replaced fragile fixed-loop logic with a recursive traversal algorithm for a variable-depth, branching flow.
  • Collaborated with QA, dev, and product teams on automation strategy and test-coverage planning; helped onboard the Zuub project — established automation infrastructure from the ground up.
  • Built end-to-end automation frameworks in WebdriverIO for web and mobile (Android, iOS) platforms.
  • Designed a framework abstraction wrapper over Cypress so the suite depended on one interface, not the tool — migrated to Playwright by changing only the wrapper; pattern reused across Arbisoft projects, including Appium → WebdriverIO moves.
  • Implemented a local Selenium Grid with Appium for parallel execution, cutting regression testing time by 40%.
  • Built a cross-platform framework using the factory pattern to unify Android, iOS, and web configs; solved a dynamic recursive Q&A automation problem (variable depth and branching) with recursive traversal.
  • Mentored teammates on WebdriverIO, Selenium Grid, and parallel execution; ran internal knowledge-sharing sessions and helped onboard the Zuub project's automation infrastructure and quality gates.
Freelance Software Engineer Apr 2023 – Dec 2024
Upwork Remote
  • Built stealth scraping infrastructure with Patchright and custom anti-detection techniques for client data projects.
  • Delivered multi-framework test automation across Playwright, WebdriverIO, Cypress, and Selenium.
  • Set up CI/CD pipelines and designed test architecture from scratch.
  • Delivered multi-framework test automation across Playwright, WebdriverIO, Cypress, and Selenium for a range of client web apps.
  • Set up CI/CD pipelines and designed test architecture from scratch.
  • Built stealth scraping infrastructure with Patchright and anti-detection techniques.
Jr. Software Engineer Aug 2022 – May 2023
Ginkgo Retail Lahore, Pakistan
  • Built and maintained responsive web applications with React and Django across the full development lifecycle.
  • Developed a Learning Management System end-to-end — React front end, Django back end, and deployment.
  • Contributed to CI/CD pipelines and code-review processes.
  • Built and maintained responsive React / Django features across the SDLC in an agile team.
  • Developed a Learning Management System end-to-end during the internship phase.
  • Gained early QA grounding — manual testing, bug reporting, and verifying features against acceptance criteria.

Technical Skills

Languages: TypeScript, JavaScript, Python, Java, Go, HTML5, CSS3

Backend & APIs: FastAPI, Node.js, Django, Django Channels, REST APIs, WebSockets, PostgreSQL, Firestore

Automation & Scraping: Playwright, Patchright, Puppeteer, Selenium, WebdriverIO, Appium, anti-detection, CAPTCHA solving (reCAPTCHA v2/v3, Amazon), rotating proxies

CI/CD & Cloud: GitHub Actions, GitLab CI, Jenkins, Git, Docker, Vercel, Google Cloud (Cloud Functions, Cloud Run), Supabase

Patterns & Practices: Factory, Abstraction, State machines, Page Object Model, Agile / Scrum, code review

Tools: Jira, Postman, Supertest, Allure Reports, Mocha

Test Automation: Playwright, Cypress, WebdriverIO, Selenium, Selenium Grid, Appium, Puppeteer, Patchright, PyTest, Page Object Model

Languages: TypeScript, JavaScript, Python, Java

CI/CD & Reporting: GitHub Actions, GitLab CI, Jenkins, Git, Docker, Allure Reports, Mocha

Scraping & Anti-Detection: stealth browser config, fingerprint spoofing, CAPTCHA handling (reCAPTCHA v2/v3, Amazon), rotating residential proxies

API & Backend: REST APIs, Postman, Supertest, FastAPI, Node.js, Django

Patterns: Factory, Wrapper / Abstraction, Page Object Model, Recursive traversal

Key Projects

Stealth Scraper (Patchright)

Production-grade stealth scraping library with six anti-detection techniques — fingerprint spoofing, stealth headers, human-like delays, proxy rotation, canvas noise, WebGL masking. TypeScript, ESLint v9, GitHub Actions CI.

github.com/M-Hammad-Faisal/stealth-scraper-playwright

Code Mage — QA Automation Content Platform

Technical content platform for automation engineers; 28+ published tutorial chapters across Playwright, WebdriverIO, and Cypress. Built on Next.js 15, Supabase, Vercel, TypeScript, Tailwind v4.

code-mage.dev

ProxyPal

macOS desktop client for managing ShadowSocks connections, inspired by Outline — multi-server management and one-click switching. Python.

github.com/M-Hammad-Faisal/ProxyPal

JSON Compare Tool

JSON comparison tool with GitHub-style diff visualization, available as both a CLI and a web interface.

m-hammad-faisal.github.io/json-compare · github.com/M-Hammad-Faisal/json-compare

SwagLabs Automation Framework

Test automation framework for SauceDemo — 50 automated tests across login, cart, checkout, sorting, and performance; dual Selenium + Playwright engines, multi-browser (Chrome / Firefox / Edge), parallel execution via pytest-xdist, Page Object Model with a factory, Allure reporting, GitHub Actions CI.

github.com/M-Hammad-Faisal/Website-Tester

Framework Abstraction Wrapper (Cypress → Playwright)

Abstraction layer over Cypress enabling a full-suite migration to Playwright via a single-file swap. Adopted across multiple Arbisoft projects for framework transitions.

Cypress, Playwright, TypeScript, Design Patterns

WebdriverIO Open Source Contributions

7 merged PRs across webdriverio/webdriverio, wdio-wait-for, and example-recipes — a spec-reporter feature, the file-download Best Practices docs page, and several other fixes.

github.com/pulls?q=author:M-Hammad-Faisal+org:webdriverio

Code Mage — QA Automation Content Platform

Technical content platform for QA and automation engineers; 28+ tutorial chapters across Playwright, WebdriverIO, and Cypress. Next.js 15, Supabase, TypeScript.

code-mage.dev

Education

Bachelor of Engineering — Computer Engineering
University of Engineering and Technology, Lahore
Oct 2019 – May 2023  ·  GPA 3.60 / 4.0

Certifications

Additional