Software QA Engineer · Test automation across web, mobile and API
ISTQB Certified Tester, Foundation Level (CTFL 4.0) · Cairo, Egypt · UTC+2
LinkedIn · Portfolio · Live QA dashboard · Email
I'm a QA engineer. By day I own quality on a live, payment-integrated platform at Blue Ribbon, where I took the team from testing everything by hand to 85% of the regression suite running on one command in CI. Over the summer of 2026 I tested Egypt's national data-protection regulator platform (MCIT PDPC) at Atos, mostly at the API layer, where the useful bugs were the ones the interface could not show me.
The repositories below are the same discipline applied in public. Every one of them runs on a schedule, and the badges are live, including one that is red on purpose and one repo that has no badge at all because a real product gate in it is failing.
caldiy-qa-strategy: six phases against a real scheduling platform: risk-led strategy, a Dockerised pinned instance, API contract tests, Playwright lifecycle coverage, a 14-test timezone/DST suite, BDD, axe and visual gates, k6 performance gates with a capacity-one contention proof, tiered CI, and two defect reports filed upstream.
The result I'd want read first is the one that isn't green: accessibility passes 1 of 3 surfaces, and that stays visible. It's a finding about the product, not a flaky test to retry away, which is also why there is no CI badge on that repo while a real product gate is failing. Allure report →
| TestPulse: test observability and flake detection |
A CI suite has no memory, so "this test is flaky" and "you broke this on Tuesday" look identical. TestPulse ingests results over time and tells them apart with two flake strategies whose tradeoffs are argued, not assumed. Five of my repositories report into it nightly. Python · FastAPI · React · Postgres. Live dashboard → |
| llm-eval-harness: evaluating non-deterministic systems |
assertEqual does not work on a system that answers differently each time. This measures pass rates with confidence intervals, validates its own LLM judge against human labels (κ 0.51, so it gates on nothing), and red-teams the subject.The red badge is the result: the security gate fails because the suite found real data leaks. A gate that cannot fail anything is decoration. Report → |
| Repository | What it demonstrates | Stack |
|---|---|---|
| orangehrm-playwright |
E2E across HR modules. The app under test runs in Docker after the public demo turned out to accept writes with 200 and discard them, which took the suite from 2/18 to 18/18 |
Playwright · TypeScript |
| open-source-webapp-qa-portfolio |
70 checks over auth, forms, waits, tables, alerts and uploads: the Selenium predecessor to the Playwright work above | Selenium · pytest |
| github-api-tests |
REST coverage with JSON Schema validation, negative cases, and a client that paces itself against GitHub's secondary rate limits | Python · requests · pytest |
| api-testing-framework-ci |
Full CRUD lifecycle with auth, data-driven payloads and a published evidence hub | Postman · Newman |
| wikipedia-maestro | Mobile flows on a real Android app, on an emulator, in CI | Maestro · Android |
| ebay-web-automation | Search and refinement flows with externalised test data: the same Page Object discipline in a JVM stack | Java · Selenium |
| jmeter_performance_testing_report | Load testing a prediction API and reporting latency against explicit acceptance criteria | JMeter · Python |
| Automation | Playwright · Selenium · pytest · Maestro · Appium · Cucumber (BDD/Gherkin) |
| API & performance | REST · JSON Schema · Postman/Newman · Bruno · k6 · JMeter · Allure |
| Languages | Python · TypeScript · JavaScript · Java · SQL |
| Infrastructure | GitHub Actions · Azure DevOps · Docker · PostgreSQL · FastAPI |
| Practice | Test strategy · risk-based prioritisation · defect reporting · flake triage · CI/CD |
ISTQB Certified Tester, Foundation Level (CTFL 4.0), 2026. B.Sc. Computer Science & Engineering, German University in Cairo (2026). Graduation project: car price prediction over a 3M-record dataset, best R² 0.947. Junior TA for CSEN202 across 100+ students.
Arabic (native) · English (C1) · German (A2)