QA Automation Engineer / SDET · Delhi, India · 2.5y · open to AI-first roles · relocation-ready (Pan India)

I build deterministic test systems for AI-era products.

Telecom-grade reliability with agent-shaped tooling. Currently keeping a T-Mobile US MVNE (Smartless Mobile) green for Lotusflare. Previously led a 6-engineer mobile-automation pod for L&T Technology Services.

anmol@portfolio: ~
zsh · 80×24
$ whoami
name: Anmol
role: QA Automation Engineer / SDET
stack: Playwright · Appium · MCP · Codex · Gemini 3
at: Lotusflare · ex L&T
based: Delhi, India
$ open console & type help()
$
// role
QA Automation Engineer / SDET · 2.5y
AI-QA-Engineer · deterministic pipelines
// leadership
Led 6 · 2 MVNEs
iOS · Android · web
// outcomes
3× release · 67% toil ↓
7 outages survived green
// status
Open to AI-first roles
Delhi, India · remote-ok · open to relocation (Pan India)

The numbers, in one row.

What changed for the teams I shipped with. Numbers a PM, lead, or CTO can use.

2.5y rolling · L&T → Lotusflare
faster
weekly regression · 3d → 1d
500+
test cases automated
6
QA engineers led · iOS/Android/web
2
T-Mobile US MVNEs shipped
// shipped for
T-Mobile US · Smartless Mobile · Roccstar Wireless · Lotusflare · L&T Technology Services
"Zero color flips in 8 weeks while migrating QA to MCP-native agents."

Selected case studies.

Tools, frameworks, and AI agents I built (or rebuilt) to remove manual toil from QA.

open source playwright 23 sub-skills
/qa-agent-skill
QA Agent Skill
Production-grade Playwright QA agent stack for strict POM architecture, durable locators, no-static-wait synchronization, production guards, security-aware artifacts, audit scripts, and AI coding workflows.
read case study
Editorial cover for the Playwright QA agent skill stack
tool · shipped visual regression playwright
/visual-diff
Visual Diff Analyzer
Pixel-level diff with semantic grouping, layered over Playwright screenshots. Built to catch the silent CSS regressions a CMS-driven site ships every other release.
read case study
visual-diff · run-204
1 flagged
baseline · v0.42.1
candidate · v0.42.2
agent · shipped gemini 3 JAM MCP
Multimodal Ticket Triage
/multimodal-triage
Gemini 3 pipeline: epic → linked tickets → video attachment → step extraction → Playwright MCP replay → RCA via Sentry + Victoria + GitHub MCP. Comment-only on prod. Adapts to HAR / solo-ticket / description-only.
read case study
skill · shipped LLM downloadable
AIO Test Case Creator
/aio-tcc
An LLM skill that normalizes manual test-case drafts against a 1,891-case rulebook before they hit the AIO pool. Downloadable .md skill bundled — drop it into Claude Project / Custom GPT / Codex.
read skill
open source MCP server 38 tools
ADB MCP
/adb-mcp
Open-source MCP server for Android Debug Bridge. 38 Zod-validated tools across devices, shell, packages, files, screenshots, logs, intents, settings. LLM skill bundled. Built during LTTS.
read case study
production · LTTS appium open source
Self-Healing Locator Framework
/self-healing
Multi-model architecture that re-identifies elements at runtime across DOM heuristics + vision models. Built at L&T, deployed in production for two T-Mobile US MVNEs; later centralized behind a Flask + SQLite service. Open-sourced.
read case study
production · lotusflare codex security
Codex In-Browser, Safely
/codex-browser
How I rolled Codex's built-in browser to manual QA and non-tech teammates with a permissions posture security could live with. Always-ask, narrow allowed domains, short-lived sessions.
read case study
agent · shipped chatgpt enterprise slack
Slack Bots for the QA Stack
/slack-bots
Two ChatGPT Enterprise bots on connectors / MCP / skills. One for triage (Sentry+Victoria+GitHub grounded). One for test-case creation. Both identity-scoped.
read case study

Notes from the QA console.

Industry POV and lessons from production. Long-form on Medium.

Working surface.

Things I'd reach for on a project today.

type stack() in console
AI for QA
MCP Codex Gemini 3 multimodal
+ ChatGPT Enterprise · Browser Use · Computer Use · JAM MCP · Selenium MCP · LangChain · LangGraph · n8n · OpenAI SDK · Claude SDK · Google GenAI · RAG · embeddings · ChromaDB / vector DB · AI Skills · DeepEval · PromptFoo · LLM-as-a-Judge · multi-agent systems · LLM evaluation · AI security hooks
Test automation
Playwright Appium (iOS+Android) self-healing locators
+ Selenium (Java/Python) · Cypress · pytest · Robot Framework · Cucumber · Katalon Studio · Perfecto · Maestro · JMeter · XCUITest · UIAutomator2 · Espresso · Reflect.run · POM · Selenium Grid · Appium device farm · BrowserStack · LambdaTest · Power Automate · Google Scripts · visual regression
CI/CD & infra
GitHub Actions self-hosted runners Docker
+ Jenkins · Azure DevOps · MITM hooks · Tailscale · PostgreSQL · SQLite · Flask · AsyncIO · XenServer · VMware · Linux troubleshooting
Observability & test mgmt
Victoria Logs Sentry AIO
+ Lighthouse · CloudWatch · AWS (IAM, S3) · Jira · Xray · Zephyr · TestRail · TestNG · Allure

QA Automation Engineer / SDET · Delhi, India · 2.5y.

I'm Anmol — currently QA Engineer at Lotusflare working on a T-Mobile US MVNE (Smartless Mobile). Before that I led a 6-engineer iOS/Android/web automation pod at L&T Technology Services, covering two T-Mobile MVNE clients.

I gravitate toward the problems where QA stops looking like QA — building agents, designing test-data infrastructure, defining evaluation rubrics for LLMs, getting deterministic CI from non-deterministic upstream. The kind of work that doesn't have a Stack Overflow answer.

If you're at an AI-first company and need someone to make your release flow boring in the good way, say hi.

expect(anmol).toShip()
jest
// passed in production · 2023–present

describe('anmol', () => {
  it('ships AI tooling for QA', () => {
    expect(stack).toContain('MCP');
    expect(agents).toBeProduction();
    expect(toil).toHaveBeenReducedBy(0.67);
  });

  it('leads QA pods', () => {
    expect(team.size).toBeGreaterThanOrEqual(6);
    expect(careerGrowth).toBeOwnedByLead();
  });

  it('survives outages', () => {
    expect(outages).toBe(7);
    expect(suite.color).toBe('green');
  });
});

// ✓ 3 passed · 0 failed · time: 2.5y