TZTetiana Zhuravchak Get in touch

For hiring teams

Five years finding defects. Then nine products of my own.

A quality engineer who moved into building and kept the habits. Here is the path, the stack, how I prove a thing works — and the roles I'm wrong for.

The path

Testing first · systems second · products third
5years · quality assurance

Manual, API and automated testing on other people's software. Paid to find what breaks before a user does — which is where every habit on this page comes from.

2years · ASIR diploma

Spain's higher technician qualification in networked systems administration: Linux, networks, servers, security. The reason deployment isn't somebody else's department.

9products · own studio

Designed, built, tested, deployed and operated alone: a payments marketplace, an adoption platform, a multi-tenant SaaS, a children's web app, a browser extension, catalogues and content sites.

11months · in production

The oldest one, still running under my monitoring and nightly backups. Not handed over and forgotten — operated, which is a different skill from shipping.

What I actually work in

All of it used on something that reached a real address
Front end

TypeScript · React · Next.js App Router · Tailwind · installable web apps (PWA) · browser extensions

Back end & data

NestJS · Node · PostgreSQL · Prisma · REST APIs · role-based access · Stripe and PayPal, including escrow and payouts

Running it

Docker · Caddy · Linux servers · GitHub Actions · monitoring, backups and certificate renewal · Cloudflare

Testing

Playwright end-to-end · Jest · mutation testing on the money paths · accessibility checks in the pipeline · manual exploratory, deliberately

Content & CMS

WordPress themes and plugins written from scratch · custom admin panels · multilingual content including right-to-left Arabic · SEO structure

Languages

Ukrainian · English · Spanish · Russian — including the difficult conversations, not just the greetings. Based in Spain, working CET/CEST, remote.

Evidence, not a green tick

A check that has never caught anything is not evidence that anything is safe
gates

Gates that have already caught something

Protections around money and data are themselves tested: remove the safeguard and the build fails. A rule nobody has ever tried to break is a wish, not a control.

coverage

Coverage that counts what ran

Reporting tools happily count code they only imported. Thresholds are computed from what actually executed, and any figure I quote links to the run that produced it.

data

Published data carries its source

On the catalogue work, a specification without a traceable origin isn't shown — the build stops instead. It caught real errors on its first run.

real use

Checked where the user is

Contrast measured against the worst photograph on the page, layouts measured on the client's screen size, forms tried on an old phone. The mockup is not the product.

Where I fit

Small teams that ship

  • →Full-stack product work where one person can carry a feature from design to production.
  • →Teams without a dedicated QA, who need someone who thinks like one anyway.
  • →Products handling money, personal data or people's safety, where being careful is the job.
  • →Remote work across languages — I've run projects in four of them.
Where I don't

Better said before the interview

  • ×Native iOS and Android. I build installable web apps and I won't pretend otherwise.
  • ×Pure management tracks — I want to stay close enough to the product to build it.
  • ×Deep specialisms I haven't practised: machine-learning research, game engines, embedded firmware.
same-day reply

Ask for the long version

CV, code samples, or a walk through any of the nine products — including the parts that had to be fixed. Say which and it comes back the same day.

Write to me → See the work