# Dariusz Kowalski - Portfolio (bilingual) > AI Engineer · Test Automation Architect · Platform Builder. Context before LLM. > Portfolio of Dariusz Kowalski. I build multi-agent QA systems, AI pipelines and developer platforms. CDAT Pattern, Jarvis Platform, open-source distillates. > Bilingual content available - every entry tagged with `language: en|pl`. > EN canonical lives on portfolio.sdet.it, PL canonical on portfolio.sdet.pl. ## About the author Dariusz Kowalski - 15+ years in IT. Builds AI-powered systems for software testing and developer workflow automation. Creator of the CDAT Pattern (Components-Data-Actions-Tests) for Playwright, battle-tested across 9 production systems over 2 years. Jarvis platform (private): 34K LOC, 9 microservices, 15 production pipelines. Contact: darek@sdet.it · https://linkedin.com/in/darco81 · https://github.com/darco81 ## Main sections (per locale) EN entry points (portfolio.sdet.it): - [Home](https://portfolio.sdet.it/): overview and landing - [About](https://portfolio.sdet.it/about): full bio, 3 layers, stack, availability - [Projects](https://portfolio.sdet.it/projects): public GitHub + ecosystem highlights - [Articles](https://portfolio.sdet.it/articles): technical content index - [From the Field](https://portfolio.sdet.it/from-the-field): flagship EN series, every 2 weeks - [How I Do It](https://portfolio.sdet.it/how-i-do-it): working methodology reference - [Numbers](https://portfolio.sdet.it/numbers): scale of the ecosystem - [References](https://portfolio.sdet.it/references): quotes from past collaborators - [Contact](https://portfolio.sdet.it/contact): get in touch PL entry points (portfolio.sdet.pl): - [Strona główna](https://portfolio.sdet.pl/): przegląd i landing - [O mnie](https://portfolio.sdet.pl/about): pełne bio, 3 warstwy, stack, dostępność - [Projekty](https://portfolio.sdet.pl/projects): publiczny GitHub + ekosystem - [Artykuły](https://portfolio.sdet.pl/articles): index treści technicznych - [From the Field](https://portfolio.sdet.pl/from-the-field): flagowa seria, co 2 tygodnie - [How I Do It](https://portfolio.sdet.pl/how-i-do-it): referencja metodologii pracy - [Liczby](https://portfolio.sdet.pl/numbers): skala ekosystemu - [Referencje](https://portfolio.sdet.pl/references): cytaty od współpracowników - [Kontakt](https://portfolio.sdet.pl/contact): kontakt ## Featured case studies (bilingual) - [skills-radar - lazy-loading skill discovery for Claude Code](https://portfolio.sdet.it/articles/skills-radar): I ran /doctor and saw 6,000 tokens already gone - skill descriptions preloaded into the system prompt. Built a Two-Tier Discovery MCP server in a day. 68% reduction, local Apple Silicon, MIT. _(language: en)_ - [skills-radar - leniwe ładowanie skili dla Claude Code](https://portfolio.sdet.pl/articles/skills-radar): Odpaliłem /doctor i widzę 6000 tokenów zjedzonych - same opisy skili w system prompt. MCP server z Two-Tier Discovery w jeden dzień. 68% redukcji, lokalny stack na Apple Silicon, MIT. _(language: pl)_ - [sdet-brain - persistent RAG over MCP for one human and three Claudes](https://portfolio.sdet.it/articles/sdet-brain): How I stopped copy-pasting brand context into every new chat. Local-first RAG with Qdrant and MLX, exposed as 11 MCP tools to Claude Desktop, Claude Code, and OpenCode at the same time. _(language: en)_ - [sdet-brain - trwały RAG przez MCP dla jednego człowieka i trzech Claude'ów](https://portfolio.sdet.pl/articles/sdet-brain): Jak przestałem wklejać kontekst marki do każdego nowego czatu. RAG działający lokalnie na Qdrant i MLX, widoczny jako 11 narzędzi MCP jednocześnie dla Claude Desktop, Claude Code i OpenCode. _(language: pl)_ - [CDAT Pattern: 4 Layers, 3 Zero Rules, 9 Production Systems](https://portfolio.sdet.it/articles/cdat-pattern-deep-dive): A 2-year deep dive into the test architecture I extracted from real projects after POM stopped scaling. Components-Data-Actions-Tests, MIT licensed. _(language: en)_ ## Latest "From the Field" episodes (bilingual) - [6 portals agent-ready in 70 minutes: the discovery layer 99% miss](https://portfolio.sdet.it/from-the-field/agent-ready-portals-70min): Agentic web is not a future trend. I shipped 6 portals for it in 70 minutes. Here is what the discovery layer actually looks like in production. _(language: en)_ - [6 portali agent-ready w 70 minut: discovery layer którego 99% nie widzi](https://portfolio.sdet.pl/from-the-field/agent-ready-portals-70min): Agentic web to nie przyszły trend. Wysłałem 6 portali do niego w 70 minut. Oto jak naprawdę wygląda discovery layer na produkcji. _(language: pl)_ - [Figma-to-code deterministic: no LLM at the data layer](https://portfolio.sdet.it/from-the-field/figma-to-code-deterministic): Design tokens, CSS diff, pixel-perfect validation. No LLM at the data layer. A deterministic Figma pipeline that does not hallucinate. _(language: en)_ - [Figma-to-code deterministycznie: bez LLM w warstwie danych](https://portfolio.sdet.pl/from-the-field/figma-to-code-deterministic): Design tokens, CSS diff, pixel-perfect validation. Bez LLM w warstwie danych. Deterministyczny pipeline Figma który nie halucynuje. _(language: pl)_ - [CDAT pattern: Page Objects reinvented in 4 layers](https://portfolio.sdet.it/from-the-field/cdat-pattern): Page Objects do not scale past 50 tests. Here is a 4-layer pattern (data, actions, components, test) battle-tested across 9 projects. _(language: en)_ - [Wzorzec CDAT: Page Objects od nowa w 4 warstwach](https://portfolio.sdet.pl/from-the-field/cdat-pattern): Page Objects nie skalują się powyżej 50 testów. Oto 4-warstwowy wzorzec (data, actions, components, test) battle-tested na 9 projektach. _(language: pl)_ - [Multi-page WCAG, Part 2: what site-wide compliance is actually worth](https://portfolio.sdet.it/from-the-field/multipage-wcag-v04-build-part-2): Your homepage passed its accessibility audit. That says almost nothing about whether your site is compliant - and since June 2025, that gap is a liability, not a nice-to-have. _(language: en)_ - [Multi-page WCAG, część 2: ile faktycznie warta jest zgodność całego serwisu](https://portfolio.sdet.pl/from-the-field/multipage-wcag-v04-build-part-2): Twoja strona główna przeszła audyt dostępności. O zgodności całego serwisu to nie mówi prawie nic - a od czerwca 2025 ta luka to ryzyko prawne, nie miły dodatek. _(language: pl)_ - [Multi-page WCAG, Part 1: the machine behind 5,816 to 7](https://portfolio.sdet.it/from-the-field/multipage-wcag-v04-build-part-1): 5,816 findings across 35 pages. Four CSS commits. Seven false positives left. This is the machine behind it - the discovery layer, and why its default chain runs three strategies, not four. _(language: en)_ - [Multi-page WCAG, część 1: maszyna za 5 816 do 7](https://portfolio.sdet.pl/from-the-field/multipage-wcag-v04-build-part-1): 5 816 znalezisk na 35 stronach. Cztery commity CSS. Zostało siedem false positive. Oto maszyna za tym - warstwa discovery i czemu jej domyślny łańcuch leci trzema strategiami, nie czterema. _(language: pl)_ - [Multi-page WCAG: 4 frameworks with full route-discovery, plus 4 recognised](https://portfolio.sdet.it/from-the-field/multipage-wcag-v04-build): Single-page audit = a Lighthouse extension. Multi-page = a different problem class. Route-discovery for 4 frameworks (Astro/Next/Vue/Nuxt), 4 more recognised with a warning. _(language: en)_ - [Multi-page WCAG: 4 frameworki z pełnym route-discovery, plus 4 rozpoznawane](https://portfolio.sdet.pl/from-the-field/multipage-wcag-v04-build): Single-page audit = Lighthouse extension. Multi-page = inna klasa problemu. Route-discovery dla 4 frameworków (Astro/Next/Vue/Nuxt), 4 kolejne rozpoznawane z ostrzeżeniem. _(language: pl)_ ## Methodology (bilingual) - [Bug Reporting Methodology](https://portfolio.sdet.it/how-i-do-it/bug-reporting): How I report bugs - systematic approach with reproducible steps, impact assessment, and clear acceptance criteria. _(language: en)_ - [Metodologia raportowania bugów](https://portfolio.sdet.pl/how-i-do-it/bug-reporting): Jak raportuję bugi - systematyczne podejście z krokami do reprodukcji, oceną wpływu i jasnymi kryteriami akceptacji. _(language: pl)_ - [Playwright Class Patterns](https://portfolio.sdet.it/how-i-do-it/playwright-class): How I structure Playwright test classes - Page Object reinvented, 4-layer separation (precursor to CDAT Pattern). _(language: en)_ - [Wzorce klas w Playwright](https://portfolio.sdet.pl/how-i-do-it/playwright-class): Jak struktura­lizuję klasy testów Playwright - Page Object na nowo, 4-warstwowa separacja (prekursor wzorca CDAT). _(language: pl)_ - [Test Architecture](https://portfolio.sdet.it/how-i-do-it/test-architecture): How I design test architecture - layers, ownership, scalability across 3000+ tests in production without maintenance nightmare. _(language: en)_ - [Architektura testów](https://portfolio.sdet.pl/how-i-do-it/test-architecture): Jak projektuję architekturę testów - warstwy, odpowiedzialność, skalowalność na 3000+ testów w produkcji bez koszmaru utrzymania. _(language: pl)_ - [Test Case Writing](https://portfolio.sdet.it/how-i-do-it/test-case): How I write test cases - Given/When/Then structure, single responsibility, deterministic assertions. _(language: en)_ - [Pisanie przypadków testowych](https://portfolio.sdet.pl/how-i-do-it/test-case): Jak piszę przypadki testowe - struktura Given/When/Then, pojedyncza odpowiedzialność, deterministyczne asercje. _(language: pl)_ - [Test Plan Template](https://portfolio.sdet.it/how-i-do-it/test-plan): How I write test plans - risk-based, traceable to requirements, with explicit out-of-scope section. _(language: en)_ - [Szablon planu testów](https://portfolio.sdet.pl/how-i-do-it/test-plan): Jak piszę plany testów - oparte na ryzyku, śledzone do wymagań, z jawną sekcją out-of-scope. _(language: pl)_ ## Full content Machine-readable full content (bilingual body dump): /llms-full.txt ## Programmatic access (MCP) Model Context Protocol endpoint (HTTP JSON-RPC): /mcp Tools: list_articles (filterable by language), read_article, search, list_projects, list_ecosystem, get_about, get_metrics. --- Last updated: 2026-06-03 This file: https://portfolio.sdet.it/llms.txt (bilingual feed served identically on both domains)