Software Tester · Python & Test Automation · Automation & Robotics engineer
I'm a Software Tester with a degree in Automation and Robotics. I write automated tests, break things on purpose, and build Python tools that clean up messy real-world data.
Most of my projects sit in financial data engineering, with test suites built to prove the code is correct.
- Preparing for ISTQB CTFL v4.0 — built my own interactive study lab for it (below)
- I care about testing beyond happy paths: property-based, mutation, contract & E2E
- FinTech side-quests: dividends, taxes, and personal-finance automation
The numbers behind the pinned repos below.
- XTB Dividend Tax Analyzer — 600+ tests across 8 tiers: unit, integration, property-based (Hypothesis), mutation, contract, fuzz, metamorphic & security.
- Dividend Dashboard — Playwright E2E suite for the Streamlit UI with Page Object Model, axe-core accessibility (WCAG) and responsive tests.
- Bank Transaction Categorizer — property-based tests (Hypothesis), mypy strict, and CI/CD quality gates.
- ISTQB CTFL v4.0 Study Lab — Playwright E2E on a cross-browser matrix (Firefox, WebKit, mobile Safari) + Vitest unit suite + CI, with a live demo on GitHub Pages.
- Languages — Python · TypeScript · Bash
- Testing (Python) — pytest · Hypothesis (property-based) · pandera (schema/contract) · mutmut (mutation) · bandit & safety (security) · tox
- Testing (Web) — Playwright (E2E) · Vitest · Testing Library
- Data & viz — pandas · NumPy · Plotly · Streamlit · openpyxl
- Web & GUI — React 19 · Vite · CustomTkinter
- DevOps — Docker · Makefile · GitHub Actions (CI/CD) · pre-commit
- Quality & tooling — mypy (strict) · ruff · ESLint · Poetry · pydantic · loguru
- AI-assisted — Claude Code (primary) · Gemini · GitHub Copilot · Cursor · n8n · MCP servers
Building self-hosted apps end to end: React + Vite + Tailwind + shadcn/ui on the frontend, FastAPI + PostgreSQL + Alembic on the backend, shipped with Docker. I test them the same way, end to end, with Playwright E2E suites, API tests, and CI quality gates against my own production code.




