Tomasz Mroczyński
Buduję rozwiązania, które wzmacniają człowieka.
Jestem generalistą — łączę technologię, sprzedaż i praktyczne rozwiązywanie problemów. Pracowałem po obu stronach wdrożenia: rozmawiałem z klientem o tym, czego naprawdę potrzebuje, a potem uruchamiałem to u niego. Dziś do tego samego warsztatu doszły AI i automatyzacja.
01Punkt zwrotny
Zaczynałem od strony technicznej: sieci komputerowe, CCTV, helpdesk i wdrożenia. Potem przyszła sprzedaż i wdrożenia systemów biometrycznej identyfikacji — najpierw jako specjalista, potem jako kierownik działu sprzedaży. Później jedenaście lat w dystrybucji w Norwegii, przez które technologia była tym, co robiłem po godzinach: uczyłem się, budowałem własne projekty, eksperymentowałem z backendem, self-hostingiem i integracjami API.
W 2025 zacząłem pracę jako kierowca ciężarówki, kończąc kurs kategorii C. Miesiąc później poważny wypadek przy pracy zakończył tę drogę. Potraktowałem to jako moment, w którym można świadomie wrócić do tego, co i tak robiłem od lat.
Przez ostatnie trzy miesiące rozwijam własną markę Ripperdoc i projekty związane z praktycznym wykorzystaniem sztucznej inteligencji. To nie jest zwrot o sto osiemdziesiąt stopni: AI i automatyzacja rozwijają warsztat, który zbierałem wcześniej — rozumienie potrzeby klienta, projekt rozwiązania, wdrożenie i utrzymanie tego, co już działa.
02Doświadczenie w praktyce
- Sprzedaż i wdrożenia
- W PTC Security Systems w latach 2009–2011 awansowałem ze specjalisty do spraw sprzedaży i wdrożeń na kierownika działu sprzedaży. Pisemna referencja od dyrektora generalnego podaje, że odpowiadałem samodzielnie za 80 procent obrotu całego zespołu sprzedaży i przeprowadziłem największe wdrożenia systemów automatycznej identyfikacji w historii firmy.
- Instytucje publiczne
- Prowadziłem rozmowy z polskimi instytucjami publicznymi, w tym z urzędami marszałkowskimi i powiatowymi. Zaczynałem od instytucji decydujących o podziale środków, budowałem zaufanie i przez rekomendacje docierałem do kolejnych jednostek. To praca na znajomości struktur decyzyjnych i na relacjach, które trzeba utrzymać dłużej niż jedno zamówienie.
- Sieć partnerów
- Równolegle rozwijałem dystrybucję przez lokalnych instalatorów systemów identyfikacyjnych, oferując im rozwiązania lojalnościowe zachęcające do stałej współpracy.
- Pozyskiwanie klientów
- Już wtedy używałem SEO i narzędzi analitycznych do wyszukiwania potencjalnych klientów. Dzisiejsze AI i automatyzacja są dla mnie sposobem, żeby te działania rozwinąć — to samo pytanie o klienta, mocniejsze narzędzia.
- Negocjacje
- W latach 2021–2024 byłem przewodniczącym koła Fellesforbundet i reprezentowałem pracowników w negocjacjach z pracodawcą dotyczących wynagrodzeń i warunków pracy.
- Organizacja wydarzeń
- Współorganizowałem trzy edycje Targów Polskich Przedsiębiorców w Drammen i Mjøndalen, odpowiadając za kwestie techniczne.
03Co potrafię
Najmocniejsze jest u mnie połączenie, nie pojedyncza dziedzina: rozumiem, czego potrzebuje klient, potrafię to zaprojektować i potrafię doprowadzić do działania. Rzadko trzeba mi tłumaczyć jedną z tych stron drugiej.
Nie jestem ekspertem we wszystkim, co wymieniam niżej. Szybko uczę się narzędzi, szukam prostszych sposobów działania i umiem złożyć elementy z różnych dziedzin w jeden działający system.
- Klienci, sprzedaż i partnerstwa
- Rozmowa o potrzebie zamiast prezentacji produktu. Praca z firmami i z instytucjami publicznymi, budowanie sieci partnerów i relacji, które wracają. Prezentacje, negocjacje, organizacja spotkań i wydarzeń.
- Wdrożenia i organizacja realizacji
- Doprowadzenie rozwiązania od ustaleń do działania u klienta: zakres, kolejność prac, współpraca z programistami i instalatorami, szkolenie użytkowników i utrzymanie po uruchomieniu.
- Technologia, AI i automatyzacja
- Aplikacje webowe, bazy danych, integracje API, automatyzacje i systemy oparte na wiedzy — budowane i utrzymywane na własnej infrastrukturze. Do tego strona fizyczna: personalizacja produktów, grafika, modelowanie i druk 3D.
Kod, który da się otworzyć: fork serwera MCP dla finn.no github.com/tomaszmroczynski/finn-mcp
04Projekty
Dwa z poniższych systemów powstały na zlecenie: Sammen i Norge i Limes Dekor. Pozostałe zbudowałem na własne potrzeby i rozwijam w codziennym użyciu albo w zamkniętych testach. Przy każdym podaję rzeczywisty status, użytkowników i możliwy do sprawdzenia dowód działania — jeżeli odnośnika nie ma, znaczy to, że nie mam czego pokazać, a nie że zapomniałem.
- u klientaProjekt dla organizacji
Sammen i Norge / SiN Studio
Trójjęzyczny serwis stowarzyszenia w Drammen, rozwinięty z wizytówki w system wspierający zarządzanie: projekty, wydarzenia, wolontariat, członkostwo i własny CMS z rolami.
Moja rola: Autor pierwotnego serwisu i całej dalszej rozbudowy — od wizytówki po system wspierający zarządzanie organizacją: architektura informacji, UX/UI, model treści i uprawnień, implementacja, migracja danych, wdrożenie i rozwój.
Next.js 16React 19Payload CMS 3PostgreSQL / SupabaseVerceli18n - w budowie
Limes Dekor
Sklep, zamówienia, płatności i pliki produkcyjne dla pracowni z produktami wycinanymi laserowo. Ten sam renderer składa podgląd dla klienta i finalny plik SVG.
Moja rola: Proces, architektura, interfejs, implementacja i wdrożenie — całość po mojej stronie.
Limes Dekor to firma mojej partnerki. Zlecenie i jego zakres są prawdziwe, ale to nie jest referencja niezależna — nie sprawdzisz jej u kogoś, kto nie ma ze mną nic wspólnego.
Next.js 16ReactPrismaSupabase/PostgreSQLSVGStripeDocker - w użyciu
Ripper Inject
System nauki zamieniający dokument w kurs: słownictwo, ćwiczenia i powtórki SM-2, z kontrolą wierności wyłapującą zdania, na które model nie miał pokrycia w źródle.
Next.js 16TypeScriptDrizzleSupabaseOpenAI API - koncepcja
Ripper Task Force
Agenci dzielący zadanie i prowadzący je bez rozstrzygania przez człowieka w trakcie; człowiek dostaje wynik, nie przerwania.
TypeScriptMCPzod - w użyciu
Ripper Brainstorm
Kilka modeli od różnych dostawców omawia tę samą sprawę, a model neutralny szuka wspólnych, nienazwanych założeń — zgoda dwóch modeli nie jest dowodem.
TypeScriptmulti-provider LLM - koncepcja
Ripper Body Sync
Sesje VR z Meta Quest 3 połączone z danymi zdrowotnymi w jeden obraz, analizowane przez prywatny model trenera. Self-hosted, bo dane zdrowotne są wrażliwe.
KotlinJetpack ComposeMCPMeta Quest 3 - w użyciu
ripperdoc.ai
Ta strona. Trójjęzyczna, z modułem poszukiwania pracy za logowaniem: zbiera ogłoszenia, szereguje je, ocenia względem profilu i pisze szkice aplikacji.
Next.jsTypeScriptPostgreSQLMCPVercel
05Doświadczenie
- Obecnie
Praca własna — Ripperdoc · Ripperdoc
Projektowanie i budowa systemów opartych na AI, automatyzacji i integracjach — systemy własne oraz zlecenia dla klientów (Limes Dekor, Sammen i Norge).
- 03–04/2025
Kierowca ciężarówki · Transport Service AS
Krótki rozdział zakończony wypadkiem przy pracy — początek świadomego zwrotu ku technologii.
- 09/2024 – 03/2025
Przerwa w zatrudnieniu · —
W tym okresie bez pracy zarobkowej.
- 2013 – 2024
Dystrybucja · Amedia AS
Stała praca przy dystrybucji, prowadzona równolegle z nauką technologii i własnymi projektami. Od 2021 do 2024 równocześnie przewodniczący koła Fellesforbundet: reprezentowanie pracowników w negocjacjach z pracodawcą w sprawach wynagrodzeń i warunków pracy.
- 2009 – 2011
Sprzedaż i wdrożenia → kierownik działu sprzedaży · PTC Security Systems
Zacząłem jako specjalista do spraw sprzedaży i wdrożeń, a zostałem kierownikiem działu sprzedaży. Wdrażanie systemów biometrycznej identyfikacji, pozyskiwanie klientów w sektorze publicznym i prywatnym, współpraca z programistami i koordynacja zespołu. Pisemna referencja od dyrektora generalnego podaje, że odpowiadałem samodzielnie za 80 procent obrotu całego zespołu sprzedaży i przeprowadziłem największe wdrożenia w historii firmy.
- 2002 – 2012
Własna działalność · Complet Tomasz Mroczyński
Instalacja i konfiguracja sieci komputerowych oraz serwis komputerowy — cały łańcuch od klienta po utrzymanie.
- 2002 – 2006
Sprzedaż i wsparcie techniczne · Strawford
Wdrożenia CCTV, instalacja sieci LAN, IT helpdesk, serwis i szkolenia.
06Wykształcenie
- 2021 – 2022
Noroff — szkoła technologii i mediów cyfrowych
Backend Web Development (.NET).
- 2002 – 2006
Uniwersytet Gdański
Ekonomia, specjalizacja: analityk.
07Jak prowadzę pracę
Nie piszę tego wszystkiego sam. Pracuję z modelami tak, jak pracowałbym z zespołem specjalistów: stawiam problem, słucham propozycji i rozstrzygam — razem z kosztem rozstrzygnięcia. Wartość nie leży w tym, kto szybciej pisze kod. Leży w tym, kto zadaje właściwe pytanie i kto mówi „nie" — również sobie.
Jestem monotropowy. Moja uwaga nie rozkłada się po kilku sprawach naraz — zbiera się w jednej i schodzi w nią do dna. To profil neuroróżnorodny i mówię o nim wprost, bo jest najmocniejszą rzeczą, jaką wnoszę do pracy: zdolnością zejścia głębiej, niż sięga zwykła ciekawość, i pozostania przy sprawie dłużej, niż zwykle się opłaca.
Stąd „monotropowy generalista". Szerokość wzięła się z kolejnych zejść na dno, nie z próbowania wszystkiego po trochu. Najpierw sieci, systemy bezpieczeństwa i wdrożenia. Potem jedenaście lat pracy, przy której technologia była tym, co robiłem po godzinach. Teraz AI. Za każdym razem jedna rzecz, długo i całym sobą — i za każdym razem zostaje warsztat, który przenosi się dalej.
Jak z tego korzystać: jeden priorytet zamiast pięciu równoległych, kontekst na piśmie i bloki czasu na pracę wymagającą skupienia. Wtedy dostajesz rzecz rozwiązaną u podstawy i nową dziedzinę opanowaną szybciej, niż zakładałeś. Spotkania, rozmowy z klientem i negocjacje są normalną częścią mojej pracy — mam ich za sobą sporo i wracam do nich chętnie. Proszę tylko o to, żeby dzień nie składał się wyłącznie z nich.
Usuwamy tarcie administracyjne, zachowujemy tarcie refleksji.
Protokół decyzji
2026-06-18
Co należy do rdzenia produktu, a co jest dodatkiem?
Przy każdej propozycji rozbudowy wracała ta sama dyskusja, rozstrzygana za każdym razem od nowa.
Czy produkt traci integralność albo tożsamość, gdy to usuniesz? Jeśli bez tego działa w pełni — to rozszerzenie, opcjonalne i domyślnie wyłączone.
Koszt · krótsza lista funkcji w rdzeniu. Zysk: kryterium, które rozstrzyga także beze mnie.
2026-06-18
Czy zgoda dwóch modeli jest dowodem, że mają rację?
Gdy dwa niezależne modele dochodzą do tego samego wniosku, sprawa jest rozstrzygnięta. Tak działa większość rozwiązań wielomodelowych: zgodność traktują jako wynik.
Zgoda bywa pozorna. Oba głosy mogą milcząco przyjąć to samo błędne założenie i zgodzić się właśnie dlatego, że dzielą ten sam ślepy punkt. Neutralny model dostał więc zadanie wskazywania nie tylko różnic, ale przede wszystkim WSPÓLNYCH, NIENAZWANYCH ZAŁOŻEŃ — i zamieniania ich w pytania kontrolne, zakotwiczone w konkretnym fragmencie wypowiedzi.
Dlatego głosy muszą pochodzić od różnych dostawców. Dwa uruchomienia tego samego modelu dzielą dane treningowe i te same błędy systematyczne — ich zgoda nie znaczy nic.
Koszt · dodatkowa tura i trzecia subskrypcja w pełnej konfiguracji. Zysk: jedyny sposób, żeby zauważyć błąd, którego nie widzi żadna ze stron sporu.
2026-06-18
Czy wysyłać zapis prywatnej dyskusji do zewnętrznej usługi?
Automatyczna synchronizacja — duża wygoda, mało pracy, mój własny pomysł.
Produkt obiecuje prywatność i pracę na własnym sprzęcie. Cicha wysyłka prywatnych deliberacji na zewnątrz zjada tę obietnicę. Eksport zostaje ręczny; automat wyłącznie za wyraźną zgodą użytkownika.
Koszt · więcej kliknięć i mniej efektownej automatyki. Zysk: obietnica, która wytrzymuje sprawdzenie.
produkcja
Czy automatycznie wykrywać pole graweru w modelu produktu?
Technicznie nic nie stało na przeszkodzie, żeby system wskazywał je sam.
Ten krok zostaje przy człowieku. Błąd automatu kosztuje tu zniszczony materiał, nie poprawkę w przeglądarce — a panel, który raz zepsuje właścicielowi produkcję, przestanie być używany.
Koszt · kwadrans pracy przy każdym nowym produkcie. Zysk: zaufanie, bez którego samodzielność jest tylko deklaracją.
Rada nie wykrywa sama, że głosy się ze sobą nie zgadzają — widzi to człowiek albo, na żądanie, model neutralny. Kolejka publikacji w Social Studio nie przeszła jeszcze pełnego cyklu produkcyjnego. Norweskiego uczę się aplikacją, którą sam napisałem; rozmawiam z wysiłkiem i to się jeszcze nie zamknęło.
08Kiedy odradzam AI
Model kosztuje przy każdym wywołaniu, odpowiada z opóźnieniem i czasem odpowiada inaczej niż wczoraj. W części zadań to jest cena za coś, czego inaczej nie da się zrobić. W części — za nic. Oto przypadki, w których mówię „tego nie róbmy modelem", i co proponuję zamiast.
- Format jest ustalony.
- Daty, kwoty, numery faktur i kody pocztowe z dokumentu o stałym układzie wyciąga parser albo wyrażenie regularne. Zero kosztu, odpowiedź w milisekundach i za każdym razem taka sama. Model przy tym samym zadaniu kosztuje przy każdej stronie i raz na jakiś czas wpisze liczbę, której nie było.
- Reguła jest deterministyczna.
- „Jeżeli kwota powyżej progu i kraj z listy, to inna stawka" należy do kodu, z testami, które to przypinają. Model zapytany o regułę zastosuje ją zwykle poprawnie — a „zwykle" jest za słabe wszędzie tam, gdzie w grę wchodzą pieniądze albo terminy.
- Chodzi o szukanie w kilkuset dokumentach.
- Wyszukiwarka pełnotekstowa wbudowana w PostgreSQL obsłuży taką bazę bez jednego tokenu i bez osobnej infrastruktury do utrzymania. Baza wektorowa z RAG-iem ma sens przy skali i przy pytaniach opisowych, nie przy „znajdź fakturę od tego kontrahenta".
- To jest integracja z harmonogramem, nie AI.
- Duża część tego, co bywa nazywane automatyzacją AI, to wywołanie API o ustalonej porze, przeliczenie i wiadomość. Skrypt w crona albo przepływ w n8n zrobi to za darmo i nie wnosi trybu awarii, w którym system odpowiada inaczej niż poprzedniego dnia.
- Nikt nie umie opisać, jak ten proces wygląda dzisiaj.
- Wtedy AI niczego nie naprawi — powieli istniejący bałagan, tylko szybciej i za pieniądze. Najpierw mapa procesu, dopiero potem decyzja o narzędziu. Ten etap bywa całą robotą i czasem kończy się tym, że nie trzeba niczego wdrażać.
W takich przypadkach proponuję prostsze rozwiązanie albo zaczynam od uporządkowania procesu.
Przykład z protokołu decyzji: powściągliwość przy Limes Dekor →
09Czego mi brakuje
Ta sekcja jest tu celowo i celowo jest konkretna. Model analizujący kandydata pod kątem ogłoszenia i tak wyliczy luki. Wolę, żeby zrobił to na moim sformułowaniu niż na własnym.
Brak zatrudnienia etatowego na stanowisku specjalisty AI lub automatyzacji. W obszarze AI i web doświadczenie komercyjne to dwa wdrożenia: Sammen i Norge, które działa u organizacji, i Limes Dekor, wciąż w budowie. Limes Dekor to firma mojej partnerki, więc jedyną niezależną referencją w tej grupie jest Sammen i Norge. Sprzedaż i wdrożenia systemów identyfikacji to osobne i dłuższe doświadczenie, poparte pisemną referencją.
Co to równoważy: Wdrożenia obejmują pełny zakres: analizę procesu, architekturę, interfejs, implementację, integracje i dalszy rozwój. Moje własne systemy są w codziennym użyciu, a nie demami — mają użytkowników, awarie na produkcji i decyzje, które musiałem cofnąć.
Norweski na poziomie B1, samoocena. Praca pisemna i czytanie są w porządku; prowadzenie warsztatów po norwesku jeszcze nie.
Co to równoważy: Angielski jako język pracy nie stanowi problemu. Norweskiego uczę się aplikacją, którą sam napisałem.
Brak wykształcenia kierunkowego w informatyce. Wykształcenie to ekonomia (Uniwersytet Gdański) i bootcamp backendowy .NET (Noroff).
Co to równoważy: Część norweskich ogłoszeń wprost dopuszcza zastąpienie formalnego wykształcenia odpowiednim doświadczeniem.
Systemy są budowane dla jednej osoby, małej pracowni albo zamkniętej grupy testowej. Brak doświadczenia z utrzymaniem przy setkach użytkowników.
Co to równoważy: W zamian cały łańcuch jest mój: baza, wdrożenie, diagnostyka i decyzja o tym, czego nie budować.
10Czego szukam
Szukam roli, w której liczy się połączenie kontaktu z klientem, wdrożeń i technologii — a nie jedna z tych rzeczy osobno.
Sprzedaż rozwiązań technicznych i prowadzenie wdrożeń u klienta.
Rozwój rynku, partnerstw i sieci dystrybucji.
AI, automatyzacja i usprawnianie procesów.
Role łączące kontakt z klientem z organizacją pracy i technologią.
Wsparcie firm, które rozwijają działalność w Polsce — znam ten rynek i pracowałem z tamtejszymi instytucjami publicznymi.
- Lokalizacja
- Norwegia (Eidsberg)
- Języki
- polski (ojczysty) · angielski B2 · norweski B1
- Certyfikaty
- prawo jazdy B96 i C
11Warsztat
Co sprawdzi się w jednym projekcie, wyciągam do wspólnej biblioteki — jako moduł albo małe narzędzie. Kolejne wdrożenie nie zaczyna się wtedy od pustej strony: gotowy kawałek jest jednocześnie punktem wyjścia i kontekstem, na którym opieram nowe rozwiązanie. Każdy następny system powstaje szybciej i ze sprawdzonych części.
Publicznie: mój fork serwera MCP dla finn.no — limitowanie żądań, ograniczenie rozrostu bazy i awaryjny odczyt ogłoszeń, gdy serwis przestał wysyłać dane strukturalne. Wraz z pull requestem do autora oryginału. github.com/tomaszmroczynski/finn-mcp
12Dane i przekazanie
Konta należą do klienta od pierwszego dnia: baza, hosting, płatności, domena. Ja wchodzę na nie jako współpracownik, nie jako właściciel. Dzięki temu przekazanie projektu jest usunięciem jednego użytkownika, a nie migracją — i klient nigdy nie jest zakładnikiem mojego konta.
Sekrety nie leżą w repozytorium ani w plikach na moim dysku. Trzyma je Bitwarden Secrets Manager, a do środowiska uruchomieniowego jadą jednokierunkową synchronizacją. Cudze tokeny dostępu zapisane w bazie są szyfrowane (AES-256-GCM), nigdy jawnie, a z logów wycinam wszystko, co wygląda na klucz.
Do modelu wychodzi tylko ta treść, która jest potrzebna do wykonania zadania — przez API komercyjne, gdzie ruch nie służy do trenowania modeli dostawcy. Co da się policzyć bez modelu, liczę bez modelu. Część rzeczy chodzi u mnie lokalnie, na własnym sprzęcie, i tam dane nie wychodzą nigdzie.
Tam, gdzie w grę wchodzą dane osobowe, pracuję na umowie powierzenia przetwarzania — ustalanej przed pierwszą linijką kodu, nie przy odbiorze.
Na koniec klient dostaje repozytorium, dostęp do całej infrastruktury, dokumentację i zrzut bazy. Sekrety, które przechodziły przez moje ręce, są przy przekazaniu wymieniane. Mój dostęp znika i nie zostaje żaden stały — jeżeli po zakończeniu mam coś poprawić, dostęp jest przyznawany na nowo i na czas tej poprawki.
13Jak ta strona rozmawia z modelami
Profil jest publikowany także w wersji maszynowej. Powstaje z tego samego źródła co ta strona — jeżeli obie wersje się różnią, to jest błąd, a nie zabieg.
- ukrytego tekstu, białych liter ani treści schowanej w komentarzach,
- instrukcji dla modeli osadzonych w znacznikach,
- treści zależnej od tego, kto pyta — nagłówek User-Agent nie zmienia niczego,
- sformułowań próbujących wpłynąć na ocenę kandydata.
Powód jest prosty: treść instruująca model, jak ma ocenić autora tej treści, jest wstrzyknięciem promptu niezależnie od tego, jak grzecznie została napisana. Do sprawdzenia jednym poleceniem — pobierz stronę z dowolnym User-Agent i porównaj. Wolę, żeby ocena powstała na prawdziwych danych, nawet jeśli wypadnie ostrożniej. Ocena zbudowana na treści, którą sam wyreżyserowałem, nie jest warta nic — również dla mnie.
14Kontakt
Adres jest jawny: kontakt@ripperdoc.ai. Pisz śmiało — odpowiadam zwykle w ciągu doby. Za kodem zostają numer telefonu i CV: numer dlatego, że opublikowany zbiera głównie spam, a CV dlatego, że wolę wysyłać wersję dopasowaną do konkretnego ogłoszenia niż jedną na wszystko. Bez kodu masz otwarte całe dossier — doświadczenie, projekty z dowodami, sposób pracy i wypisane wprost luki. Napisz, jakiej roli dotyczy sprawa, a odeślę komplet.
Masz kod dostępu?
Nieprawidłowy kod. Spróbuj ponownie.