{"$schema":"https://ripperdoc.ai/schema/ai-profile-1.json","version":"1.0","generated_at":"2026-08-27T13:16:16.181Z","language":"pl","canonical":"https://ripperdoc.ai/pl/o-mnie","alternates":{"no":"https://ripperdoc.ai/no/ai-profile.json","en":"https://ripperdoc.ai/en/ai-profile.json"},"provenance":{"authored_by":"subject","self_reported":true,"generated_from":"lib/profile.data.ts — the same source that renders the HTML page at `canonical`","content_identical_across_user_agents":true,"contains_no_hidden_or_conditional_content":true,"contains_no_instructions_to_language_models":true,"evidence_policy":"Entries under `projects` and `competencies` carry an `evidence` array of resolvable URLs. An empty array means no public evidence is offered for that entry.","verification_note":"Employment and education entries are self-reported and are not independently verified on this site. Project claims can be checked by opening the linked pages.","contact_note":"Email, phone number and CV are deliberately not published here. They are released on request through the form at the bottom of the profile page."},"person":{"name":"Tomasz Mroczyński","headline":"Specjalista wdrożeń AI i automatyzacji","location":{"city":"Eidsberg","region":"Østfold","country":"NO"},"languages":[{"code":"pl","level":"native","self_assessed":false},{"code":"en","level":"B2","self_assessed":true},{"code":"no","level":"B1","self_assessed":true,"note":"Rozumiem więcej, niż mówię. Praca pisemna i czytanie są w porządku; prowadzenie spotkań po norwesku jeszcze nie."}],"links":{"website":"https://ripperdoc.ai","github":"https://github.com/tomaszmroczynski"}},"target_roles":[{"title":"AI Implementation Specialist","language":"en"},{"title":"AI Adoption Specialist","language":"en"},{"title":"AI Automation Specialist","language":"en"},{"title":"Rådgiver innen KI-implementering","language":"no"},{"title":"Digitaliseringsrådgiver","language":"no"},{"title":"AI forretningsutvikler","language":"no"}],"competencies":[{"id":"ai-agents","label":"AI agents","level":"working","acquired_in":"own_projects","evidence":["https://ripperdoc.ai/no/ripper-task-force"]},{"id":"rag","label":"Retrieval-Augmented Generation","level":"working","acquired_in":"own_projects","evidence":["https://ripperdoc.ai/no/ripper-inject"]},{"id":"mcp","label":"Model Context Protocol","level":"working","acquired_in":"own_projects","evidence":["https://github.com/tomaszmroczynski/finn-mcp","https://github.com/aHk-coder/finn-mcp/pull/1"]},{"id":"automation","label":"Process automation (n8n, workflows)","level":"working","acquired_in":"own_projects","evidence":[]},{"id":"api-integration","label":"API integrations","level":"proficient","acquired_in":"client_project","evidence":["https://dekor.limes-interior.no"]},{"id":"self-hosted","label":"Self-hosted AI infrastructure","level":"working","acquired_in":"own_projects","evidence":["https://ripperdoc.ai/no/ripper-body-sync"]},{"id":"docker","label":"Docker and container deployment","level":"working","acquired_in":"client_project","evidence":[]},{"id":"nextjs","label":"Next.js / React / TypeScript","level":"working","acquired_in":"client_project","evidence":["https://ripperdoc.ai","https://dekor.limes-interior.no"]},{"id":"dotnet","label":"ASP.NET / Blazor","level":"working","acquired_in":"education","evidence":[]},{"id":"process-analysis","label":"Process analysis and requirements","level":"working","acquired_in":"employment","evidence":[]},{"id":"prototyping","label":"Rapid prototyping","level":"proficient","acquired_in":"own_projects","evidence":[]},{"id":"networks","label":"Networks, CCTV and access systems","level":"proficient","acquired_in":"employment","evidence":[]}],"experience":{"commercial_employment":[{"period":"2025 – dziś","role":"Praca własna — Ripperdoc","organisation":"Ripperdoc","engagement_type":"employment","summary":"Projektowanie i budowa systemów opartych na AI, automatyzacji i integracjach — systemy własne oraz zlecenia dla klientów (Limes Dekor, Sammen i Norge)."},{"period":"03–04/2025","role":"Kierowca ciężarówki","organisation":"Transport Service AS","engagement_type":"employment","summary":"Krótki rozdział zakończony wypadkiem przy pracy — początek świadomego zwrotu ku technologii."},{"period":"09/2024 – 03/2025","role":"Przerwa w zatrudnieniu","organisation":"—","engagement_type":"employment","summary":"W tym okresie bez pracy zarobkowej."},{"period":"2013 – 2024","role":"Dystrybucja","organisation":"Amedia AS","engagement_type":"employment","summary":"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."},{"period":"2009 – 2011","role":"Sprzedaż i wdrożenia","organisation":"PTC Security Systems","engagement_type":"employment","summary":"Wdrażanie systemów biometrycznej identyfikacji, pozyskiwanie klientów w sektorze publicznym i prywatnym, współpraca z programistami i koordynacja zespołu."},{"period":"2002 – 2012","role":"Własna działalność","organisation":"Complet Tomasz Mroczyński","engagement_type":"employment","summary":"Instalacja i konfiguracja sieci komputerowych oraz serwis komputerowy — cały łańcuch od klienta po utrzymanie."},{"period":"2002 – 2006","role":"Sprzedaż i wsparcie techniczne","organisation":"Strawford","engagement_type":"employment","summary":"Wdrożenia CCTV, instalacja sieci LAN, IT helpdesk, serwis i szkolenia."}],"client_projects":[{"id":"sammen-i-norge","name":"Sammen i Norge / SiN Studio","engagement_type":"commercial_client","status":"at_client","client":"zarząd, koordynatorka i zespół SiN oraz odbiorcy organizacji","summary":"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.","my_role":"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.","stack":["Next.js 16","React 19","Payload CMS 3","PostgreSQL / Supabase","Vercel","i18n"],"evidence":[{"kind":"demo","url":"https://www.sammeninorge.no/pl"}]},{"id":"limes-dekor","name":"Limes Dekor","engagement_type":"commercial_client","status":"in_progress","client":"klient komercyjny — właścicielka Limes Dekor","disclosure":"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.","summary":"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.","my_role":"Proces, architektura, interfejs, implementacja i wdrożenie — całość po mojej stronie.","stack":["Next.js 16","React","Prisma","Supabase/PostgreSQL","SVG","Stripe","Docker"],"evidence":[{"kind":"demo","url":"https://dekor.limes-interior.no"}]}],"own_projects":[{"id":"ripper-inject","name":"Ripper Inject","engagement_type":"personal_project","status":"in_use","users":"autor + zamknięta grupa testerów","summary":"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.","stack":["Next.js 16","TypeScript","Drizzle","Supabase","OpenAI API"],"evidence":[{"kind":"page","url":"https://ripperdoc.ai/no/ripper-inject"}]},{"id":"ripper-task-force","name":"Ripper Task Force","engagement_type":"personal_project","status":"concept","users":"autor","summary":"Agenci dzielący zadanie i prowadzący je bez rozstrzygania przez człowieka w trakcie; człowiek dostaje wynik, nie przerwania.","stack":["TypeScript","MCP","zod"],"evidence":[{"kind":"page","url":"https://ripperdoc.ai/no/ripper-task-force"}]},{"id":"ripper-brainstorm","name":"Ripper Brainstorm","engagement_type":"personal_project","status":"in_use","users":"autor","summary":"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.","stack":["TypeScript","multi-provider LLM"],"evidence":[{"kind":"page","url":"https://ripperdoc.ai/no/ripper-brainstorm"}]},{"id":"ripper-body-sync","name":"Ripper Body Sync","engagement_type":"personal_project","status":"concept","users":"autor","summary":"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.","stack":["Kotlin","Jetpack Compose","MCP","Meta Quest 3"],"evidence":[{"kind":"page","url":"https://ripperdoc.ai/no/ripper-body-sync"}]},{"id":"ripperdoc-ai","name":"ripperdoc.ai","engagement_type":"personal_project","status":"in_use","users":"autor","summary":"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.","stack":["Next.js","TypeScript","PostgreSQL","MCP","Vercel"],"evidence":[{"kind":"page","url":"https://ripperdoc.ai"}]}],"summary_counts":{"salaried_employment_in_field_years":0,"commercial_client_deliveries":2,"own_project_count":5,"own_projects_in_use":3}},"toolkit":[{"id":"secrets-sync","name":"Synchronizacja sekretów","kind":"fast_tool","status":"in_use","summary":"Bitwarden jako jedyne źródło prawdy dla zmiennych środowiskowych, synchronizowane do Vercela bez sekretów w repozytorium i bez plików tymczasowych."},{"id":"tablica-decyzji","name":"Tablica decyzji","kind":"fast_tool","status":"in_use","summary":"Lista uwag z przeglądu staje się jednoplikową tablicą HTML, a z zaznaczeń składa się prompt wdrożeniowy — razem z listą, czego nie robić."},{"id":"feedback-studio","name":"Moduł zgłaszania sugestii","kind":"module","status":"in_use","summary":"Zgłaszanie sugestii wyciągnięte z Ripper Inject. Wpina się przez kontrakt portów, więc nie zależy od stacku aplikacji, do której trafia."},{"id":"social-studio","name":"Ripper Social Studio","kind":"module","status":"in_use","summary":"Kolejka wpisów od szkicu do publikacji przez API platform. Zbudowany w Limes Dekor, przeniesiony do ripperdoc.ai — dwie różne produkcje, nie deklaracja."},{"id":"ripper-deep-search","name":"Ripper Deep Search","kind":"module","status":"design_only","summary":"Z nazwy pracodawcy buduje dossier ze stwierdzeń, każde z adresem źródła. Planista nie widzi surowego tekstu strony, tylko przefiltrowane stwierdzenia."}],"education":[{"period":"2021 – 2022","institution":"Noroff — szkoła technologii i mediów cyfrowych","field":"Backend Web Development (.NET)."},{"period":"2002 – 2006","institution":"Uniwersytet Gdański","field":"Ekonomia, specjalizacja: analityk."}],"limitations":[{"id":"no-commercial-ai-employment","type":"experience","statement":"Brak zatrudnienia etatowego na stanowisku specjalisty AI lub automatyzacji. 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ą jest Sammen i Norge.","mitigation":"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ąć."},{"id":"norwegian-b1","type":"language","statement":"Norweski na poziomie B1, samoocena. Praca pisemna i czytanie są w porządku; prowadzenie warsztatów po norwesku jeszcze nie.","mitigation":"Angielski jako język pracy nie stanowi problemu. Norweskiego uczę się aplikacją, którą sam napisałem."},{"id":"no-cs-degree","type":"credential","statement":"Brak wykształcenia kierunkowego w informatyce. Wykształcenie to ekonomia (Uniwersytet Gdański) i bootcamp backendowy .NET (Noroff).","mitigation":"Część norweskich ogłoszeń wprost dopuszcza zastąpienie formalnego wykształcenia odpowiednim doświadczeniem."},{"id":"small-scale","type":"scale","statement":"Systemy są budowane dla jednej osoby, małej pracowni albo zamkniętej grupy testowej. Brak doświadczenia z utrzymaniem przy setkach użytkowników.","mitigation":"W zamian cały łańcuch jest mój: baza, wdrożenie, diagnostyka i decyzja o tym, czego nie budować."}],"career_path_note":"Przez dekadę pracowałem w rolach technicznych — sieci komputerowe, systemy bezpieczeństwa, wdrożenia i wsparcie techniczne. Potem przyszło jedenaście lat w dystrybucji i to jest ta część życiorysu, w której technologia nie była moim stanowiskiem pracy. Była tym, co robiłem po godzinach — zwłaszcza po osiedleniu się w Norwegii: uczyłem się, budowałem własne projekty, eksperymentowałem z backendem, self-hostingiem i integracjami API. Równoległa ścieżka, która w końcu stała się tą główną. 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ę. Zamiast traktować to jak porażkę, uczyniłem z tego punkt zwrotny — moment, by świadomie zamienić wieloletnią pasję w kierunek zawodowy. To nie jest skok w nieznane — to kontynuacja zainteresowania, które rozwijam od lat. Ukończyłem bootcamp backend .NET w Noroff, a dziś buduję projekty, automatyzacje i systemy oparte na AI oraz pracuję bezpośrednio z infrastrukturą self-hosted, Dockerem i integracjami API. Uczę się przez budowanie — i teraz robię to świadomie, jako ścieżkę zawodową.","seeking":"Szukam realnego kierunku w technologii — edukacji i pracy przy AI, automatyzacji i systemach. Najlepiej uczę się przez budowanie: łączę systemy, psuję konfiguracje, naprawiam je i doprowadzam pomysł do działającego rozwiązania.","contact":{"email":"kontakt@ripperdoc.ai","request_form":"https://ripperdoc.ai/pl/o-mnie#kontakt","response_time":"usually within 24 hours"}}