HeadlessWebsiteController :: indexAction
Request
GET Parameters
No GET parameters
POST Parameters
| Key | Value |
|---|---|
| 1 | ""$@0"" |
Uploaded Files
No files were uploaded
Request Attributes
| Key | Value |
|---|---|
| _cacheLifetime | 86400 |
| _controller | "sulu_headless.controller.website::indexAction" |
| _fos_rest_zone | false |
| _route | "sulu_route.route_id_1" |
| _route_params | [ "object" => Sulu\Page\Domain\Model\PageDimensionContent {#1108 #id: ? int #page: Sulu\Page\Domain\Model\Page {#1577 …} #title: "Portfolio" #navigationContexts: Doctrine\Common\Collections\ArrayCollection {#1505 …} #created: DateTimeImmutable @1787502367 {#1294 : 2026-08-23 16:26:07.0 UTC (+00:00) } #changed: DateTimeImmutable @1787601070 {#1291 : 2026-08-24 19:51:10.0 UTC (+00:00) } #creator: null #changer: Proxies\__CG__\Sulu\Bundle\SecurityBundle\Entity\User {#1539 …} -author: null -authored: DateTimeImmutable @1787502366 {#1306 : 2026-08-23 16:26:06.0 UTC (+00:00) } -lastModified: null #locale: "pl" #ghostLocale: "pl" #availableLocales: [ "pl" "en" ] #stage: "live" -isMerged: true -version: 0 -excerptData: [] -excerptCategories: Doctrine\Common\Collections\ArrayCollection {#3253 …} -excerptTags: Doctrine\Common\Collections\ArrayCollection {#2753 …} -excerptAudienceTargetGroups: Doctrine\Common\Collections\ArrayCollection {#3367 …} -excerptSegment: null -route: Sulu\Route\Domain\Model\Route {#828 -id: 1 -webspace: "portfolio" -locale: "pl" -slug: "/" -parentRoute: null -resourceKey: "pages" -resourceId: "01a02f71-900c-7e93-839e-3c620a9cd6cd" -resourceIdCallable: null } -seoData: [] -seoNoIndex: false -seoNoFollow: false -seoHideInSitemap: false #shadowLocale: null #shadowLocales: null -templateKey: "homepage" -templateData: [ "title" => "Portfolio" "cvFile" => null "heroLead" => "<p>Inżynier Full-Stack z zapleczem naukowym.</p>" "heroName" => "Mateusz" "aboutText" => "<p>Łączę ponad 5-letnie doświadczenie komercyjne jako Full-Stack Engineer z silnym fundamentem naukowym (<i>mgr inż. kierunku Informatyczne Systemy Automatyki</i>, Politechnika Wrocławska). W projektach komercyjnych specjalizuję się w budowie dedykowanych systemów backendowych i skalowalnego e-commerce (Czysta architektura, DDD), odpowiadając za pełen cykl tworzenia oprogramowania – od frontendu, przez infrastrukturę, aż po szeroki kontekst biznesowy.</p><p> </p><p>Równolegle z pracą komercyjną projektuję rozwiązania MarTech oparte na AI oraz prowadzę badania naukowe z zakresu obliczeniowych modeli kognitywnych, identyfikacji systemów, uczenia maszynowego. W każdym z tych obszarów napędza mnie inżynierski pragmatyzm i rygor techniczny.</p>" "stackItems" => [ [ "_id" => "7cfa7c55" "name" => "PHP" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "5c32d348" "name" => "Laravel" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "494de8bf" "name" => "Symfony" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "83007899" "name" => "Python" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "6402a5af" "name" => "Django" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "1adc0f95" "name" => "FastAPI" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "c490c6d8" "name" => "JavaScript / TypeScript" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "e79cbaa4" "name" => "React" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "24aceb73" "name" => "Next.js" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "284b3f70" "name" => "TailwindCSS" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "8cc4f842" "name" => "Docker" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "83924a1b" "name" => "Linux" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "9b32e88b" "name" => "MongoDB" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "688f7f17" "name" => "MySQL" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "01be565f" "name" => "PostgreSQL" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "6399931c" "name" => "Python" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "f2452081" "name" => "Vector Databases" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "e646a26f" "name" => "PyTorch" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "11375cc5" "name" => "Redis" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "4df16a37" "name" => "Git" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "e6510141" "name" => "RAG" "type" => "item" "group" => "ai" "category" => "AI" ] ] "contactLead" => "Szukasz software engineera do zespołu lub projektu? Napisz." "heroSocials" => [ [ "_id" => "827184e9" "url" => "https://www.linkedin.com/in/mateusz-zolisz-37092420b/" "type" => "social" "label" => "LinkedIn" ] [ "_id" => "7fdcf108" "url" => "https://github.com/Zomat" "type" => "social" "label" => "GitHub" ] [ "_id" => "55df8d3e" "url" => "https://www.instagram.com/mateuszolisz/" "type" => "social" "label" => "Instagram" ] ] "contactEmail" => "mateusz.zolisz@gmail.com" "heroPortrait" => [ "id" => null "displayOption" => null ] "projectItems" => [ [ "_id" => "0c391ea5" "slug" => "ecommerce" "tech" => "Sylius · Next.js · PHP · Python · Django · Docker · Architektura Heksagonalna · Domain Driven Design · Behat" "type" => "project" "group" => "Komercyjne" "title" => "System E-commerce" "ctaLabel" => "W fazie przedprodukcyjnej..." "description" => "E-commerce dla sieci escape roomów." "fullDescription" => "<p>Platforma e-commerce w architekturze headless dla sieci escape roomów do sprzedaży voucherów prezentowych oraz przedmiotów fizycznych.</p><p>Backend oparto na silniku Sylius / Symfony (API Platform), a aplikację kliencką (storefront) wdrożono w Next.js. Całość zintegrowano z zewnętrznym systemem zarządzania klienta w Django oraz napisano do niego dedykowany moduł do obsługi voucherów.</p><p>Kluczowe elementy systemu: </p><ul><li data-list-item-id="e4943db86109e58371985b6ac6e32be95"><strong>Dedykowany system voucherów</strong>: Obsługa elektronicznych i fizycznych kart podarunkowych (przypisanych do konkretnego pokoju, wartościowych oraz pakietów premium z dodatkowymi gadżetami). Automatyczne generowanie plików PDF gotowych do druku, opcja realizacji online lub stacjonarnie oraz pełne śledzenie historii cen zgodnie z dyrektywą Omnibus.</li><li data-list-item-id="ecd2188b6f38b509284bb477f4fd6f849"> <strong>Architektura integracyjna (Multi-service)</strong>: Synchroniczna i asynchroniczna (Symfony Messenger / Redis) komunikacja z systemem rezerwacji, usługą logistyczną Furgonetka oraz operatorem płatności Przelewy24. Dla zapewnienia niezawodności przy awariach zewnętrznych API wdrożono mechanizmy retry/backoff oraz dead-letter queues (DLQ). </li><li data-list-item-id="e4f0cb373e04cab912523500b714d7e60"><strong>Headless Checkout</strong>: Dedykowane API wystawiające dla Next.js logikę koszyka, promocji katalogowych, wyliczania czasu i kosztów dostawy, a także komunikatów prawnych (szacowany czas doręczenia, najniższa cena z ostatnich 30 dni). Obsługa ścieżki zakupowej zarówno dla gości, jak i zarejestrowanych użytkowników. </li><li data-list-item-id="e231a9e1f2e0a25d3a2e06406841df25b"><strong>Rozbudowane narzędzia administracyjne</strong>: Znaczne rozszerzenie panelu admina w Syliusie o niestandardową konfigurację produktów i voucherów, logikę zarządzania cenami, dedykowane przepływy (workflows) realizacji zamówień oraz mechanizmy anonimizacji danych klientów zgodnie z RODO.</li></ul>" ] [ "_id" => "808e50a3" "url" => "https://jezykidlakazdego.pl" "slug" => "jdk" "tech" => "PHP · Laravel · Livewire · Alpine.js · Builder.io" "type" => "project" "group" => "Komercyjne" "title" => "JezykiDlaKazdego.pl" "ctaLabel" => "Strona produkcyjna" "description" => "Sklep internetowy do sprzedaży kursów i lekcji online" "fullDescription" => "<p>Aplikacja webowa zbudowana jako sklep internetowy sprzedający materiały do nauki języków: kursy wideo, e-booki i lekcje cyfrowe. </p><p>Kluczowe funkcjonalności: </p><ul><li data-list-item-id="e64bcde496627f231ccb0bcb0217aef11"><strong>Sklep i checkout</strong> — katalog produktów, koszyk, integracja płatności (Przelewy24), generowanie faktur PDF</li><li data-list-item-id="ecc7b53183bc518dd41db713ea1433258"><strong>Zaawansowany system promocji oraz lejków sprzedażowych </strong>— oferty dla konkretnych klientów, integracja z quizami, promocje ograniczone czasowo</li><li data-list-item-id="ed130afc47b11ee759efe25a398f30e91"><strong>Panel klienta</strong> — dostęp do zakupionych produktów (kursy, e-booki, lekcje), historia zamówień, pobieranie plików i faktur, materiały wideo (integracja z Vimeo)</li><li data-list-item-id="eeceb19438742fd779e8df9fd195bd469"><strong>Panel administracyjny </strong>— zarządzanie produktami, klientami, zamówieniami, blogiem i zdjęciami produktów </li><li data-list-item-id="ef05ea84fbe58b0a6ac5f95d153bdd2c0"><strong>Integracja</strong> <strong>z Builder.io </strong> — klientka może samodzielnie edytować oraz tworzyć podstrony marketingowe</li><li class="ck-list-marker-bold" data-list-item-id="e250bc5aaffee863bd650909232533cf0"><strong>Blog </strong></li><li data-list-item-id="e0986869deea8651e8963367a613f4ef8"><strong>Uwierzytelnianie i zarządzanie kontem</strong> przez Laravel Jetstream/Fortify</li></ul>" ] [ "_id" => "8e939609" "slug" => "crm" "tech" => "PHP · Laravel · Livewire · Czysta Architektura · Domain Driven Design · Behat · PHPUnit" "type" => "project" "group" => "Komercyjne" "title" => "System zarządzania kadrami i rozliczeniami dla firm budowlanych" "ctaLabel" => "Wewnętrzne narzędzie firmy" "description" => "Aplikacja webowa w wspierająca firmy budowlane w zarządzaniu pracownikami, projektami i rozliczeniami wynagrodzeń. System obsługuje pełny cykl pracy brygad budowlanych — od ewidencji dniówek po generowanie raportów płacowych." "fullDescription" => "<p><strong>Kluczowe funkcjonalności:</strong></p><ul><li data-list-item-id="e6fc9009a2b1ddaed66c9ad2edac6fe6f"><strong>Zarządzanie personelem i strukturą firm:</strong> Kompleksowa obsługa kartotek pracowniczych, definiowanie stawek (godzinowych i dniówkowych), zarządzanie statusami zatrudnienia oraz przypisywanie pracowników do konkretnych podmiotów i projektów.</li><li data-list-item-id="e3386ef7a22561ac5e3ea9b53379b745f"><strong>Ewidencja czasu pracy:</strong> Rejestracja obecności i przepracowanych dniówek oraz obsługa list brygadzistów, rozszerzona o możliwość dodawania dokumentacji fotograficznej.</li><li data-list-item-id="eff022d505861167842a6458d83d1e46a"><strong>Rozliczenia finansowe:</strong> Automatyzacja kalkulacji wynagrodzeń, uwzględniająca elastyczne zarządzanie zaliczkami oraz potrąceniami pracowniczymi.</li><li data-list-item-id="e78a8686c88b8a45e3d15ab50ef61a955"><strong>Zaawansowane raportowanie:</strong> Automatyczne generowanie miesięcznych podsumowań projektowych i zestawień czasu pracy z bezproblemowym eksportem do formatów PDF i Excel.</li><li data-list-item-id="e45819e8ca07dcd636e4a50ea7bf5e99c"><strong>Monitoring i audyt:</strong> Rozbudowany dziennik zdarzeń (event log) śledzący kluczowe operacje i ogólną aktywność użytkowników w systemie.</li></ul><p><strong>Architektura i stos technologiczny:</strong></p><ul><li data-list-item-id="e17fdcd8b4d1bf63ea341717dd3bd9d41"><strong>Backend:</strong> PHP 8 / Laravel 9, oparty na architekturze modularnej, która zapewnia ścisły podział na niezależne konteksty biznesowe.</li><li data-list-item-id="ea6a87d02383368e530f8f7fe973618ee"><strong>Frontend:</strong> Laravel Livewire połączony z Tailwind CSS – dostarczanie dynamicznych i reaktywnych interfejsów użytkownika (UI) bez narzutu technologicznego pełnych aplikacji SPA.</li><li data-list-item-id="ec385557ff9cbdb8b30c15c0df4e65ae7"><strong>Wzorce projektowe:</strong> Zastosowanie architektury heksagonalnej oraz taktycznego podejścia Domain-Driven Design (DDD).</li><li data-list-item-id="e48c770712524f69ca7a71fb4fb46eb66"><strong>Przetwarzanie danych:</strong> Zaawansowane generowanie dokumentów PDF i arkuszy Excel, a także automatyczny eksport danych do masowych przelewów bankowych zgodnie ze standardem SEPA.</li><li data-list-item-id="e47968e02120a2485a96c838ad501bc66"><strong>Zapewnienie jakości (QA):</strong> Kompleksowe testowanie aplikacji z wykorzystaniem PHPUnit (testy jednostkowe) oraz frameworka Behat (testy behawioralne/BDD).</li></ul>" ] [ "_id" => "65640215" "slug" => "iccci2026" "tech" => "Python" "type" => "project" "group" => "Nauka" "title" => "When Interpretable Parameters Fail to Explain: Evidence from the Rescorla-Wagner Model" "ctaLabel" => "W druku" "description" => "Współautor publikacji naukowej na ICCCI 2026 | Politechnika Wrocławska" "fullDescription" => "<p>Interpretowalne parametry w modelach uczenia ze wzmocnieniem (RL) są powszechnie używane do mechanistycznego wyjaśniania ludzkich zachowań. W artykule udowadniamy, że ta praktyka może zawodzić nawet w przypadku minimalnego agenta Rescorla-Wagner. </p><p><strong>Kluczowe tezy i wyniki:</strong></p><ul><li data-list-item-id="e1022283fb2332acad95f4b5a5f0b771a">Anizotropowa geometria wiarygodności: Wykazaliśmy, że diametralnie różne kombinacje tempa uczenia oraz stochastyczności wyboru mogą równie dobrze dopasowywać się do tych samych sekwencji (w zadaniu Probabilistic Learning Task) przy estymacji największej wiarygodności (MLE). </li><li data-list-item-id="e1611e3077e533d790616fd97f765151d">Zniekształcenia estymacji: Zjawisko to prowadzi do ustrukturyzowanych błędów, rozkładów scaled vector error (SVE) o grubych ogonach, uderzeń w granice (boundary hits) oraz nakładania się na siebie odzyskanych dystrybucji parametrów z różnych reżimów. Diagnostyka siatkowa dodatkowo pokazuje, że jakość odzyskiwania parametrów silnie waha się w obrębie generującej przestrzeni parametrów.</li><li data-list-item-id="e6b4f2aa1b0622a030c2be65f32465baf">Autorski workflow diagnostyczny: Aby uwidocznić powyższe ograniczenia, zaproponowaliśmy przepływ pracy, który łączy analizę geometrii wiarygodności, diagnostykę błędów brzegowych oraz siatkową weryfikację odzyskiwania parametrów (grid-based parameter recovery). </li><li data-list-item-id="e30bd313c32c7246f0c033cfef33fa07b">Wartość praktyczna: Nasze rozwiązanie dostarcza procedury pozwalającej ocenić, kiedy dopasowane parametry są wystarczająco silnie ograniczone przez dane, aby opierać na nich wiarygodne wyjaśnienia oparte na parametrach, a kiedy takie twierdzenia powinny zostać opatrzone odpowiednimi zastrzeżeniami.</li></ul>" ] [ "_id" => "03cf8b65" "slug" => "magisterka" "tech" => "Python · SciPy · NumPy · emcee · metody Monte Carlo · statystyka bayesowska · modelowanie matematyczne · optymalizacja numeryczna" "type" => "project" "group" => "Nauka" "title" => "Identyfikowalność i wyjaśnialność modeli uczenia z nagród i kar na przykładzie Iowa Gambling Task" "description" => "Współczesne systemy sztucznej inteligencji, choć skuteczne, często działają jako „czarne skrzynki”. W branżach regulowanych (medycyna, finanse) kluczowe jest stosowanie modeli, które nie tylko przewidują, ale też wyjaśniają mechanizm podejmowania decyzji." "fullDescription" => "<p>W ramach tego projektu przeprowadziłem <strong>kompleksowy audyt stabilności i wiarygodności wiodących modeli uczenia ze wzmocnieniem (RL)</strong> symulujących zachowania decyzyjne. Zaprojektowałem autorską architekturę o znacznie wyższej odporności na szum oraz stworzyłem rygorystyczny, uniwersalny potok diagnostyczny, który matematycznie weryfikuje, kiedy i w jakim stopniu można zaufać wyjaśnieniom generowanym przez algorytmy AI.</p><p> </p><h2><strong>Główne osiągnięcia i wkład inżynieryjny</strong></h2><ul><li data-list-item-id="ee1b8049f263e225dafa2d0ecee8da1f7"><strong>Zaprojektowanie odpornej architektury RL (podwojenie stabilności modelu):</strong> Opracowałem i przetestowałem autorski model uczenia ze wzmocnieniem, który łączy asymetryczną ocenę ryzyka (Teorię Perspektywy) z dynamicznym śledzeniem niepewności (mechanizm inspirowany Filtrem Kalmana). Nowa architektura pozwoliła na <strong>podwojenie stabilności estymacji parametrów (wzrost z ~38% w modelach referencyjnych do aż 76,2% całej przestrzeni roboczej)</strong>, co drastycznie zwiększa rzetelność generowanych wyjaśnień.</li><li data-list-item-id="eba28ac907dcb285a0f12cdf38a1f45c9"><strong>Budowa potoku symulacyjnego (stress-testing na poziomie 50k+ prób):</strong> Zaprojektowałem i wdrożyłem wielopoziomowy potok walidacyjny oparty na wielowymiarowym próbkowaniu przestrzeni (Latin Hypercube Sampling) oraz metodach bootstrapowych. Dzięki temu zdemaskowałem krytyczne wady powszechnie stosowanej estymacji punktowej (MLE) i udowodniłem, że standardowe metryki raportujące błędy (oparte na macierzy Hessego) wykazują skrajną nadpewność (<i>overconfidence</i>), co w realnych wdrożeniach grozi podejmowaniem błędnych decyzji na podstawie losowego szumu.</li><li data-list-item-id="e1a5b1a5d27348692ac603e12ad808286"><strong>Wdrożenie bayesowskiego audytu modeli (przełamywanie ograniczeń optymalizatorów):</strong> Zastąpiłem klasyczną, punktową optymalizację gradientową probabilistycznym próbkowaniem bayesowskim przy użyciu metod Monte Carlo (MCMC). Stworzyłem framework, który potrafi <strong>wydobyć czysty sygnał informacyjny z bardzo zaszumionych sekwencji danych w 96% przypadków</strong>, w których tradycyjne algorytmy gradientowe poddawały się i błędnie klasyfikowały parametry jako całkowicie nieodzyskiwalne.</li><li data-list-item-id="e378a8031d3feb4d1fc9f146a0a011ace"><strong>Odkrycie dysocjacji diagnostycznej (wiarygodna klasyfikacja mimo szumu):</strong> Opracowałem metodologię mapowania globalnej przestrzeni zachowań systemów decyzyjnych (PSP) i nałożyłem ją na rozkłady błędów estymacji. Udowodniłem, że <strong>wysokopoziomowa klasyfikacja strategii i segmentacja użytkowników pozostaje w pełni stabilna i bezpieczna</strong>, nawet gdy szczegółowe parametry ilościowe na najniższym poziomie są obarczone silnym szumem numerycznym. Pozwala to na bezpieczne wdrażanie systemów kategoryzacji o bardzo wysokim stopniu pewności.</li><li data-list-item-id="ed47fec424b84a14cc2be60d7a4bcc060"><strong>Mitygacja ryzyka błędu systematycznego w personalizacji modeli:</strong> Przeprowadziłem rygorystyczną analizę wpływu metod hierarchicznego dociągania parametrów do średniej (<i>shrinkage</i>). Wykazałem, że popularne techniki uśredniające maskują unikalne, atypowe zachowania (np. anomalie czy rzadkie patologie), sztucznie dociągając je do "normy". Sformułowałem rygorystyczny postulat stress-testowania modeli na "czystych danych" (flat priors) w celu ochrony systemów AI przed błędami algorytmicznymi i niezamierzoną dyskryminacją unikalnych profili.</li></ul>" ] [ "_id" => "a06f3075" "slug" => "influencer-marketing" "tech" => "Python · FastAPI · Qdrant · Next.js · Docker · LLM" "type" => "project" "group" => "Prywatne" "title" => "Platforma influencer marketingu" "ctaLabel" => "W trakcie budowy" "description" => "Startup na wczesnym etapie, łączący marki z twórcami internetowymi. Automatyczna wycena współpracy, dopasowanie influencerów do kampanii i klasyfikacja profili — oparte o modele ML zamiast ręcznej pracy analityków. " "fullDescription" => "<p>Projektuję i rozwijam warstwę ML/AI jako rdzeń produktu — główne źródło wartości biznesowej, nie dodatek do aplikacji.</p><p><strong>Obszary ML/AI, nad którymi pracuję:</strong></p><ul><li data-list-item-id="eb00d5d8d1a41e8b6d2bc96c4e7068a9a"><strong>Silnik wyceny</strong> — model estymujący widełki cenowe współpracy na podstawie danych rynkowych i profilu twórcy, łączący kilka niezależnych sygnałów w jeden wynik z komunikowaną niepewnością (przedział, nie pojedyncza liczba)</li><li data-list-item-id="e3a9bca5e1fcc90cb52f8b2b9f4dbdec9"><strong>Scoring i klasyfikacja profili</strong> — wielosygnałowa, interpretowalna klasyfikacja typu konta i kategorii tematycznej; świadomy wybór modelu, który da się wyjaśnić, zamiast czarnej skrzynki</li><li data-list-item-id="ea56c4358836b06d2c57edde75fcd2c6d"><strong>Dopasowanie marka↔twórca</strong> — ocena zgodności profilu z briefem kampanii wspierana modelem językowym, z ustrukturyzowanym promptowaniem i walidacją odpowiedzi</li><li data-list-item-id="eda9fec80f3d8eda3dfb44d0512ca103a"><strong>Wyszukiwanie semantyczne</strong> — indeksowanie profili w bazie wektorowej pod kątem podobieństwa tematycznego, uzupełniające klasyczne filtry</li><li data-list-item-id="ec9609021c47189f67013433dba61dad6"><strong>Optymalizacja doboru kampanii</strong> — algorytm dobierający zestaw twórców maksymalizujący efekt kampanii w ramach zadanego budżetu</li></ul><p><strong>Praktyki inżynierii ML, na których mi zależy:</strong></p><ul><li data-list-item-id="e5371af5e3de108ef6366cdd3891be127">Wersjonowanie logiki decyzyjnej — żeby dało się odtworzyć historyczny wynik i bezpiecznie testować nowe podejścia obok sprawdzonych</li><li data-list-item-id="e78b094ed4fea67c91b844607325c5607">Testy charakteryzujące dla logiki obliczeniowej — bezpieczny refaktor i strojenie modeli bez ręcznej regresji</li><li data-list-item-id="e29af8067f390e9935d67e399e4eb350f">Czyste rozdzielenie reguł domenowych od infrastruktury — modele testowalne w izolacji</li></ul><p> </p>" ] ] "contactCvLabel" => null "contactHeading" => "Porozmawiajmy" "heroCtaCvLabel" => "CV" "heroNameAccent" => "Zolisz" "footerCopyright" => "© 2026 Mateusz Zolisz" "aboutResearchTags" => [ [ "_id" => "7ce829e4" "type" => "tag" "label" => "Uczenie Maszynowe" ] [ "_id" => "5e1338af" "type" => "tag" "label" => "Identyfikacja Systemów" ] [ "_id" => "8675528c" "type" => "tag" "label" => "Teoria Sterowania" ] [ "_id" => "a47ab6de" "type" => "tag" "label" => "Statystyka" ] [ "_id" => "0e620052" "type" => "tag" "label" => "Sztuczna Inteligencja" ] ] "aboutResearchText" => "<p>Jako entuzjasta uczenia maszynowego interesuję się modelowaniem procesów kognitywnych, systemami uczącymi się i automatyką. Aktywnie szukam okazji do współpracy przy projektach badawczych i publikacjach naukowych.</p>" "heroLocationLabel" => "Wrocław, Polska - 2026" "aboutResearchTitle" => "Zainteresowania naukowe" "heroCtaPrimaryHref" => "#kontakt" "heroCtaPrimaryLabel" => "Zatrudnij mnie" "heroAvailabilityLabel" => "Dostępny do współpracy" "url" => "/" ] -linkProvider: null -linkData: null #workflowPlace: null #workflowPublished: DateTimeImmutable @1787502367 {#1309 : 2026-08-23 16:26:07.0 UTC (+00:00) } } "view" => "pages/homepage" "_cacheLifetime" => 86400 "_sulu_route" => Sulu\Route\Domain\Model\Route {#828} ] |
| _stopwatch_token | "86a0f8" |
| _sulu | Sulu\Component\Webspace\Analyzer\Attributes\RequestAttributes {#506 -attributes: [ "requestUri" => "/" "portalInformation" => Sulu\Component\Webspace\PortalInformation {#501 -type: 1 -webspace: Sulu\Component\Webspace\Webspace {#472 -name: "Portfolio" -key: "portfolio" -localizations: [ Sulu\Component\Localization\Localization {#473 -language: "pl" -country: "" -shadow: "" -children: [] -parent: null -default: true } Sulu\Component\Localization\Localization {#475 -language: "en" -country: "" -shadow: "" -children: [] -parent: null -default: false } ] -defaultLocalization: Sulu\Component\Localization\Localization {#473} -segments: [] -defaultSegment: null -theme: null -portals: [ Sulu\Component\Webspace\Portal {#479 -name: "Portfolio" -key: "portfolio" -localizations: [ Sulu\Component\Localization\Localization {#480 …} Sulu\Component\Localization\Localization {#481 -language: "en" -country: "" -shadow: null -children: [] -parent: null -default: "" } ] -defaultLocalization: Sulu\Component\Localization\Localization {#480 …} -environments: [ "prod" => Sulu\Component\Webspace\Environment {#482 -type: "prod" -urls: [ Sulu\Component\Webspace\Url {#483 …} Sulu\Component\Webspace\Url {#484 -language: "en" -country: "" -segment: "" -redirect: "" -main: false -url: "{host}/en" -environment: "prod" } ] -customUrls: [] -mainUrl: Sulu\Component\Webspace\Url {#483 …} } "stage" => Sulu\Component\Webspace\Environment {#485 -type: "stage" -urls: [ Sulu\Component\Webspace\Url {#486 …} Sulu\Component\Webspace\Url {#487 -language: "en" -country: "" -segment: "" -redirect: "" -main: false -url: "{host}/en" -environment: "stage" } ] -customUrls: [] -mainUrl: Sulu\Component\Webspace\Url {#486 …} } "test" => Sulu\Component\Webspace\Environment {#488 -type: "test" -urls: [ Sulu\Component\Webspace\Url {#489 …} Sulu\Component\Webspace\Url {#490 -language: "en" -country: "" -segment: "" -redirect: "" -main: false -url: "{host}/en" -environment: "test" } ] -customUrls: [] -mainUrl: Sulu\Component\Webspace\Url {#489 …} } "dev" => Sulu\Component\Webspace\Environment {#491 -type: "dev" -urls: [ Sulu\Component\Webspace\Url {#492 …} Sulu\Component\Webspace\Url {#493 -language: "en" -country: "" -segment: "" -redirect: "" -main: false -url: "{host}/en" -environment: "dev" } ] -customUrls: [] -mainUrl: Sulu\Component\Webspace\Url {#492 …} } ] -webspace: Sulu\Component\Webspace\Webspace {#472} } ] -security: null -navigation: Sulu\Component\Webspace\Navigation {#476 …} -templates: [ "search" => "search/search" "error" => "error/error" ] -defaultTemplates: [ "page" => "default" "home" => "homepage" ] -excludedTemplates: [] -resourceLocatorStrategy: "tree_leaf_edit" } -portal: Sulu\Component\Webspace\Portal {#479} -localization: Sulu\Component\Localization\Localization {#473} -url: "cms.zolisz.pl" -redirect: "" -main: true -urlExpression: "cms.zolisz.pl" -priority: 5 } "matchType" => 1 "portalUrl" => "cms.zolisz.pl" "webspace" => Sulu\Component\Webspace\Webspace {#472} "portal" => Sulu\Component\Webspace\Portal {#479} "localization" => Sulu\Component\Localization\Localization {#473} "locale" => "pl" "urlExpression" => "cms.zolisz.pl" "resourceLocator" => "/" "dateTime" => DateTime @1792726710 {#502 : 2026-10-23 03:38:30.342225 UTC (+00:00) } "host" => "cms.zolisz.pl" "port" => 80 "path" => "/" "scheme" => "http" ] } |
| _sulu_route | Sulu\Route\Domain\Model\Route {#828 -id: 1 -webspace: "portfolio" -locale: "pl" -slug: "/" -parentRoute: null -resourceKey: "pages" -resourceId: "01a02f71-900c-7e93-839e-3c620a9cd6cd" -resourceIdCallable: null } |
| object | Sulu\Page\Domain\Model\PageDimensionContent {#1108 #id: ? int #page: Sulu\Page\Domain\Model\Page {#1577 …} #title: "Portfolio" #navigationContexts: Doctrine\Common\Collections\ArrayCollection {#1505 …} #created: DateTimeImmutable @1787502367 {#1294 : 2026-08-23 16:26:07.0 UTC (+00:00) } #changed: DateTimeImmutable @1787601070 {#1291 : 2026-08-24 19:51:10.0 UTC (+00:00) } #creator: null #changer: Proxies\__CG__\Sulu\Bundle\SecurityBundle\Entity\User {#1539 …} -author: null -authored: DateTimeImmutable @1787502366 {#1306 : 2026-08-23 16:26:06.0 UTC (+00:00) } -lastModified: null #locale: "pl" #ghostLocale: "pl" #availableLocales: [ "pl" "en" ] #stage: "live" -isMerged: true -version: 0 -excerptData: [] -excerptCategories: Doctrine\Common\Collections\ArrayCollection {#3253 …} -excerptTags: Doctrine\Common\Collections\ArrayCollection {#2753 …} -excerptAudienceTargetGroups: Doctrine\Common\Collections\ArrayCollection {#3367 …} -excerptSegment: null -route: Sulu\Route\Domain\Model\Route {#828 -id: 1 -webspace: "portfolio" -locale: "pl" -slug: "/" -parentRoute: null -resourceKey: "pages" -resourceId: "01a02f71-900c-7e93-839e-3c620a9cd6cd" -resourceIdCallable: null } -seoData: [] -seoNoIndex: false -seoNoFollow: false -seoHideInSitemap: false #shadowLocale: null #shadowLocales: null -templateKey: "homepage" -templateData: [ "title" => "Portfolio" "cvFile" => null "heroLead" => "<p>Inżynier Full-Stack z zapleczem naukowym.</p>" "heroName" => "Mateusz" "aboutText" => "<p>Łączę ponad 5-letnie doświadczenie komercyjne jako Full-Stack Engineer z silnym fundamentem naukowym (<i>mgr inż. kierunku Informatyczne Systemy Automatyki</i>, Politechnika Wrocławska). W projektach komercyjnych specjalizuję się w budowie dedykowanych systemów backendowych i skalowalnego e-commerce (Czysta architektura, DDD), odpowiadając za pełen cykl tworzenia oprogramowania – od frontendu, przez infrastrukturę, aż po szeroki kontekst biznesowy.</p><p> </p><p>Równolegle z pracą komercyjną projektuję rozwiązania MarTech oparte na AI oraz prowadzę badania naukowe z zakresu obliczeniowych modeli kognitywnych, identyfikacji systemów, uczenia maszynowego. W każdym z tych obszarów napędza mnie inżynierski pragmatyzm i rygor techniczny.</p>" "stackItems" => [ [ "_id" => "7cfa7c55" "name" => "PHP" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "5c32d348" "name" => "Laravel" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "494de8bf" "name" => "Symfony" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "83007899" "name" => "Python" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "6402a5af" "name" => "Django" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "1adc0f95" "name" => "FastAPI" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "c490c6d8" "name" => "JavaScript / TypeScript" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "e79cbaa4" "name" => "React" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "24aceb73" "name" => "Next.js" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "284b3f70" "name" => "TailwindCSS" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "8cc4f842" "name" => "Docker" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "83924a1b" "name" => "Linux" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "9b32e88b" "name" => "MongoDB" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "688f7f17" "name" => "MySQL" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "01be565f" "name" => "PostgreSQL" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "6399931c" "name" => "Python" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "f2452081" "name" => "Vector Databases" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "e646a26f" "name" => "PyTorch" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "11375cc5" "name" => "Redis" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "4df16a37" "name" => "Git" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "e6510141" "name" => "RAG" "type" => "item" "group" => "ai" "category" => "AI" ] ] "contactLead" => "Szukasz software engineera do zespołu lub projektu? Napisz." "heroSocials" => [ [ "_id" => "827184e9" "url" => "https://www.linkedin.com/in/mateusz-zolisz-37092420b/" "type" => "social" "label" => "LinkedIn" ] [ "_id" => "7fdcf108" "url" => "https://github.com/Zomat" "type" => "social" "label" => "GitHub" ] [ "_id" => "55df8d3e" "url" => "https://www.instagram.com/mateuszolisz/" "type" => "social" "label" => "Instagram" ] ] "contactEmail" => "mateusz.zolisz@gmail.com" "heroPortrait" => [ "id" => null "displayOption" => null ] "projectItems" => [ [ "_id" => "0c391ea5" "slug" => "ecommerce" "tech" => "Sylius · Next.js · PHP · Python · Django · Docker · Architektura Heksagonalna · Domain Driven Design · Behat" "type" => "project" "group" => "Komercyjne" "title" => "System E-commerce" "ctaLabel" => "W fazie przedprodukcyjnej..." "description" => "E-commerce dla sieci escape roomów." "fullDescription" => "<p>Platforma e-commerce w architekturze headless dla sieci escape roomów do sprzedaży voucherów prezentowych oraz przedmiotów fizycznych.</p><p>Backend oparto na silniku Sylius / Symfony (API Platform), a aplikację kliencką (storefront) wdrożono w Next.js. Całość zintegrowano z zewnętrznym systemem zarządzania klienta w Django oraz napisano do niego dedykowany moduł do obsługi voucherów.</p><p>Kluczowe elementy systemu: </p><ul><li data-list-item-id="e4943db86109e58371985b6ac6e32be95"><strong>Dedykowany system voucherów</strong>: Obsługa elektronicznych i fizycznych kart podarunkowych (przypisanych do konkretnego pokoju, wartościowych oraz pakietów premium z dodatkowymi gadżetami). Automatyczne generowanie plików PDF gotowych do druku, opcja realizacji online lub stacjonarnie oraz pełne śledzenie historii cen zgodnie z dyrektywą Omnibus.</li><li data-list-item-id="ecd2188b6f38b509284bb477f4fd6f849"> <strong>Architektura integracyjna (Multi-service)</strong>: Synchroniczna i asynchroniczna (Symfony Messenger / Redis) komunikacja z systemem rezerwacji, usługą logistyczną Furgonetka oraz operatorem płatności Przelewy24. Dla zapewnienia niezawodności przy awariach zewnętrznych API wdrożono mechanizmy retry/backoff oraz dead-letter queues (DLQ). </li><li data-list-item-id="e4f0cb373e04cab912523500b714d7e60"><strong>Headless Checkout</strong>: Dedykowane API wystawiające dla Next.js logikę koszyka, promocji katalogowych, wyliczania czasu i kosztów dostawy, a także komunikatów prawnych (szacowany czas doręczenia, najniższa cena z ostatnich 30 dni). Obsługa ścieżki zakupowej zarówno dla gości, jak i zarejestrowanych użytkowników. </li><li data-list-item-id="e231a9e1f2e0a25d3a2e06406841df25b"><strong>Rozbudowane narzędzia administracyjne</strong>: Znaczne rozszerzenie panelu admina w Syliusie o niestandardową konfigurację produktów i voucherów, logikę zarządzania cenami, dedykowane przepływy (workflows) realizacji zamówień oraz mechanizmy anonimizacji danych klientów zgodnie z RODO.</li></ul>" ] [ "_id" => "808e50a3" "url" => "https://jezykidlakazdego.pl" "slug" => "jdk" "tech" => "PHP · Laravel · Livewire · Alpine.js · Builder.io" "type" => "project" "group" => "Komercyjne" "title" => "JezykiDlaKazdego.pl" "ctaLabel" => "Strona produkcyjna" "description" => "Sklep internetowy do sprzedaży kursów i lekcji online" "fullDescription" => "<p>Aplikacja webowa zbudowana jako sklep internetowy sprzedający materiały do nauki języków: kursy wideo, e-booki i lekcje cyfrowe. </p><p>Kluczowe funkcjonalności: </p><ul><li data-list-item-id="e64bcde496627f231ccb0bcb0217aef11"><strong>Sklep i checkout</strong> — katalog produktów, koszyk, integracja płatności (Przelewy24), generowanie faktur PDF</li><li data-list-item-id="ecc7b53183bc518dd41db713ea1433258"><strong>Zaawansowany system promocji oraz lejków sprzedażowych </strong>— oferty dla konkretnych klientów, integracja z quizami, promocje ograniczone czasowo</li><li data-list-item-id="ed130afc47b11ee759efe25a398f30e91"><strong>Panel klienta</strong> — dostęp do zakupionych produktów (kursy, e-booki, lekcje), historia zamówień, pobieranie plików i faktur, materiały wideo (integracja z Vimeo)</li><li data-list-item-id="eeceb19438742fd779e8df9fd195bd469"><strong>Panel administracyjny </strong>— zarządzanie produktami, klientami, zamówieniami, blogiem i zdjęciami produktów </li><li data-list-item-id="ef05ea84fbe58b0a6ac5f95d153bdd2c0"><strong>Integracja</strong> <strong>z Builder.io </strong> — klientka może samodzielnie edytować oraz tworzyć podstrony marketingowe</li><li class="ck-list-marker-bold" data-list-item-id="e250bc5aaffee863bd650909232533cf0"><strong>Blog </strong></li><li data-list-item-id="e0986869deea8651e8963367a613f4ef8"><strong>Uwierzytelnianie i zarządzanie kontem</strong> przez Laravel Jetstream/Fortify</li></ul>" ] [ "_id" => "8e939609" "slug" => "crm" "tech" => "PHP · Laravel · Livewire · Czysta Architektura · Domain Driven Design · Behat · PHPUnit" "type" => "project" "group" => "Komercyjne" "title" => "System zarządzania kadrami i rozliczeniami dla firm budowlanych" "ctaLabel" => "Wewnętrzne narzędzie firmy" "description" => "Aplikacja webowa w wspierająca firmy budowlane w zarządzaniu pracownikami, projektami i rozliczeniami wynagrodzeń. System obsługuje pełny cykl pracy brygad budowlanych — od ewidencji dniówek po generowanie raportów płacowych." "fullDescription" => "<p><strong>Kluczowe funkcjonalności:</strong></p><ul><li data-list-item-id="e6fc9009a2b1ddaed66c9ad2edac6fe6f"><strong>Zarządzanie personelem i strukturą firm:</strong> Kompleksowa obsługa kartotek pracowniczych, definiowanie stawek (godzinowych i dniówkowych), zarządzanie statusami zatrudnienia oraz przypisywanie pracowników do konkretnych podmiotów i projektów.</li><li data-list-item-id="e3386ef7a22561ac5e3ea9b53379b745f"><strong>Ewidencja czasu pracy:</strong> Rejestracja obecności i przepracowanych dniówek oraz obsługa list brygadzistów, rozszerzona o możliwość dodawania dokumentacji fotograficznej.</li><li data-list-item-id="eff022d505861167842a6458d83d1e46a"><strong>Rozliczenia finansowe:</strong> Automatyzacja kalkulacji wynagrodzeń, uwzględniająca elastyczne zarządzanie zaliczkami oraz potrąceniami pracowniczymi.</li><li data-list-item-id="e78a8686c88b8a45e3d15ab50ef61a955"><strong>Zaawansowane raportowanie:</strong> Automatyczne generowanie miesięcznych podsumowań projektowych i zestawień czasu pracy z bezproblemowym eksportem do formatów PDF i Excel.</li><li data-list-item-id="e45819e8ca07dcd636e4a50ea7bf5e99c"><strong>Monitoring i audyt:</strong> Rozbudowany dziennik zdarzeń (event log) śledzący kluczowe operacje i ogólną aktywność użytkowników w systemie.</li></ul><p><strong>Architektura i stos technologiczny:</strong></p><ul><li data-list-item-id="e17fdcd8b4d1bf63ea341717dd3bd9d41"><strong>Backend:</strong> PHP 8 / Laravel 9, oparty na architekturze modularnej, która zapewnia ścisły podział na niezależne konteksty biznesowe.</li><li data-list-item-id="ea6a87d02383368e530f8f7fe973618ee"><strong>Frontend:</strong> Laravel Livewire połączony z Tailwind CSS – dostarczanie dynamicznych i reaktywnych interfejsów użytkownika (UI) bez narzutu technologicznego pełnych aplikacji SPA.</li><li data-list-item-id="ec385557ff9cbdb8b30c15c0df4e65ae7"><strong>Wzorce projektowe:</strong> Zastosowanie architektury heksagonalnej oraz taktycznego podejścia Domain-Driven Design (DDD).</li><li data-list-item-id="e48c770712524f69ca7a71fb4fb46eb66"><strong>Przetwarzanie danych:</strong> Zaawansowane generowanie dokumentów PDF i arkuszy Excel, a także automatyczny eksport danych do masowych przelewów bankowych zgodnie ze standardem SEPA.</li><li data-list-item-id="e47968e02120a2485a96c838ad501bc66"><strong>Zapewnienie jakości (QA):</strong> Kompleksowe testowanie aplikacji z wykorzystaniem PHPUnit (testy jednostkowe) oraz frameworka Behat (testy behawioralne/BDD).</li></ul>" ] [ "_id" => "65640215" "slug" => "iccci2026" "tech" => "Python" "type" => "project" "group" => "Nauka" "title" => "When Interpretable Parameters Fail to Explain: Evidence from the Rescorla-Wagner Model" "ctaLabel" => "W druku" "description" => "Współautor publikacji naukowej na ICCCI 2026 | Politechnika Wrocławska" "fullDescription" => "<p>Interpretowalne parametry w modelach uczenia ze wzmocnieniem (RL) są powszechnie używane do mechanistycznego wyjaśniania ludzkich zachowań. W artykule udowadniamy, że ta praktyka może zawodzić nawet w przypadku minimalnego agenta Rescorla-Wagner. </p><p><strong>Kluczowe tezy i wyniki:</strong></p><ul><li data-list-item-id="e1022283fb2332acad95f4b5a5f0b771a">Anizotropowa geometria wiarygodności: Wykazaliśmy, że diametralnie różne kombinacje tempa uczenia oraz stochastyczności wyboru mogą równie dobrze dopasowywać się do tych samych sekwencji (w zadaniu Probabilistic Learning Task) przy estymacji największej wiarygodności (MLE). </li><li data-list-item-id="e1611e3077e533d790616fd97f765151d">Zniekształcenia estymacji: Zjawisko to prowadzi do ustrukturyzowanych błędów, rozkładów scaled vector error (SVE) o grubych ogonach, uderzeń w granice (boundary hits) oraz nakładania się na siebie odzyskanych dystrybucji parametrów z różnych reżimów. Diagnostyka siatkowa dodatkowo pokazuje, że jakość odzyskiwania parametrów silnie waha się w obrębie generującej przestrzeni parametrów.</li><li data-list-item-id="e6b4f2aa1b0622a030c2be65f32465baf">Autorski workflow diagnostyczny: Aby uwidocznić powyższe ograniczenia, zaproponowaliśmy przepływ pracy, który łączy analizę geometrii wiarygodności, diagnostykę błędów brzegowych oraz siatkową weryfikację odzyskiwania parametrów (grid-based parameter recovery). </li><li data-list-item-id="e30bd313c32c7246f0c033cfef33fa07b">Wartość praktyczna: Nasze rozwiązanie dostarcza procedury pozwalającej ocenić, kiedy dopasowane parametry są wystarczająco silnie ograniczone przez dane, aby opierać na nich wiarygodne wyjaśnienia oparte na parametrach, a kiedy takie twierdzenia powinny zostać opatrzone odpowiednimi zastrzeżeniami.</li></ul>" ] [ "_id" => "03cf8b65" "slug" => "magisterka" "tech" => "Python · SciPy · NumPy · emcee · metody Monte Carlo · statystyka bayesowska · modelowanie matematyczne · optymalizacja numeryczna" "type" => "project" "group" => "Nauka" "title" => "Identyfikowalność i wyjaśnialność modeli uczenia z nagród i kar na przykładzie Iowa Gambling Task" "description" => "Współczesne systemy sztucznej inteligencji, choć skuteczne, często działają jako „czarne skrzynki”. W branżach regulowanych (medycyna, finanse) kluczowe jest stosowanie modeli, które nie tylko przewidują, ale też wyjaśniają mechanizm podejmowania decyzji." "fullDescription" => "<p>W ramach tego projektu przeprowadziłem <strong>kompleksowy audyt stabilności i wiarygodności wiodących modeli uczenia ze wzmocnieniem (RL)</strong> symulujących zachowania decyzyjne. Zaprojektowałem autorską architekturę o znacznie wyższej odporności na szum oraz stworzyłem rygorystyczny, uniwersalny potok diagnostyczny, który matematycznie weryfikuje, kiedy i w jakim stopniu można zaufać wyjaśnieniom generowanym przez algorytmy AI.</p><p> </p><h2><strong>Główne osiągnięcia i wkład inżynieryjny</strong></h2><ul><li data-list-item-id="ee1b8049f263e225dafa2d0ecee8da1f7"><strong>Zaprojektowanie odpornej architektury RL (podwojenie stabilności modelu):</strong> Opracowałem i przetestowałem autorski model uczenia ze wzmocnieniem, który łączy asymetryczną ocenę ryzyka (Teorię Perspektywy) z dynamicznym śledzeniem niepewności (mechanizm inspirowany Filtrem Kalmana). Nowa architektura pozwoliła na <strong>podwojenie stabilności estymacji parametrów (wzrost z ~38% w modelach referencyjnych do aż 76,2% całej przestrzeni roboczej)</strong>, co drastycznie zwiększa rzetelność generowanych wyjaśnień.</li><li data-list-item-id="eba28ac907dcb285a0f12cdf38a1f45c9"><strong>Budowa potoku symulacyjnego (stress-testing na poziomie 50k+ prób):</strong> Zaprojektowałem i wdrożyłem wielopoziomowy potok walidacyjny oparty na wielowymiarowym próbkowaniu przestrzeni (Latin Hypercube Sampling) oraz metodach bootstrapowych. Dzięki temu zdemaskowałem krytyczne wady powszechnie stosowanej estymacji punktowej (MLE) i udowodniłem, że standardowe metryki raportujące błędy (oparte na macierzy Hessego) wykazują skrajną nadpewność (<i>overconfidence</i>), co w realnych wdrożeniach grozi podejmowaniem błędnych decyzji na podstawie losowego szumu.</li><li data-list-item-id="e1a5b1a5d27348692ac603e12ad808286"><strong>Wdrożenie bayesowskiego audytu modeli (przełamywanie ograniczeń optymalizatorów):</strong> Zastąpiłem klasyczną, punktową optymalizację gradientową probabilistycznym próbkowaniem bayesowskim przy użyciu metod Monte Carlo (MCMC). Stworzyłem framework, który potrafi <strong>wydobyć czysty sygnał informacyjny z bardzo zaszumionych sekwencji danych w 96% przypadków</strong>, w których tradycyjne algorytmy gradientowe poddawały się i błędnie klasyfikowały parametry jako całkowicie nieodzyskiwalne.</li><li data-list-item-id="e378a8031d3feb4d1fc9f146a0a011ace"><strong>Odkrycie dysocjacji diagnostycznej (wiarygodna klasyfikacja mimo szumu):</strong> Opracowałem metodologię mapowania globalnej przestrzeni zachowań systemów decyzyjnych (PSP) i nałożyłem ją na rozkłady błędów estymacji. Udowodniłem, że <strong>wysokopoziomowa klasyfikacja strategii i segmentacja użytkowników pozostaje w pełni stabilna i bezpieczna</strong>, nawet gdy szczegółowe parametry ilościowe na najniższym poziomie są obarczone silnym szumem numerycznym. Pozwala to na bezpieczne wdrażanie systemów kategoryzacji o bardzo wysokim stopniu pewności.</li><li data-list-item-id="ed47fec424b84a14cc2be60d7a4bcc060"><strong>Mitygacja ryzyka błędu systematycznego w personalizacji modeli:</strong> Przeprowadziłem rygorystyczną analizę wpływu metod hierarchicznego dociągania parametrów do średniej (<i>shrinkage</i>). Wykazałem, że popularne techniki uśredniające maskują unikalne, atypowe zachowania (np. anomalie czy rzadkie patologie), sztucznie dociągając je do "normy". Sformułowałem rygorystyczny postulat stress-testowania modeli na "czystych danych" (flat priors) w celu ochrony systemów AI przed błędami algorytmicznymi i niezamierzoną dyskryminacją unikalnych profili.</li></ul>" ] [ "_id" => "a06f3075" "slug" => "influencer-marketing" "tech" => "Python · FastAPI · Qdrant · Next.js · Docker · LLM" "type" => "project" "group" => "Prywatne" "title" => "Platforma influencer marketingu" "ctaLabel" => "W trakcie budowy" "description" => "Startup na wczesnym etapie, łączący marki z twórcami internetowymi. Automatyczna wycena współpracy, dopasowanie influencerów do kampanii i klasyfikacja profili — oparte o modele ML zamiast ręcznej pracy analityków. " "fullDescription" => "<p>Projektuję i rozwijam warstwę ML/AI jako rdzeń produktu — główne źródło wartości biznesowej, nie dodatek do aplikacji.</p><p><strong>Obszary ML/AI, nad którymi pracuję:</strong></p><ul><li data-list-item-id="eb00d5d8d1a41e8b6d2bc96c4e7068a9a"><strong>Silnik wyceny</strong> — model estymujący widełki cenowe współpracy na podstawie danych rynkowych i profilu twórcy, łączący kilka niezależnych sygnałów w jeden wynik z komunikowaną niepewnością (przedział, nie pojedyncza liczba)</li><li data-list-item-id="e3a9bca5e1fcc90cb52f8b2b9f4dbdec9"><strong>Scoring i klasyfikacja profili</strong> — wielosygnałowa, interpretowalna klasyfikacja typu konta i kategorii tematycznej; świadomy wybór modelu, który da się wyjaśnić, zamiast czarnej skrzynki</li><li data-list-item-id="ea56c4358836b06d2c57edde75fcd2c6d"><strong>Dopasowanie marka↔twórca</strong> — ocena zgodności profilu z briefem kampanii wspierana modelem językowym, z ustrukturyzowanym promptowaniem i walidacją odpowiedzi</li><li data-list-item-id="eda9fec80f3d8eda3dfb44d0512ca103a"><strong>Wyszukiwanie semantyczne</strong> — indeksowanie profili w bazie wektorowej pod kątem podobieństwa tematycznego, uzupełniające klasyczne filtry</li><li data-list-item-id="ec9609021c47189f67013433dba61dad6"><strong>Optymalizacja doboru kampanii</strong> — algorytm dobierający zestaw twórców maksymalizujący efekt kampanii w ramach zadanego budżetu</li></ul><p><strong>Praktyki inżynierii ML, na których mi zależy:</strong></p><ul><li data-list-item-id="e5371af5e3de108ef6366cdd3891be127">Wersjonowanie logiki decyzyjnej — żeby dało się odtworzyć historyczny wynik i bezpiecznie testować nowe podejścia obok sprawdzonych</li><li data-list-item-id="e78b094ed4fea67c91b844607325c5607">Testy charakteryzujące dla logiki obliczeniowej — bezpieczny refaktor i strojenie modeli bez ręcznej regresji</li><li data-list-item-id="e29af8067f390e9935d67e399e4eb350f">Czyste rozdzielenie reguł domenowych od infrastruktury — modele testowalne w izolacji</li></ul><p> </p>" ] ] "contactCvLabel" => null "contactHeading" => "Porozmawiajmy" "heroCtaCvLabel" => "CV" "heroNameAccent" => "Zolisz" "footerCopyright" => "© 2026 Mateusz Zolisz" "aboutResearchTags" => [ [ "_id" => "7ce829e4" "type" => "tag" "label" => "Uczenie Maszynowe" ] [ "_id" => "5e1338af" "type" => "tag" "label" => "Identyfikacja Systemów" ] [ "_id" => "8675528c" "type" => "tag" "label" => "Teoria Sterowania" ] [ "_id" => "a47ab6de" "type" => "tag" "label" => "Statystyka" ] [ "_id" => "0e620052" "type" => "tag" "label" => "Sztuczna Inteligencja" ] ] "aboutResearchText" => "<p>Jako entuzjasta uczenia maszynowego interesuję się modelowaniem procesów kognitywnych, systemami uczącymi się i automatyką. Aktywnie szukam okazji do współpracy przy projektach badawczych i publikacjach naukowych.</p>" "heroLocationLabel" => "Wrocław, Polska - 2026" "aboutResearchTitle" => "Zainteresowania naukowe" "heroCtaPrimaryHref" => "#kontakt" "heroCtaPrimaryLabel" => "Zatrudnij mnie" "heroAvailabilityLabel" => "Dostępny do współpracy" "url" => "/" ] -linkProvider: null -linkData: null #workflowPlace: null #workflowPublished: DateTimeImmutable @1787502367 {#1309 : 2026-08-23 16:26:07.0 UTC (+00:00) } } |
| routeDocument | Symfony\Component\Routing\Route {#1593 -path: "/" -host: "cms.zolisz.pl" -schemes: [] -methods: [] -defaults: [ "object" => Sulu\Page\Domain\Model\PageDimensionContent {#1108 #id: ? int #page: Sulu\Page\Domain\Model\Page {#1577 …} #title: "Portfolio" #navigationContexts: Doctrine\Common\Collections\ArrayCollection {#1505 …} #created: DateTimeImmutable @1787502367 {#1294 : 2026-08-23 16:26:07.0 UTC (+00:00) } #changed: DateTimeImmutable @1787601070 {#1291 : 2026-08-24 19:51:10.0 UTC (+00:00) } #creator: null #changer: Proxies\__CG__\Sulu\Bundle\SecurityBundle\Entity\User {#1539 …} -author: null -authored: DateTimeImmutable @1787502366 {#1306 : 2026-08-23 16:26:06.0 UTC (+00:00) } -lastModified: null #locale: "pl" #ghostLocale: "pl" #availableLocales: [ "pl" "en" ] #stage: "live" -isMerged: true -version: 0 -excerptData: [] -excerptCategories: Doctrine\Common\Collections\ArrayCollection {#3253 …} -excerptTags: Doctrine\Common\Collections\ArrayCollection {#2753 …} -excerptAudienceTargetGroups: Doctrine\Common\Collections\ArrayCollection {#3367 …} -excerptSegment: null -route: Sulu\Route\Domain\Model\Route {#828 -id: 1 -webspace: "portfolio" -locale: "pl" -slug: "/" -parentRoute: null -resourceKey: "pages" -resourceId: "01a02f71-900c-7e93-839e-3c620a9cd6cd" -resourceIdCallable: null } -seoData: [] -seoNoIndex: false -seoNoFollow: false -seoHideInSitemap: false #shadowLocale: null #shadowLocales: null -templateKey: "homepage" -templateData: [ "title" => "Portfolio" "cvFile" => null "heroLead" => "<p>Inżynier Full-Stack z zapleczem naukowym.</p>" "heroName" => "Mateusz" "aboutText" => "<p>Łączę ponad 5-letnie doświadczenie komercyjne jako Full-Stack Engineer z silnym fundamentem naukowym (<i>mgr inż. kierunku Informatyczne Systemy Automatyki</i>, Politechnika Wrocławska). W projektach komercyjnych specjalizuję się w budowie dedykowanych systemów backendowych i skalowalnego e-commerce (Czysta architektura, DDD), odpowiadając za pełen cykl tworzenia oprogramowania – od frontendu, przez infrastrukturę, aż po szeroki kontekst biznesowy.</p><p> </p><p>Równolegle z pracą komercyjną projektuję rozwiązania MarTech oparte na AI oraz prowadzę badania naukowe z zakresu obliczeniowych modeli kognitywnych, identyfikacji systemów, uczenia maszynowego. W każdym z tych obszarów napędza mnie inżynierski pragmatyzm i rygor techniczny.</p>" "stackItems" => [ [ "_id" => "7cfa7c55" "name" => "PHP" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "5c32d348" "name" => "Laravel" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "494de8bf" "name" => "Symfony" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "83007899" "name" => "Python" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "6402a5af" "name" => "Django" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "1adc0f95" "name" => "FastAPI" "type" => "item" "group" => "backend" "category" => "Backend" ] [ "_id" => "c490c6d8" "name" => "JavaScript / TypeScript" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "e79cbaa4" "name" => "React" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "24aceb73" "name" => "Next.js" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "284b3f70" "name" => "TailwindCSS" "type" => "item" "group" => "frontend" "category" => "Frontend" ] [ "_id" => "8cc4f842" "name" => "Docker" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "83924a1b" "name" => "Linux" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "9b32e88b" "name" => "MongoDB" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "688f7f17" "name" => "MySQL" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "01be565f" "name" => "PostgreSQL" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "6399931c" "name" => "Python" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "f2452081" "name" => "Vector Databases" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "e646a26f" "name" => "PyTorch" "type" => "item" "group" => "ai" "category" => "ML" ] [ "_id" => "11375cc5" "name" => "Redis" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "4df16a37" "name" => "Git" "type" => "item" "group" => "infra" "category" => "Infra" ] [ "_id" => "e6510141" "name" => "RAG" "type" => "item" "group" => "ai" "category" => "AI" ] ] "contactLead" => "Szukasz software engineera do zespołu lub projektu? Napisz." "heroSocials" => [ [ "_id" => "827184e9" "url" => "https://www.linkedin.com/in/mateusz-zolisz-37092420b/" "type" => "social" "label" => "LinkedIn" ] [ "_id" => "7fdcf108" "url" => "https://github.com/Zomat" "type" => "social" "label" => "GitHub" ] [ "_id" => "55df8d3e" "url" => "https://www.instagram.com/mateuszolisz/" "type" => "social" "label" => "Instagram" ] ] "contactEmail" => "mateusz.zolisz@gmail.com" "heroPortrait" => [ "id" => null "displayOption" => null ] "projectItems" => [ [ "_id" => "0c391ea5" "slug" => "ecommerce" "tech" => "Sylius · Next.js · PHP · Python · Django · Docker · Architektura Heksagonalna · Domain Driven Design · Behat" "type" => "project" "group" => "Komercyjne" "title" => "System E-commerce" "ctaLabel" => "W fazie przedprodukcyjnej..." "description" => "E-commerce dla sieci escape roomów." "fullDescription" => "<p>Platforma e-commerce w architekturze headless dla sieci escape roomów do sprzedaży voucherów prezentowych oraz przedmiotów fizycznych.</p><p>Backend oparto na silniku Sylius / Symfony (API Platform), a aplikację kliencką (storefront) wdrożono w Next.js. Całość zintegrowano z zewnętrznym systemem zarządzania klienta w Django oraz napisano do niego dedykowany moduł do obsługi voucherów.</p><p>Kluczowe elementy systemu: </p><ul><li data-list-item-id="e4943db86109e58371985b6ac6e32be95"><strong>Dedykowany system voucherów</strong>: Obsługa elektronicznych i fizycznych kart podarunkowych (przypisanych do konkretnego pokoju, wartościowych oraz pakietów premium z dodatkowymi gadżetami). Automatyczne generowanie plików PDF gotowych do druku, opcja realizacji online lub stacjonarnie oraz pełne śledzenie historii cen zgodnie z dyrektywą Omnibus.</li><li data-list-item-id="ecd2188b6f38b509284bb477f4fd6f849"> <strong>Architektura integracyjna (Multi-service)</strong>: Synchroniczna i asynchroniczna (Symfony Messenger / Redis) komunikacja z systemem rezerwacji, usługą logistyczną Furgonetka oraz operatorem płatności Przelewy24. Dla zapewnienia niezawodności przy awariach zewnętrznych API wdrożono mechanizmy retry/backoff oraz dead-letter queues (DLQ). </li><li data-list-item-id="e4f0cb373e04cab912523500b714d7e60"><strong>Headless Checkout</strong>: Dedykowane API wystawiające dla Next.js logikę koszyka, promocji katalogowych, wyliczania czasu i kosztów dostawy, a także komunikatów prawnych (szacowany czas doręczenia, najniższa cena z ostatnich 30 dni). Obsługa ścieżki zakupowej zarówno dla gości, jak i zarejestrowanych użytkowników. </li><li data-list-item-id="e231a9e1f2e0a25d3a2e06406841df25b"><strong>Rozbudowane narzędzia administracyjne</strong>: Znaczne rozszerzenie panelu admina w Syliusie o niestandardową konfigurację produktów i voucherów, logikę zarządzania cenami, dedykowane przepływy (workflows) realizacji zamówień oraz mechanizmy anonimizacji danych klientów zgodnie z RODO.</li></ul>" ] [ "_id" => "808e50a3" "url" => "https://jezykidlakazdego.pl" "slug" => "jdk" "tech" => "PHP · Laravel · Livewire · Alpine.js · Builder.io" "type" => "project" "group" => "Komercyjne" "title" => "JezykiDlaKazdego.pl" "ctaLabel" => "Strona produkcyjna" "description" => "Sklep internetowy do sprzedaży kursów i lekcji online" "fullDescription" => "<p>Aplikacja webowa zbudowana jako sklep internetowy sprzedający materiały do nauki języków: kursy wideo, e-booki i lekcje cyfrowe. </p><p>Kluczowe funkcjonalności: </p><ul><li data-list-item-id="e64bcde496627f231ccb0bcb0217aef11"><strong>Sklep i checkout</strong> — katalog produktów, koszyk, integracja płatności (Przelewy24), generowanie faktur PDF</li><li data-list-item-id="ecc7b53183bc518dd41db713ea1433258"><strong>Zaawansowany system promocji oraz lejków sprzedażowych </strong>— oferty dla konkretnych klientów, integracja z quizami, promocje ograniczone czasowo</li><li data-list-item-id="ed130afc47b11ee759efe25a398f30e91"><strong>Panel klienta</strong> — dostęp do zakupionych produktów (kursy, e-booki, lekcje), historia zamówień, pobieranie plików i faktur, materiały wideo (integracja z Vimeo)</li><li data-list-item-id="eeceb19438742fd779e8df9fd195bd469"><strong>Panel administracyjny </strong>— zarządzanie produktami, klientami, zamówieniami, blogiem i zdjęciami produktów </li><li data-list-item-id="ef05ea84fbe58b0a6ac5f95d153bdd2c0"><strong>Integracja</strong> <strong>z Builder.io </strong> — klientka może samodzielnie edytować oraz tworzyć podstrony marketingowe</li><li class="ck-list-marker-bold" data-list-item-id="e250bc5aaffee863bd650909232533cf0"><strong>Blog </strong></li><li data-list-item-id="e0986869deea8651e8963367a613f4ef8"><strong>Uwierzytelnianie i zarządzanie kontem</strong> przez Laravel Jetstream/Fortify</li></ul>" ] [ "_id" => "8e939609" "slug" => "crm" "tech" => "PHP · Laravel · Livewire · Czysta Architektura · Domain Driven Design · Behat · PHPUnit" "type" => "project" "group" => "Komercyjne" "title" => "System zarządzania kadrami i rozliczeniami dla firm budowlanych" "ctaLabel" => "Wewnętrzne narzędzie firmy" "description" => "Aplikacja webowa w wspierająca firmy budowlane w zarządzaniu pracownikami, projektami i rozliczeniami wynagrodzeń. System obsługuje pełny cykl pracy brygad budowlanych — od ewidencji dniówek po generowanie raportów płacowych." "fullDescription" => "<p><strong>Kluczowe funkcjonalności:</strong></p><ul><li data-list-item-id="e6fc9009a2b1ddaed66c9ad2edac6fe6f"><strong>Zarządzanie personelem i strukturą firm:</strong> Kompleksowa obsługa kartotek pracowniczych, definiowanie stawek (godzinowych i dniówkowych), zarządzanie statusami zatrudnienia oraz przypisywanie pracowników do konkretnych podmiotów i projektów.</li><li data-list-item-id="e3386ef7a22561ac5e3ea9b53379b745f"><strong>Ewidencja czasu pracy:</strong> Rejestracja obecności i przepracowanych dniówek oraz obsługa list brygadzistów, rozszerzona o możliwość dodawania dokumentacji fotograficznej.</li><li data-list-item-id="eff022d505861167842a6458d83d1e46a"><strong>Rozliczenia finansowe:</strong> Automatyzacja kalkulacji wynagrodzeń, uwzględniająca elastyczne zarządzanie zaliczkami oraz potrąceniami pracowniczymi.</li><li data-list-item-id="e78a8686c88b8a45e3d15ab50ef61a955"><strong>Zaawansowane raportowanie:</strong> Automatyczne generowanie miesięcznych podsumowań projektowych i zestawień czasu pracy z bezproblemowym eksportem do formatów PDF i Excel.</li><li data-list-item-id="e45819e8ca07dcd636e4a50ea7bf5e99c"><strong>Monitoring i audyt:</strong> Rozbudowany dziennik zdarzeń (event log) śledzący kluczowe operacje i ogólną aktywność użytkowników w systemie.</li></ul><p><strong>Architektura i stos technologiczny:</strong></p><ul><li data-list-item-id="e17fdcd8b4d1bf63ea341717dd3bd9d41"><strong>Backend:</strong> PHP 8 / Laravel 9, oparty na architekturze modularnej, która zapewnia ścisły podział na niezależne konteksty biznesowe.</li><li data-list-item-id="ea6a87d02383368e530f8f7fe973618ee"><strong>Frontend:</strong> Laravel Livewire połączony z Tailwind CSS – dostarczanie dynamicznych i reaktywnych interfejsów użytkownika (UI) bez narzutu technologicznego pełnych aplikacji SPA.</li><li data-list-item-id="ec385557ff9cbdb8b30c15c0df4e65ae7"><strong>Wzorce projektowe:</strong> Zastosowanie architektury heksagonalnej oraz taktycznego podejścia Domain-Driven Design (DDD).</li><li data-list-item-id="e48c770712524f69ca7a71fb4fb46eb66"><strong>Przetwarzanie danych:</strong> Zaawansowane generowanie dokumentów PDF i arkuszy Excel, a także automatyczny eksport danych do masowych przelewów bankowych zgodnie ze standardem SEPA.</li><li data-list-item-id="e47968e02120a2485a96c838ad501bc66"><strong>Zapewnienie jakości (QA):</strong> Kompleksowe testowanie aplikacji z wykorzystaniem PHPUnit (testy jednostkowe) oraz frameworka Behat (testy behawioralne/BDD).</li></ul>" ] [ "_id" => "65640215" "slug" => "iccci2026" "tech" => "Python" "type" => "project" "group" => "Nauka" "title" => "When Interpretable Parameters Fail to Explain: Evidence from the Rescorla-Wagner Model" "ctaLabel" => "W druku" "description" => "Współautor publikacji naukowej na ICCCI 2026 | Politechnika Wrocławska" "fullDescription" => "<p>Interpretowalne parametry w modelach uczenia ze wzmocnieniem (RL) są powszechnie używane do mechanistycznego wyjaśniania ludzkich zachowań. W artykule udowadniamy, że ta praktyka może zawodzić nawet w przypadku minimalnego agenta Rescorla-Wagner. </p><p><strong>Kluczowe tezy i wyniki:</strong></p><ul><li data-list-item-id="e1022283fb2332acad95f4b5a5f0b771a">Anizotropowa geometria wiarygodności: Wykazaliśmy, że diametralnie różne kombinacje tempa uczenia oraz stochastyczności wyboru mogą równie dobrze dopasowywać się do tych samych sekwencji (w zadaniu Probabilistic Learning Task) przy estymacji największej wiarygodności (MLE). </li><li data-list-item-id="e1611e3077e533d790616fd97f765151d">Zniekształcenia estymacji: Zjawisko to prowadzi do ustrukturyzowanych błędów, rozkładów scaled vector error (SVE) o grubych ogonach, uderzeń w granice (boundary hits) oraz nakładania się na siebie odzyskanych dystrybucji parametrów z różnych reżimów. Diagnostyka siatkowa dodatkowo pokazuje, że jakość odzyskiwania parametrów silnie waha się w obrębie generującej przestrzeni parametrów.</li><li data-list-item-id="e6b4f2aa1b0622a030c2be65f32465baf">Autorski workflow diagnostyczny: Aby uwidocznić powyższe ograniczenia, zaproponowaliśmy przepływ pracy, który łączy analizę geometrii wiarygodności, diagnostykę błędów brzegowych oraz siatkową weryfikację odzyskiwania parametrów (grid-based parameter recovery). </li><li data-list-item-id="e30bd313c32c7246f0c033cfef33fa07b">Wartość praktyczna: Nasze rozwiązanie dostarcza procedury pozwalającej ocenić, kiedy dopasowane parametry są wystarczająco silnie ograniczone przez dane, aby opierać na nich wiarygodne wyjaśnienia oparte na parametrach, a kiedy takie twierdzenia powinny zostać opatrzone odpowiednimi zastrzeżeniami.</li></ul>" ] [ "_id" => "03cf8b65" "slug" => "magisterka" "tech" => "Python · SciPy · NumPy · emcee · metody Monte Carlo · statystyka bayesowska · modelowanie matematyczne · optymalizacja numeryczna" "type" => "project" "group" => "Nauka" "title" => "Identyfikowalność i wyjaśnialność modeli uczenia z nagród i kar na przykładzie Iowa Gambling Task" "description" => "Współczesne systemy sztucznej inteligencji, choć skuteczne, często działają jako „czarne skrzynki”. W branżach regulowanych (medycyna, finanse) kluczowe jest stosowanie modeli, które nie tylko przewidują, ale też wyjaśniają mechanizm podejmowania decyzji." "fullDescription" => "<p>W ramach tego projektu przeprowadziłem <strong>kompleksowy audyt stabilności i wiarygodności wiodących modeli uczenia ze wzmocnieniem (RL)</strong> symulujących zachowania decyzyjne. Zaprojektowałem autorską architekturę o znacznie wyższej odporności na szum oraz stworzyłem rygorystyczny, uniwersalny potok diagnostyczny, który matematycznie weryfikuje, kiedy i w jakim stopniu można zaufać wyjaśnieniom generowanym przez algorytmy AI.</p><p> </p><h2><strong>Główne osiągnięcia i wkład inżynieryjny</strong></h2><ul><li data-list-item-id="ee1b8049f263e225dafa2d0ecee8da1f7"><strong>Zaprojektowanie odpornej architektury RL (podwojenie stabilności modelu):</strong> Opracowałem i przetestowałem autorski model uczenia ze wzmocnieniem, który łączy asymetryczną ocenę ryzyka (Teorię Perspektywy) z dynamicznym śledzeniem niepewności (mechanizm inspirowany Filtrem Kalmana). Nowa architektura pozwoliła na <strong>podwojenie stabilności estymacji parametrów (wzrost z ~38% w modelach referencyjnych do aż 76,2% całej przestrzeni roboczej)</strong>, co drastycznie zwiększa rzetelność generowanych wyjaśnień.</li><li data-list-item-id="eba28ac907dcb285a0f12cdf38a1f45c9"><strong>Budowa potoku symulacyjnego (stress-testing na poziomie 50k+ prób):</strong> Zaprojektowałem i wdrożyłem wielopoziomowy potok walidacyjny oparty na wielowymiarowym próbkowaniu przestrzeni (Latin Hypercube Sampling) oraz metodach bootstrapowych. Dzięki temu zdemaskowałem krytyczne wady powszechnie stosowanej estymacji punktowej (MLE) i udowodniłem, że standardowe metryki raportujące błędy (oparte na macierzy Hessego) wykazują skrajną nadpewność (<i>overconfidence</i>), co w realnych wdrożeniach grozi podejmowaniem błędnych decyzji na podstawie losowego szumu.</li><li data-list-item-id="e1a5b1a5d27348692ac603e12ad808286"><strong>Wdrożenie bayesowskiego audytu modeli (przełamywanie ograniczeń optymalizatorów):</strong> Zastąpiłem klasyczną, punktową optymalizację gradientową probabilistycznym próbkowaniem bayesowskim przy użyciu metod Monte Carlo (MCMC). Stworzyłem framework, który potrafi <strong>wydobyć czysty sygnał informacyjny z bardzo zaszumionych sekwencji danych w 96% przypadków</strong>, w których tradycyjne algorytmy gradientowe poddawały się i błędnie klasyfikowały parametry jako całkowicie nieodzyskiwalne.</li><li data-list-item-id="e378a8031d3feb4d1fc9f146a0a011ace"><strong>Odkrycie dysocjacji diagnostycznej (wiarygodna klasyfikacja mimo szumu):</strong> Opracowałem metodologię mapowania globalnej przestrzeni zachowań systemów decyzyjnych (PSP) i nałożyłem ją na rozkłady błędów estymacji. Udowodniłem, że <strong>wysokopoziomowa klasyfikacja strategii i segmentacja użytkowników pozostaje w pełni stabilna i bezpieczna</strong>, nawet gdy szczegółowe parametry ilościowe na najniższym poziomie są obarczone silnym szumem numerycznym. Pozwala to na bezpieczne wdrażanie systemów kategoryzacji o bardzo wysokim stopniu pewności.</li><li data-list-item-id="ed47fec424b84a14cc2be60d7a4bcc060"><strong>Mitygacja ryzyka błędu systematycznego w personalizacji modeli:</strong> Przeprowadziłem rygorystyczną analizę wpływu metod hierarchicznego dociągania parametrów do średniej (<i>shrinkage</i>). Wykazałem, że popularne techniki uśredniające maskują unikalne, atypowe zachowania (np. anomalie czy rzadkie patologie), sztucznie dociągając je do "normy". Sformułowałem rygorystyczny postulat stress-testowania modeli na "czystych danych" (flat priors) w celu ochrony systemów AI przed błędami algorytmicznymi i niezamierzoną dyskryminacją unikalnych profili.</li></ul>" ] [ "_id" => "a06f3075" "slug" => "influencer-marketing" "tech" => "Python · FastAPI · Qdrant · Next.js · Docker · LLM" "type" => "project" "group" => "Prywatne" "title" => "Platforma influencer marketingu" "ctaLabel" => "W trakcie budowy" "description" => "Startup na wczesnym etapie, łączący marki z twórcami internetowymi. Automatyczna wycena współpracy, dopasowanie influencerów do kampanii i klasyfikacja profili — oparte o modele ML zamiast ręcznej pracy analityków. " "fullDescription" => "<p>Projektuję i rozwijam warstwę ML/AI jako rdzeń produktu — główne źródło wartości biznesowej, nie dodatek do aplikacji.</p><p><strong>Obszary ML/AI, nad którymi pracuję:</strong></p><ul><li data-list-item-id="eb00d5d8d1a41e8b6d2bc96c4e7068a9a"><strong>Silnik wyceny</strong> — model estymujący widełki cenowe współpracy na podstawie danych rynkowych i profilu twórcy, łączący kilka niezależnych sygnałów w jeden wynik z komunikowaną niepewnością (przedział, nie pojedyncza liczba)</li><li data-list-item-id="e3a9bca5e1fcc90cb52f8b2b9f4dbdec9"><strong>Scoring i klasyfikacja profili</strong> — wielosygnałowa, interpretowalna klasyfikacja typu konta i kategorii tematycznej; świadomy wybór modelu, który da się wyjaśnić, zamiast czarnej skrzynki</li><li data-list-item-id="ea56c4358836b06d2c57edde75fcd2c6d"><strong>Dopasowanie marka↔twórca</strong> — ocena zgodności profilu z briefem kampanii wspierana modelem językowym, z ustrukturyzowanym promptowaniem i walidacją odpowiedzi</li><li data-list-item-id="eda9fec80f3d8eda3dfb44d0512ca103a"><strong>Wyszukiwanie semantyczne</strong> — indeksowanie profili w bazie wektorowej pod kątem podobieństwa tematycznego, uzupełniające klasyczne filtry</li><li data-list-item-id="ec9609021c47189f67013433dba61dad6"><strong>Optymalizacja doboru kampanii</strong> — algorytm dobierający zestaw twórców maksymalizujący efekt kampanii w ramach zadanego budżetu</li></ul><p><strong>Praktyki inżynierii ML, na których mi zależy:</strong></p><ul><li data-list-item-id="e5371af5e3de108ef6366cdd3891be127">Wersjonowanie logiki decyzyjnej — żeby dało się odtworzyć historyczny wynik i bezpiecznie testować nowe podejścia obok sprawdzonych</li><li data-list-item-id="e78b094ed4fea67c91b844607325c5607">Testy charakteryzujące dla logiki obliczeniowej — bezpieczny refaktor i strojenie modeli bez ręcznej regresji</li><li data-list-item-id="e29af8067f390e9935d67e399e4eb350f">Czyste rozdzielenie reguł domenowych od infrastruktury — modele testowalne w izolacji</li></ul><p> </p>" ] ] "contactCvLabel" => null "contactHeading" => "Porozmawiajmy" "heroCtaCvLabel" => "CV" "heroNameAccent" => "Zolisz" "footerCopyright" => "© 2026 Mateusz Zolisz" "aboutResearchTags" => [ [ "_id" => "7ce829e4" "type" => "tag" "label" => "Uczenie Maszynowe" ] [ "_id" => "5e1338af" "type" => "tag" "label" => "Identyfikacja Systemów" ] [ "_id" => "8675528c" "type" => "tag" "label" => "Teoria Sterowania" ] [ "_id" => "a47ab6de" "type" => "tag" "label" => "Statystyka" ] [ "_id" => "0e620052" "type" => "tag" "label" => "Sztuczna Inteligencja" ] ] "aboutResearchText" => "<p>Jako entuzjasta uczenia maszynowego interesuję się modelowaniem procesów kognitywnych, systemami uczącymi się i automatyką. Aktywnie szukam okazji do współpracy przy projektach badawczych i publikacjach naukowych.</p>" "heroLocationLabel" => "Wrocław, Polska - 2026" "aboutResearchTitle" => "Zainteresowania naukowe" "heroCtaPrimaryHref" => "#kontakt" "heroCtaPrimaryLabel" => "Zatrudnij mnie" "heroAvailabilityLabel" => "Dostępny do współpracy" "url" => "/" ] -linkProvider: null -linkData: null #workflowPlace: null #workflowPublished: DateTimeImmutable @1787502367 {#1309 : 2026-08-23 16:26:07.0 UTC (+00:00) } } "view" => "pages/homepage" "_controller" => "sulu_headless.controller.website::indexAction" "_cacheLifetime" => 86400 "_sulu_route" => Sulu\Route\Domain\Model\Route {#828} ] -requirements: [] -options: [ "compiler_class" => "Symfony\Component\Routing\RouteCompiler" "utf8" => true ] -condition: "" -compiled: Symfony\Component\Routing\CompiledRoute {#521 …} } |
| slug | "/" |
| view | "pages/homepage" |
| webspace | "portfolio" |
Request Headers
| Header | Value |
|---|---|
| accept | "*/*" |
| accept-encoding | "gzip, deflate" |
| content-length | "25212" |
| content-type | "multipart/form-data; boundary=------------------------bissa_cve_boundary" |
| host | "cms.zolisz.pl" |
| next-action | "x" |
| user-agent | "Python/3.12 aiohttp/3.14.5" |
| via | "1.1 Caddy" |
| x-forwarded-for | "144.202.52.8" |
| x-forwarded-host | "cms.zolisz.pl" |
| x-forwarded-proto | "https" |
| x-php-ob-level | "0" |
Request Content
Request content not available (it was retrieved as a resource).
Response
Response Headers
| Header | Value |
|---|---|
| cache-control | "max-age=240, public, s-maxage=240" |
| content-type | "text/html; charset=UTF-8" |
| date | "Fri, 23 Oct 2026 03:38:30 GMT" |
| x-cache-debug | "1" |
| x-debug-token | "63a224" |
| x-generator | "Sulu/3.0.9" |
| x-reverse-proxy-ttl | "86400" |
Cookies
Request Cookies
No request cookies
Response Cookies
No response cookies
Session
Session Metadata
No session metadata
Session Attributes
No session attributes
Session Usage
0
Usages
Stateless check enabled
Session not used.
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
| Key | Value |
|---|---|
| ANTHROPIC_API_KEY | "" |
| APP_SHARE_DIR | "var/share" |
| DEFAULT_URI | "http://localhost" |
| LOCK_DSN | "flock" |
| MAILER_DSN | "null://null" |
| MESSENGER_TRANSPORT_DSN | "doctrine://default?auto_setup=0" |
| SEAL_DSN | "loupe://%kernel.project_dir%/var/indexes" |
Defined as regular env variables
| Key | Value |
|---|---|
| APP_DEBUG | "1" |
| APP_ENV | "dev" |
| APP_SECRET | "296a4f1e6667344e9b29cd8c91536bbb55c298a49ae37253232e68610d8ce965" |
| AUTH_TYPE | "" |
| CONTENT_LENGTH | "25212" |
| CONTENT_TYPE | "multipart/form-data; boundary=------------------------bissa_cve_boundary" |
| DATABASE_URL | "mysql://root:389d202fae3da1e1f36c40e594092a6ca4ccb819bd5a1a7489a470fd2dbc695d@mysql:3306/portfolio?serverVersion=8.4.0 &" |
| DOCUMENT_ROOT | "/app/public" |
| DOCUMENT_URI | "/index.php" |
| GATEWAY_INTERFACE | "CGI/1.1" |
| GODEBUG | "cgocheck=0" |
| GPG_KEYS | "39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC" |
| HOME | "/root" |
| HOSTNAME | "9dab086e0bcb" |
| HTTPS | "" |
| HTTP_ACCEPT | "*/*" |
| HTTP_ACCEPT_ENCODING | "gzip, deflate" |
| HTTP_CONTENT_LENGTH | "25212" |
| HTTP_CONTENT_TYPE | "multipart/form-data; boundary=------------------------bissa_cve_boundary" |
| HTTP_HOST | "cms.zolisz.pl" |
| HTTP_NEXT_ACTION | "x" |
| HTTP_USER_AGENT | "Python/3.12 aiohttp/3.14.5" |
| HTTP_VIA | "1.1 Caddy" |
| HTTP_X_FORWARDED_FOR | "144.202.52.8" |
| HTTP_X_FORWARDED_HOST | "cms.zolisz.pl" |
| HTTP_X_FORWARDED_PROTO | "https" |
| PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" |
| PATH_INFO | "" |
| PHPIZE_DEPS | "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c" |
| PHP_ASC_URL | "https://www.php.net/distributions/php-8.2.35.tar.xz.asc" |
| PHP_CFLAGS | "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" |
| PHP_CPPFLAGS | "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" |
| PHP_INI_DIR | "/usr/local/etc/php" |
| PHP_LDFLAGS | "-Wl,-O1 -pie" |
| PHP_SELF | "/index.php" |
| PHP_SHA256 | "5737b98601fe5ab1b8c5db0c82ed3158acb9283ed3081ffe2faffb9ac81455e6" |
| PHP_URL | "https://www.php.net/distributions/php-8.2.35.tar.xz" |
| PHP_VERSION | "8.2.35" |
| PWD | "/app" |
| QUERY_STRING | "" |
| REMOTE_ADDR | "172.20.0.3" |
| REMOTE_HOST | "172.20.0.3" |
| REMOTE_IDENT | "" |
| REMOTE_PORT | "60534" |
| REQUEST_METHOD | "POST" |
| REQUEST_SCHEME | "http" |
| REQUEST_TIME | 1792726710 |
| REQUEST_TIME_FLOAT | 1792726710.3359 |
| REQUEST_URI | "/" |
| SCRIPT_FILENAME | "/app/public/index.php" |
| SCRIPT_NAME | "/index.php" |
| SERVER_NAME | "cms.zolisz.pl" |
| SERVER_PORT | "80" |
| SERVER_PROTOCOL | "HTTP/1.1" |
| SERVER_SOFTWARE | "FrankenPHP" |
| SSL_CIPHER | "" |
| SSL_PROTOCOL | "" |
| SULU_ADMIN_EMAIL | "mateusz.zolisz@gmail.com" |
| SULU_ADMIN_FIRSTNAME | "Mateusz" |
| SULU_ADMIN_LASTNAME | "Zolisz" |
| SULU_ADMIN_LOCALE | "en" |
| SULU_ADMIN_PASSWORD | "leqz-1zez-portfolio" |
| SULU_ADMIN_USERNAME | "admin" |
| SYMFONY_DOTENV_PATH | "/app/.env" |
| SYMFONY_DOTENV_VARS | "APP_SHARE_DIR,DEFAULT_URI,LOCK_DSN,MAILER_DSN,ANTHROPIC_API_KEY,MESSENGER_TRANSPORT_DSN,SEAL_DSN" |
| XDG_CONFIG_HOME | "/config" |
| XDG_DATA_HOME | "/data" |
| argc | 0 |
| argv | [] |