← Back to Portfolio
Available for Freelance

Stop catching bugs
after they ship.

Bugs in production aren't bad luck — they're a process gap. I build automation frameworks that catch regressions before a human looks at them, using AI-accelerated test generation (Claude + Playwright) to go from requirements to runnable specs in hours, not sprint days. Real frameworks. Real deliverables. Same standard I hold at production-grade jobs.

more test cases per sprint using Claude AI-assisted authoring
~2h
to author a full test suite — previously 3 sprint days manually
89%
CI/CD pass rate — regressions caught before they hit staging

Services & Capabilities

📋

Manual QA & Test Strategy

End-to-end manual testing with professional-grade documentation. I follow IEEE 829 standards for test planning and produce deliverables that clients can hand to any QA engineer or auditor.

  • Test Plan (IEEE 829 standard)
  • Test Case Specification (XLSX)
  • Requirements Traceability Matrix
  • Bug Report with severity & priority
  • Test Execution Summary Report
  • Release Notes & sign-off docs
🤖

AI-Powered Automation Framework

Full E2E framework from scratch — not scripts, real architecture. I integrate Claude AI directly into the test workflow: describe a feature in plain language, get a runnable Playwright spec. Teams ship tests as fast as they ship features.

  • Playwright (TypeScript) or Selenium (Java/C#)
  • Claude AI test generation via MCP integration
  • Page Object Model + service abstraction layer
  • GitHub Actions / Jenkins CI/CD pipeline
  • Allure HTML reporting + trace diagnosis
  • BDD with Cucumber (optional)
  • Full README + maintenance guide
📱

Mobile QA (iOS & Android)

Native mobile automation using XCUITest (Swift) for iOS and Appium (Java) for Android. Real-device and simulator testing with gesture handling, accessibility checks, and CI integration.

  • iOS: XCUITest + Swift framework
  • Android: Appium + Java + POM
  • BrowserStack cross-device runs
  • Accessibility (WCAG/A11y) audit
  • CI pipeline (GitHub Actions / Bitrise)
  • Allure mobile test reporting
🔍

QA Audit & Consulting

Point-in-time review of your existing test suite, CI pipeline, or QA process. I identify gaps, flaky tests, coverage blind spots, and deliver an actionable improvement plan.

  • Existing framework architecture review
  • Flaky test root cause analysis
  • CI/CD pipeline reliability audit
  • Test coverage gap analysis
  • Prioritised improvement roadmap
  • API & performance testing review

Trusted by engineers & teams

"Strong fundamentals, zero hand-holding required. Zeeshan understood the testing requirements quickly, flagged gaps we hadn't considered, and delivered a well-documented test suite on time."
MK
Maryam Khalid
Lead Automation Engineer
"Strong fundamentals, zero hand-holding required. Zeeshan understood the testing requirements quickly, flagged gaps we hadn't considered, and delivered a well-documented test suite on time."
AD
Abbas Dosa
Senior QA Engineer

More recommendations on LinkedIn →

How an engagement works

No surprises, no scope creep. Every engagement follows the same three steps — from first message to final handover.

STEP 01

Discovery Call

15–20 minutes. You describe the project, tech stack, and pain points. I ask the right questions to understand what actually needs testing. Free, no obligation.

STEP 02

Scoped Proposal

Within 24 hours I send a written proposal: clear deliverables, timeline, and a fixed price. No hourly ambiguity. You know exactly what you're getting before any work begins.

STEP 03

Build & Handover

I build, you review. Deliverables are handed over with full documentation and a README your team can own independently. No lock-in — everything runs without me.

💰
Project-based pricing. Fixed scope. No surprises.
Every engagement is quoted as a fixed-price project — not hourly. You get a clear budget upfront. Typical engagements range from a single-sprint audit to a full framework build.
Get a Quote →

Real Deliverables, Real Standards

All samples produced for a fictional client project — ShopEase Inc. v2.3.0 (e-commerce web + mobile). Same structure, same rigour applied to every real engagement.

📋
Test Plan

Full IEEE 829 test plan covering scope, objectives, entry/exit criteria, risk register, schedule, and sign-off process.

ShopEase v2.3.0 · Sprint 14–16 · PDF
📊
Test Case Specification

25 detailed test cases across registration, checkout, payment, and mobile flows — with steps, expected results, and priority.

ShopEase v2.3.0 · 25 TCs · XLSX-style
🐛
Bug Report

14 logged defects with ID, severity, priority, steps to reproduce, expected vs actual, environment, and status tracking.

ShopEase v2.3.0 · 14 bugs · XLSX-style
🔗
Traceability Matrix (RTM)

Requirements mapped to test cases — shows coverage, gaps, and which requirements are verified. Full bi-directional matrix.

ShopEase v2.3.0 · 18 requirements · XLSX-style
📈
Test Execution Report

Sprint sign-off report with pass/fail/blocked metrics, coverage summary, environment matrix, and outstanding risk items.

ShopEase v2.3.0 · Sprint 16 · PDF-style
🚀
Release Notes

Production release notes for v2.3.0 — new features, bug fixes, known issues, test sign-off, and deployment checklist.

ShopEase v2.3.0 · Release · PDF-style

Industry-Level Architecture

Every automation engagement delivers a full, maintainable framework — not a pile of scripts. Here's the exact architecture pattern applied to Playwright E2E projects.

📁 playwright-e2e-framework/
├── package.json
├── tsconfig.json
├── playwright.config.ts
├── .github/workflows/e2e.yml # CI pipeline
└── src/
├── global-setup.ts
├── test.ts # base test extensions
├── contracts/ # TypeScript interfaces
├── App.ts
├── User.ts
├── E2EContract.ts
└── Common.ts
├── driver/ # browser abstraction
└── driver.ts
├── environments/
├── staging.json
└── common-config.json
├── helpers/
├── api-endpoints.constants.ts
├── constants.ts
├── helper.ts
├── logger.ts
└── random-data.helper.ts
├── pageObjects/ # POM layer
├── LoginPage.ts
├── CheckoutPage.ts
└── index.ts
├── services/ # business logic
├── auth.service.ts
├── user.service.ts
├── context.service.ts
└── index.ts
└── specs/ # test suites
├── auth/auth.spec.ts
├── checkout/checkout.spec.ts
├── product/product-search.spec.ts
└── api/payment-api.spec.ts
Contracts Layer (TypeScript Interfaces)
Strict type contracts for all test data, API responses, and app entities. Tests never work with raw objects — every shape is enforced at compile time, catching mismatches before CI runs.
Service Layer (Business Logic Separation)
Complex operations (user creation, auth token management, tenant setup) live in service classes — not in test specs. Specs read like plain English. Services handle the mechanics. Zero duplication.
Driver Abstraction
A wrapper over Playwright's page API provides consistent interaction methods (click, fill, wait, assert). Centralising interactions here means one fix propagates everywhere when selectors or behaviour change.
Environment Config Management
Per-environment JSON files + a common config layer. CI pipelines pick the right environment via env vars — no hardcoded URLs or credentials, no manual switch before each run.
CI/CD Integration (GitHub Actions)
Pipeline runs on PR and merge to main. Parallel sharding, Allure report upload to GitHub Pages, Slack notifications on failure, and artifact retention for debugging flaky runs.

Questions before you reach out

What automation frameworks do you work with?

+

My primary stack is Playwright with TypeScript for web E2E automation, XCUITest with Swift for iOS, and Appium with Java for Android. I also work with Selenium WebDriver (Java, C#, Python), Cypress, Cucumber BDD, and integrate everything into GitHub Actions or Jenkins CI/CD pipelines. If your team uses a different stack, get in touch — I'll let you know if it's a fit.

How long does it take to build a Playwright E2E framework from scratch?

+

A full Playwright E2E framework — Page Object Model, CI/CD pipeline, Allure reporting, and a working test suite covering your core flows — typically takes 1–2 weeks depending on application complexity. Using Claude AI-assisted test generation, I can author test cases 3× faster than manual writing, which means you get more coverage in the same time. The scoped proposal after our discovery call will include a specific timeline.

Are you available for short-term or one-off projects?

+

Yes. Engagements can range from a single-sprint QA audit (a few days) to a full framework build over several weeks. There's no minimum commitment. If you need a one-time deliverable — a test plan, a bug report, an API automation setup — that's a valid engagement. Describe what you need and I'll scope it accordingly.

Do you work with teams outside Pakistan?

+

Yes — all engagements are fully remote. I work with clients across the US, UK, EU, and other regions. Communication happens over email, Slack, or video call depending on your preference. I'm flexible on meeting times and typically overlap with UK mornings and US East Coast afternoons.

What's the difference between Manual QA and the Automation Framework service?

+

Manual QA & Test Strategy produces documentation: test plans, test cases, bug reports, RTM, and sign-off reports following IEEE 829 standards — everything your team needs to run structured testing without automation. AI-Powered Automation Framework is code: a full E2E test suite your CI pipeline runs automatically on every commit. Many clients start with Manual QA to establish coverage, then layer automation on top. Both can be scoped independently.

How do you handle NDA and code confidentiality?

+

Happy to sign an NDA before any project discussion if required. All code, credentials, and test data I work with are treated as confidential by default — nothing is shared, published, or retained after handover. Deliverables are transferred to your repository or storage of choice. If your legal team has a standard contractor NDA, send it over.

Let's ship quality together.

Project inquiry, framework review, or just want to talk QA — my inbox is open. Response within 24 hours.