Skip to content
Philippos MelikidisStuttgart region, October 2026

2026 · open source

flakeproof

When CI goes red, flakeproof tells you whether the app broke or just the test.

The problem

An end-to-end suite can fail you in two ways. Blind tests stay green while something real breaks, fragile tests go red because a class name changed. Both get called flaky, and every red build turns into guesswork.

What I built

A tool that mutates the page under test on purpose and watches how the tests react. Meaningful changes, like a changed button text, must turn a good test red. Cosmetic ones, like a renamed class or an extra wrapper, must not, and neither should an element that appears 800 ms later. When CI fails, flakeproof compares the failing selector against a baseline and gives a verdict.

What came out

Four verdicts instead of a shrug, real change, fragile, nondeterministic or unclear. For fragile selectors it proves a better one instead of guessing it, and when the evidence is mixed it says so.

Built with

Node.js, Playwright, works with Playwright, Robot Framework, Cypress, Selenium and Puppeteer

Source on GitHub

← All work