Senior Quality Engineer · SDET

Engineering confidence into every release.

I turn flaky, unknowable systems into signal. Unified web, API, mobile & performance suites that catch defects before your users do.

Based Remote · GMT+8
Focus Test architecture
Scroll
(01) Manifesto

Quality isn't a phase you bolt on at the end. It's an engineering discipline — built into the pipeline, measured in production, and owned like a product. I build the systems that let teams ship fast and sleep at night.

0
Years in test engineering
0
BDD scenarios maintained
0
Faster test creation
0
Test layers, one framework
(02) Selected Work

Things I've made
systems trust.

Flagship · Open Source
001

Spectra — Unified Test Framework

A single TypeScript monorepo that unifies web E2E, API, mobile and performance testing behind one runner, one report and one CI graph. pnpm + Turborepo, BDD-first, fully observable.

  • Playwright + BDD
  • Maestro
  • k6
  • Allure · Grafana
4→1test stacks consolidated
1runner · report · CI graph
0flaky tests tolerated
Public Sector · Web E2E
GovTech
002

Government Digital Services

End-to-end Playwright + BDD automation for citizen-facing forms and intranet services. Multiple rollouts shipped with zero production defects, with a reusable framework and one service suite streamlined to a 30-minute runtime.

  • Playwright
  • playwright-bdd
  • Visual testing
  • UAT
0production defects
30 minone service's E2E suite
-60%test-creation time
Platform · CI/CD
CI/CD
003

CI/CD Monorepo Migration

Led a polyrepo→monorepo migration of a large build estate — consolidating ~31 pipelines into 10 behind one runner, with sparse checkouts and shared Docker layer caching.

  • GoCD
  • Docker
  • NX monorepo
  • Sparse checkout
31→10build pipelines
up to 85%smaller checkouts
~7.5 GBCI disk reclaimed
Performance · Reliability
Perf
004

Performance & Resilience

Designed and ran load & stress tests to prove stability under peak load — a 100-concurrent-user stress test uncovered critical bottlenecks, driving optimisations that kept the feature reliable at launch.

  • k6
  • JMeter
  • Stress / soak
  • Grafana
100concurrent users simulated
pre-releasebottlenecks caught & fixed
(03) The Stack

Five layers.
One source of truth.

L1

Web E2E

Gherkin-driven Playwright with playwright-bdd. Page objects, fixtures, parallel sharding.

Playwrightplaywright-bddPage Objects
L2

API & Contracts

Same runner, no browser. Request context, schema & contract validation, data factories.

APIRequestContextFakerContracts
L3

Mobile

Maestro YAML flows across iOS & Android. One flow set, real selectors, emulator or cloud.

MaestroiOSAndroid
L4

Performance

k6 from smoke to soak. Thresholds as pass/fail gates, streamed live to dashboards.

k6ThresholdsDocker
L5

Observability

Unified Allure report for functional + JUnit, Grafana + InfluxDB for performance trends.

AllureGrafanaInfluxDB
(04) How I work

Green builds
aren't luck.

  • Shift left, observe right. Catch it in the PR; confirm it in production telemetry.
  • Tests are products. Readable, deterministic, and maintained like the app they protect.
  • Flake is a bug. A test you can't trust is worse than no test at all.
  • Quality is everyone's. I build the rails; the whole team ships on them.
spectra — pnpm report
(05) Contact

Let's ship with confidence.

dev.alanckl@gmail.com
Local time Remote · GMT+8