$ npx playwright test ashen.spec.tsRunning 8 tests using 1 worker8 of 8 tests passed

describe('Ashen J'), () => {

Ashen J

Former developer turned quality advocate

Portrait of Ashen J

expect(ashen).toBeVisible() ✓

I break software on purpose, so millions of people don’t.

expect(years).toBeGreaterThanOrEqual(8) ✓

8+

years building test infrastructureyears in test engineering

expect(users).toBeGreaterThan(75e6) ✓

75M+

monthly users protected at Tindermonthly users at Tinder

02it('has a human behind the harness')PASS18ms

Hi, I’m Ashen.

I build test automation frameworks from scratch, then do the harder part: get whole teams to actually adopt them. I own release quality and make the go/no-go call. Lately I build AI-powered test agents and evaluation suites for LLM features, and I mentor engineers making the jump into automation.

EDUCATIONdegree.spec.ts
University College Dublin crest

University College Dublin

BSc (Hons) Computer Science

First Class Honours

03it('has guarded releases at')PASS9ms

Where I’ve worked

$ git log --employers --oneline4 commits · all green
04it('ships its own tools')PASS42ms

Projects beyond work

$ npx playwright test --project=allapi › users.spec.tsPASSui › checkout.spec.tsPASSa11y › home.spec.tsPASSvisual › header.spec.tsPASSagent › healed login selectorHEALEDplangenerateheal5 passed
$ npx playwright testapi › users.specPASSui › checkout.specPASSa11y › home.specPASSplangenerateheal
04.1 · TypeScript

Playwright Framework Template

A production-grade Playwright + TypeScript framework with API, UI, accessibility and visual tests, Docker CI, and AI agents that plan, generate and heal tests.

PlaywrightTypeScriptDocker CIa11y + visualAI agents
github.com/cinderloop/playwright-framework-template ↗
eval › faithfulness · judge-validated✓ real changenoise bandbaselinecandidate← worsebetter →
✓ real changeeval › faithfulnessnoisebasenew← worsebetter →
04.2 · LLM evaluation

RAG Evaluation Reference

A reference implementation for evaluating RAG/LLM systems: error analysis, validated LLM judges, mutation testing, and statistically sound results with DeepEval.

DeepEvalLLM judgesMutation testingStatistics
github.com/cinderloop/rag-evaluation-reference ↗
06it('reads beyond the docs')PASS12ms

On my shelf

Free time usually means a book in hand. Here are some that changed how I think, at work and away from it.

Cover of Accelerate
AccelerateNicole Forsgren, Jez Humble & Gene KimForsgren, Humble & Kim“Research showing speed and stability aren’t a trade-off.”
Cover of Thinking, Fast and Slow
Thinking, Fast and SlowDaniel Kahneman“The mental shortcuts that let bugs slip past reviewers.”
Cover of Thinking in Systems
Thinking in SystemsDonella H. Meadows“Seeing feedback loops rather than single broken parts.”
Cover of Project Hail Mary
Project Hail MaryAndy WeirFICTION“A stranded scientist debugging the end of the world.”
07test.slow('looks up from the terminal''looks up')PASStake your time

Through the lens

Photography is how I switch off. It’s the same instinct as testing, really: slow down, look closer, and notice the detail everyone else walks past.

01/ 19

PARIS

08it('answers a hello')PASS< 24h

expect(you).toReachOut()

Say hello.

Hiring for quality, building something that has to work, or just want to talk testing? My inbox is open.