- 🎯 Senior SDET (TypeScript / JavaScript), Warsaw. I design test systems that let teams ship without fear: test architecture, CI/CD quality gates, mobile device farms, test observability.
- 🌍 I've done this across fintech, healthcare, e-commerce and SaaS — on web, mobile web, iOS and Android.
- 🚀 I'm building two products of my own, end to end: Forma — a financial operating system for freelancers, and Zagaday — AI-personalized party games.
- 🚧 In the open, I'm building Flakemetry (test runs as traces) and Sentra (AI triage for CI failures) — and pushing AI-assisted quality engineering well past autocomplete.
| The problem | How I solve it | Proof in the open |
|---|---|---|
| "Our suite is flaky and nobody trusts red anymore." | Treat every test run as a trace, not a pass/fail report. Measure what varied between passing and failing runs, make flakiness explainable, and eliminate it with data instead of re-runs. | Flakemetry |
| "Engineers burn hours triaging CI failures." | Put an AI triage layer in the pipeline: classify every failure on two orthogonal axes, hypothesise the root cause, post one actionable PR comment — and hold the model to a hand-labelled golden dataset and a non-LLM baseline. | Sentra |
| "Feedback takes hours — every branch queues for one shared staging env." | Give every pull request its own ephemeral environment: isolated Kubernetes namespace, suite sharded across parallel Indexed Jobs, one aggregated report, and a teardown the pipeline itself proves. | Ephemeral K8s test envs |
| "Our E2E suite collapsed as soon as a second person touched it." | Architecture before scripts: page objects, fixtures and selectors as separate layers, suites split by trigger, a global health check that fails fast with a reason. Built for a team to extend, not just to run. | Playwright E2E framework |
| "API tests are green, but integrations still break in production." | Test contracts, not status codes: schema validation on every response — including across services — plus property-based tests that generate the edge cases nobody hard-codes. | Microservices API testing |
| "Appium or native? Everyone argues, nobody measures." | Test the same app three ways — Appium, XCUITest, Espresso — behind one CI pipeline with a combined report, so the trade-off is demonstrated on evidence, not opinion. | Mobile automation, 3 ways |
| "We have no automation at all. Where do we even start?" | Build the framework from scratch, wire it into CI/CD from day one, and mentor the team until the system is theirs — I optimise for what keeps working after I leave the room. | every repo here started as an empty folder |
- Start from the problem, not the tool. Frameworks, runners and dashboards are consequences. The failure mode you are fighting comes first; the stack follows.
- Tests are production code. Same architecture standards, same code review, same refactoring discipline. A suite nobody can extend is technical debt with a green checkmark.
- CI from day one. A test that doesn't run on every change doesn't exist. Quality gates, sharding and fail-fast health checks are part of the framework, not an afterthought.
- Make quality observable. Reports, traces, metrics. A red build must mean something — flakiness is a signal to measure and eliminate, not noise to re-run.
- AI with evals, not vibes. I use AI for test generation, failure triage and root-cause analysis — and hold it to golden datasets and baselines like any other system in the pipeline.
- Prove the boring parts. Teardown is tested. Reports are published. Docs let the next engineer onboard without me. Done means demonstrated.
Two products, both mine from A to Z — product thinking, code, infrastructure and quality:
🏦 Forma · @forma-finance
The financial operating system for freelancers, creators and the self-employed. Self-employed people don't have a financial system — they have fragments: a spreadsheet, a government portal, an accountant who answers in three days, and their own memory. Forma is the calm, guided layer on top, answering three questions on every screen: am I okay? what needs attention? what happens next? Mobile-first (React Native, iOS + Android), built on a deterministic, versioned, source-backed rule engine — Poland first, starting with Ukrainians running a JDG.
Built from A to Z: the product itself, the rule engine, the React Native app, the website — and, naturally, the quality system around every release.
Stage: 🟡 pre-release — the mobile platform and the website are in active development · Ukrainian, Polish and English from day one.
🎲 Zagaday · @zagaday
Party word games, personalized by AI. An offline-first party word game (explain-the-word, team vs team) with a twist no clone has: type "Olia's bachelorette party" or "IT company offsite" — and AI generates a word deck that's actually about your crowd. Generated once, stored locally, playable offline forever. Ukrainian-first 🇺🇦, decks are never translated — each language gets its own culturally-native content. And no ads mid-round, ever.
Stage: 🚧 building the iOS MVP — moving along a public six-stage roadmap:
| Piece | Status |
|---|---|
| Product spec, design system, content guidelines | ✅ done — the source of truth |
| iOS app — Swift 6 · SwiftUI · SwiftData · StoreKit 2 | 🚧 in progress → TestFlight, then App Store |
| AI deck generation + Pro (Python/FastAPI backend) | 📋 next — the differentiator |
| Polish & English decks | 📋 planned |
| Android app — Kotlin · Jetpack Compose | 📋 planned — starts after iOS ships |
| Online mode | 🔮 only if traction proves it |
| Project | What it is | Stack | Status |
|---|---|---|---|
| Flakemetry | OpenTelemetry-native test-intelligence platform — test observability, explainable flaky-test detection, AI root-cause analysis | TypeScript · OpenTelemetry · Playwright · PostgreSQL · Next.js | ▓▓▓▓▓▓░░░░ ~60% · 🟢 active — usable today |
| Sentra — AI flaky-test triage | AI triage layer for CI failures — two-axis classification, root-cause hypothesis, one PR comment; benchmarked vs a non-LLM baseline | TypeScript · GitHub Actions · LLM evals | ▓▓▓░░░░░░░ ~30% · 🟢 active — 3/11 milestones |
| Ephemeral K8s Test Envs | Per-pull-request ephemeral environments on Kubernetes — isolated namespaces, API suite sharded across Indexed Jobs, aggregated Allure report, teardown the pipeline proves | TypeScript · Kubernetes · Docker · Allure | ▓▓▓▓▓▓▓▓▓▓ 100% · ✅ complete — reference build |
| Playwright E-Commerce Framework | Layered E2E framework built for a team to extend — POM, fixtures, selectors, multi-browser CI matrix, flaky detection, live reporting | TypeScript · Playwright · GitHub Actions · Allure | ▓▓▓▓▓▓▓▓▓▓ 100% · ✅ complete — maintained |
| Restful Booker API Testing | Production-grade API automation for a Spring Boot microservices platform — Zod contract validation incl. cross-service, property-based tests, Dockerized targets | TypeScript · Vitest · Axios · Zod · Docker | ▓▓▓▓▓▓▓▓▓▓ 100% · ✅ complete |
| Mobile Task Manager Automation | One React Native app tested three ways — Appium vs XCUITest vs Espresso — behind one CI pipeline with a combined live report | TypeScript · Appium · XCUITest · Espresso · WebdriverIO | ▓▓▓▓▓▓▓▓▓▓ 100% · ✅ complete |
| Portfolio website | Personal site & professional portfolio — Next.js, E2E-tested with Playwright (incl. accessibility checks), shipped via GitHub Actions | Next.js · TypeScript · Tailwind · Playwright | ▓▓▓▓▓▓▓▓▓░ ~90% · 🚀 launching soon |
LinkedIn — linkedin.com/in/andrii-kohut · Email — a.kogut01@gmail.com · Portfolio — launching soon
Always up for a conversation about test architecture, flaky tests, mobile automation, or bringing AI into quality engineering.




