MH
SDET & QA Automation Lead · Remote · UTC+6
Mojammel Hossain

Mojammel
Hossain

13 years in QA — I decide what to test and what to skip. 6 years in production React/Next.js — I build what I test. Now I build the validation layer between AI-generated code and production.

Playwright·TypeScript·Next.js·k6·JMeter
AI code validation·RAG evaluation·Prompt quality·Test strategy & scoping
Quality Engineering

ai-code-sanitizer

Evolved from PIS data migration · 5 validators

QA tool

At Presidency International School, I was brought in to extract and migrate data from a vendor-locked ASP.NET system. No source code access — only the admin dashboard and data exports. Applied QA techniques to validate every record from the outside: cross-referenced schemas by observing UI behavior, traced data relationships across screens, detected anomalies through export comparisons. That experience of sanitizing output from a system I couldn't modify became this CLI + CI action. 5 deterministic validators now do the same for AI-generated code. Same philosophy: validate before you trust.

TypeScriptAST Analysists-morphGitHub ActionsDiff-aware CI
GitHub →

llm-eval-framework

Built for PIS Question Bank pipeline

QA tool

The Question Bank LLM pipeline generates new question variations based on past paper structures — teachers can produce multiple exam variants from the same syllabus coverage. Claude API handles the generation; the eval framework verifies every output. 5 deterministic scorers: exact match, fuzzy match, hallucination detection, format validation, semantic. JSON-defined specs, CI-ready. No LLM-judging-LLM circularity. Built because teachers trusting AI-generated exam content needed a verification layer with teeth.

TypeScriptJestLLM EvaluationHallucination DetectionCI-ready
GitHub →

rag-eval-kit

Extended to RAG systems · Python evaluation harness

QA tool

RAG systems degrade silently — embeddings drift, retrieval misses context, LLMs hallucinate over bad chunks. This evaluation harness measures retrieval quality (Precision@k, Recall@k, MRR, NDCG), faithfulness, hallucination rates, and context relevance. Every evaluator is deterministic and CI-ready. The philosophy scales: if you can validate LLM output for exam papers, you can validate it for any retrieval-augmented system.

Pythonscikit-learnRAGRetrieval MetricsHallucination Detection
GitHub →

Swipe →

Systems Built

Presidency KPI System

Cambridge School · ~300 Staff · Zero Data Issues

Completed ✓

Production performance review system for ~300 teaching staff. Role-based evaluation sessions with multi-part weighted scoring, audit logging, and printable reports. First evaluation cycle completed with zero data issues. Built while simultaneously extracting, sanitizing, and validating data from the school's locked legacy .NET system for migration.

Next.jsReactTypeScriptMongoDBNextAuth
View case study →

Verdex

Multi-Tenant SaaS · Dynamic KPI Engine

Portfolio

Architected a form-builder-driven KPI evaluation engine where organisations configure their own weighted, multi-form reviews. Role-based access, multi-evaluator aggregation, scoring across arbitrary form structures. Built solo end-to-end — from the MongoDB schema to the Playwright suites that keep it honest.

Next.js App RouterTypeScriptMongoDBRedisNextAuth JWTPlaywright
Live walkthrough →

Swipe →

Also on GitHub: playwright-realworld-e2e · api-test-framework · all repos include DECISIONS.md documenting every architectural choice

Experience
July 2025 – Present
Chattogram, Bangladesh
Software Engineering ConsultantCurrent·Presidency International School

The school's legacy ASP.NET system became unmaintainable — years of ad-hoc requirements on a vendor-locked codebase we couldn't modify. I was brought in with full administrative access to evaluate the system, reverse-engineer its data structures, plan a clean replacement, and deliver the modules they need now. Solo consultant, full ownership across architecture, development, testing, and deployment.

What I've delivered so far
  • KPI Evaluation System — role-based performance reviews with multi-part weighted scoring for ~300 teaching staff across 36 observers. HR configures sessions, observers submit on-screen, scores aggregate automatically. First cycle completed with zero data issues.
  • Question Bank LLM Pipeline — Claude API generates new question variations based on past paper structures. Teachers can produce multiple exam variants from the same syllabus coverage, each with Cambridge-style formatting and print-ready output. Built deterministic evaluation framework (llm-eval-framework) with 5 scorers to validate every generated question — no LLM-judging-LLM circularity.
  • Roster Manager — Python/Flask microservice that analyses teacher workloads per time slot and surfaces the least-loaded candidate for each duty window. Replaced a manual cross-referencing process that coordinators dreaded every cycle.
  • Data extraction & migration — without source code access, reverse-engineered the legacy system's data model through the admin dashboard alone: observed field behaviors, traced relationships across screens, exported and cross-referenced every record. Applied QA validation techniques to sanitize the output — schema cross-referencing, referential integrity checks, anomaly detection in years of accumulated records. Designed clean, normalised data structures for the new platform.
Quality ownership
  • Evaluated the school's legacy system through a QA lens despite having no source code access. With full admin control, tested data integrity from the outside: exported records, cross-referenced across modules, traced anomalies through the UI, and validated every field before migration. Black-box QA at the systems level. The same discipline that caught field-data corruption at mPower now keeps a school's academic records clean.
  • Extended the deterministic-validation philosophy from the Question Bank pipeline into reusable tools (llm-eval-framework, ai-code-sanitizer). What started as 'validate this AI-generated output' became a general approach: if you can't trust the source, build a verifiable gate before the data reaches production.
  • Working solo means I own every layer — database design, API contracts, UI components, deployment, and the test suites that keep them honest. QA thinking applied at the systems level.
ReactTypeScriptNext.jsNode.jsPythonFlaskMongoDBClaude APINextAuth
2018 – June 2025
Dhaka, Bangladesh
SQA Lead & Frontend Engineer·mPower Social Enterprises Ltd

Owned QA strategy — test scope decisions, automation architecture, and release quality — across a continuously rotating portfolio of USAID, UNICEF, and INGO-funded ICT-for-development projects shipping concurrently. Dual-tracked with frontend engineering on the same platforms. The development work wasn't a separate role; it was what made the test strategy sharper — I understood the code I was validating.

QA Strategy & Test Scope Ownership
  • Managed test coverage decisions across concurrent projects spanning health, agriculture, humanitarian response, and governance — each with different domain rules, release cadences, and donor-reporting requirements. Deciding what to automate, what to smoke-test, and what to leave to structured exploratory testing was the core of the job.
  • Defined test criteria for platforms where incorrect data had real consequences: national vaccination tracking (mTika), maternal and child health registration (mCARE/MOVE-IT), nutrition growth monitoring, field-worker performance tracking for BRAC's health programme (12,000+ active field workers), and humanitarian camp service delivery.
  • Tested offline-capable Android field apps deployed in low-connectivity rural and camp environments. Validated offline data queueing, sync conflict resolution, and data integrity on field submissions — where a failed sync could mean a missed vaccination schedule or a lost patient record.
  • Validated data exchange pipelines between mPower systems and government/NGO platforms — DHIS2, Shared Health Record (SHR), BRAC ERP — ensuring immunisation records, patient data, and nutrition tracking survived integration boundaries correctly.
  • Verified domain-critical calculations: GMP z-scores for child nutrition, vaccination reminder trigger logic, weather-based crop advisory thresholds (GeoPotato/GeoBIS agricultural DSS), and multi-stage beneficiary tracking across programme interventions.
  • Designed smoke test suites targeting critical user flows and high-risk API paths, integrated into PR pipelines via GitHub Actions — enabling confident go/no-go decisions without slowing release velocity across multiple simultaneous project deliveries.
  • Led performance and load testing using JMeter (distributed) and k6 ahead of high-traffic field deployments. Supported Redis caching improvements that reduced response times under load.
  • Migrated automation suites to Playwright and CodeceptJS. Extended mobile coverage via Sauce Labs for cloud-based Appium execution across device configurations common in field deployments.
  • Mentored QA engineers, standardised practices across the automation stack, and embedded BDD scenarios using Cucumber to keep donor-required outcomes traceable to test coverage.
  • Adopted LLM-assisted test design (ChatGPT, Claude) starting 2023 — used AI to generate test scenarios from complex donor requirements, then applied structured exploratory heuristics to validate, harden, and fill gaps in the output. The LLM drafts the first pass; QA expertise decides what ships. The same validate-before-trusting discipline that later shaped ai-code-sanitizer.
Frontend Development
  • Built a reusable React component library serving multiple production platforms across international NGO and donor-funded programmes — designed for rapid plug-in across projects where deadlines are tight and rebuilding from scratch each cycle isn't an option.
  • Implemented state management using Redux and Context API across large-scale applications; applied memoisation (React.memo, useMemo, useCallback) to optimise rendering in data-heavy monitoring and reporting dashboards.
  • Collaborated with backend teams to define API contracts via Swagger/OpenAPI from day one; fixed frontend bugs directly in the codebase rather than filing tickets.
Project domains
National immunisation trackingMaternal & child healthNutrition monitoringElectronic medical recordsHumanitarian camp managementAgricultural decision supportClimate vulnerability mappingDisability information systemsPoverty trackingeLearning for field workers
Funding & implementation partners
USAIDUNICEFBRACCARE BangladeshJHUNutrition InternationalChristian AidGovt. of Bangladesh
2015 – 2018
Dhaka, Bangladesh
Sr. SQA Engineer·mPower Social Enterprises Ltd

Built the foundations of mPower's test practice across a rapidly expanding portfolio of USAID, UNICEF, and INGO-funded MIS and MEAL platforms — health, agriculture, governance, education — each with distinct domain logic and stakeholder reporting requirements.

Manual Testing & Domain Coverage
  • Executed functional, regression, and integration testing across concurrent ICT-for-development projects: national vaccination tracking, maternal and child health systems, nutrition monitoring platforms, agricultural decision support tools, disability information systems, and humanitarian response dashboards.
  • Applied structured exploratory testing on complex multi-module workflows — offline-capable Android field apps, web-based MIS dashboards, and data exchange pipelines feeding into DHIS2 and government health information systems — uncovering edge-case defects that scripted approaches routinely missed.
  • Defined and maintained structured test case libraries prioritised by risk, release scope, and donor-reporting impact — balancing coverage decisions across projects shipping on different cadences with different stakeholder urgency.
Automation Foundations
  • Introduced Selenium WebDriver automation for web platforms and set up in-house Appium infrastructure for mobile automation across Android and iOS field-worker apps — laying the groundwork for the automation strategy later scaled as QA Lead.
  • Authored and maintained automation suites using Cypress for newer web codebases alongside Selenium for legacy systems, establishing the multi-framework approach that carried forward.
2013 – 2015
Dhaka, Bangladesh
SQA Engineer·GreenNet iCloud Ltd

Functional, regression, and integration testing on financial and ERP systems. Applied structured exploratory testing on complex ERP workflows, uncovering edge-case defects that scripted suites routinely missed.

Skills
Testing & Automation
PlaywrightSelenium WebDriverCodeceptJSCypressAppiumJMeterk6Test strategy & scoping
AI & LLM Quality
AI code validationRAG evaluationHallucination detectionLLM output scoringPrompt evaluationDeterministic testing
Frontend
ReactTypeScriptJavaScript (ES6+)Next.js App RouterReduxContext APITailwind CSS
Backend & Data
Node.jsPythonFlaskMongoDBPostgreSQLRedisREST APIsClaude API
CI/CD & Tools
GitHub ActionsGitJiraSwagger / OpenAPIDocker
Education
BSc CSE

Bachelor of Science in Computer Science & Engineering

Shahjalal University of Science & Technology, Sylhet, Bangladesh

Open to senior SDET, AI-quality lead, and test architect remote roles.

Chattogram, Bangladesh · UTC+6 · EMEA-friendly hours

WhatsApp