[{"data":1,"prerenderedAt":337},["ShallowReactive",2],{"/pl/works":3,"seo-stack":38,"seo-faq-data-pl":129,"projects-pl":199},{"id":4,"title":5,"body":6,"date":28,"description":29,"extension":30,"head":28,"meta":31,"navigation":32,"ogImage":28,"path":33,"robots":28,"schemaOrg":28,"seo":34,"sitemap":35,"stem":36,"__hash__":37},"content_pl/pl/2.works.md","Prace",{"type":7,"value":8,"toc":25},"minimark",[9],[10,11,12,20],"works",{},[13,14,16],"template",{"v-slot:title":15},"",[17,18,19],"p",{},"Moje prace",[13,21,22],{"v-slot:subtitle":15},[17,23,24],{},"Kilka projektów, nad którymi pracowałem",{"title":15,"searchDepth":26,"depth":26,"links":27},2,[],null,"Projekty, które stworzyłem","md",{},true,"/pl/works",{"title":5,"description":29},{"loc":33},"pl/2.works","l_Rtvi03_0ggGoQevZVaCUPibPFSJzW0wM60X1b5fcU",{"id":39,"extension":40,"items":41,"meta":106,"stem":127,"__hash__":128},"stack/stack.json","json",[42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102],{"name":43,"link":44,"icon":45},"Nuxt","https://nuxt.com/","custom:nuxt",{"name":47,"link":48,"icon":49},"Vue","https://vuejs.org/","custom:vue",{"name":51,"link":52,"icon":53},"TypeScript","https://www.typescriptlang.org/","custom:typescript",{"name":55,"link":56,"icon":57},"Node.js","https://nodejs.org/","custom:node-js",{"name":59,"link":60,"icon":61},"React/React Native","https://react.dev/","custom:reactjs",{"name":63,"link":64,"icon":65},"TailwindCSS","https://tailwindcss.com/","custom:tailwind",{"name":67,"link":68,"icon":69},"Supabase","https://www.prisma.io/","custom:supabase",{"name":71,"link":72,"icon":73},"Postgre","https://www.postgresql.org/","custom:pgsql",{"name":75,"link":76,"icon":77},"Rust","https://www.rust-lang.org/","custom:rust",{"name":79,"link":80,"icon":81},"Python","https://www.python.org/","custom:python",{"name":83,"link":84,"icon":85},"Lua","https://www.lua.org/","custom:lua",{"name":87,"link":88,"icon":89},"C++","https://isocpp.org/","custom:cpp",{"name":91,"link":92,"icon":93},"Golang","https://go.dev/","custom:go",{"name":95,"link":96,"icon":97},"Figma","https://www.figma.com/","custom:figma",{"name":99,"link":100,"icon":101},"Photoshop","https://www.adobe.com/products/photoshop.html","custom:photoshop",{"name":103,"link":104,"icon":105},"Illustrator","https://www.adobe.com/products/illustrator.html","custom:illustrator",{"path":107,"body":108,"title":126},"/stack",{"items":109},[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],{"name":43,"link":44,"icon":45},{"name":47,"link":48,"icon":49},{"name":51,"link":52,"icon":53},{"name":55,"link":56,"icon":57},{"name":59,"link":60,"icon":61},{"name":63,"link":64,"icon":65},{"name":67,"link":68,"icon":69},{"name":71,"link":72,"icon":73},{"name":75,"link":76,"icon":77},{"name":79,"link":80,"icon":81},{"name":83,"link":84,"icon":85},{"name":87,"link":88,"icon":89},{"name":91,"link":92,"icon":93},{"name":95,"link":96,"icon":97},{"name":99,"link":100,"icon":101},{"name":103,"link":104,"icon":105},"Stack","stack","aWyFpcVGYuaHymPCKadQyiY7s0WWw_rDYWJaXBNtvoc",{"id":130,"title":131,"extension":40,"faqQuestions":132,"meta":175,"stem":197,"subtitle":178,"__hash__":198},"faq_pl/pl/faq.json","FAQ",[133,145,163],{"title":134,"questions":135},"O mnie i umiejętnościach",[136,139,142],{"label":137,"content":138},"Jakie usługi oferujesz?","**Web Development**: Strony responsywne, landing page'i, aplikacje webowe, UI/UX | **Mobile**: Aplikacje mobilne (uczę się React Native) | **Game Dev**: Skrypty dla FiveM (Lua), Modelowanie 3D (budynki, pojazdy etc) | **Backend**: Node.js, API, bazy danych. Szukam projektów, które pomogą mi rosnąć, a klientowi dostarczę jakość.",{"label":140,"content":141},"Czym się zajmujesz?","**Frontend**: HTML, CSS, JavaScript, TypeScript, Vue.js, Nuxt.js, React, Tailwind | **Backend**: Node.js, Express.js, PostgreSQL, MongoDB | **DevOps**: Git, Docker, Linux, wdrażanie aplikacji. Ciągle się uczę i rozwijam swoje umiejętności.",{"label":143,"content":144},"Jesteś dostępny do pracy?","Tak! Szukam projektów freelance, staży i pracy pełnoetatowej. Interesują mnie projekty, które pozwolą mi się rozwijać i dostarczać wartość.",{"title":146,"questions":147},"Współpraca i ceny",[148,151,154,157,160],{"label":149,"content":150},"Ile kosztuje?","Stawki są elastyczne - zazwyczaj €25-40 za godzinę dla pracy freelance. Dla większych projektów możemy ustalić cenę całościową lub pakietową.",{"label":152,"content":153},"Jak wygląda proces płatności?","Zazwyczaj proszę o 40% zaliczki na start, resztę 60% na koniec. Mogę zaakceptować przelew, PayPal albo inne metody. Dla dużych projektów - płatności etapowe po osiągnięciu milestones'ów.",{"label":155,"content":156},"Jak długo trwa projekt?","Zależy od skali. Prosta landing page: 1-2 tygodnie. Złożona aplikacja: 1-3 miesiące. Zawsze daję realny szacunek i informuję o postępach.",{"label":158,"content":159},"Jak pracujesz nad projektami?","Zaczynam od zrozumienia wymagań, potem rozbijam to na mniejsze zadania. Wierzę w jasną komunikację i czystym kod. Nie boję się pytać, gdy coś jest niejasne.",{"label":161,"content":162},"Pracujesz w zespołach?","Lubię! Pracowałem w zespołach, znam Git, code review, patrzę na kod innych. Staram się być łatwy do pracy i otwarty na feedback.",{"title":164,"questions":165},"Osobiste",[166,169,172],{"label":167,"content":168},"Co Cię motywuje?","Rozwiązywanie problemów i widzenie, że coś moje działa w prawdziwym życiu. Każdy projekt to szansa, aby się nauczyć czegoś nowego. To satysfakcjonujące!",{"label":170,"content":171},"Jak się aktualizujesz?","Czytam blogi, uczestniczę w społecznościach developerów, robię side-projecty, biorę kursy. W tej branży musisz się ciągle uczyć - i lubię to.",{"label":173,"content":174},"Czego się uczysz teraz?","Pogłębiam TypeScript, zaawansowane wzorce Vue.js, optymalizację wydajności i accessibility. Chciałbym też więcej wiedzieć o backend'zie i DevOps'ie.",{"path":176,"body":177},"/pl/faq",{"title":131,"subtitle":178,"faqQuestions":179},"Często zadawane pytania",[180,185,192],{"title":134,"questions":181},[182,183,184],{"label":137,"content":138},{"label":140,"content":141},{"label":143,"content":144},{"title":146,"questions":186},[187,188,189,190,191],{"label":149,"content":150},{"label":152,"content":153},{"label":155,"content":156},{"label":158,"content":159},{"label":161,"content":162},{"title":164,"questions":193},[194,195,196],{"label":167,"content":168},{"label":170,"content":171},{"label":173,"content":174},"pl/faq","TXjuRP2jHY72uT4DTozaL4U0aHHBGEzUGSD0KbL_qaU",[200,231,252,272,312],{"id":201,"date":202,"description":203,"extension":40,"featured":32,"gallery":204,"github":15,"image":205,"link":28,"meta":209,"name":212,"release":202,"slug":213,"stem":228,"techStack":229,"website":226,"__hash__":230},"projects_pl/pl/projects/omniroute.json","2026","OmniRoute to pełnostackowa platforma dla wirtualnych firm spedycyjnych (VS) w Euro Truck Simulator 2 i American Truck Simulator. Automatycznie śledzi trasy z telemetrii gry poprzez natywną aplikację desktopową zbudowaną w Tauri i Rust, a następnie przesyła je do centralnego API z statystykami, rankingami i zarządzaniem firmą. Ekosystem obejmuje panel webowy Next.js z ponad 40 stronami, REST API Fastify z bazą PostgreSQL, bota Discord ze slash komendami i systemem ticketów oraz współdzielone monorepo TypeScript. Kluczowe funkcje to ekonomia OmniCoins, role firmowe z niestandardowymi uprawnieniami, opisy firm w rich-text, storage Cloudflare R2, weryfikacja e-mail i narzędzia administracyjne.",[205,206,207,208],"/projects/omniroute/omniroute.png","/projects/omniroute/omniroute-home.png","/projects/omniroute/omniroute-dashboard.png","/projects/omniroute/omniroute-desktop.png",{"path":210,"body":211,"title":227},"/pl/projects/omniroute",{"name":212,"slug":213,"date":202,"release":202,"featured":32,"image":205,"gallery":214,"description":203,"techStack":215,"website":226,"github":15},"OmniRoute","omniroute",[205,206,207,208],[216,51,217,75,218,219,220,221,222,223,224,225],"Next.js","Tauri","Fastify","PostgreSQL","Prisma","Tailwind CSS","Cloudflare R2","Discord.js","Docker","Framer Motion","https://omniroute.cloud","Omniroute","pl/projects/omniroute",[216,51,217,75,218,219,220,221,222,223,224,225],"IfYhuY296jQ9BcWP9OcHT30yovy2Yep2o_47K6lTsII",{"id":232,"date":202,"description":233,"extension":40,"featured":32,"gallery":234,"github":15,"image":235,"link":28,"meta":237,"name":240,"release":202,"slug":241,"stem":249,"techStack":250,"website":247,"__hash__":251},"projects_pl/pl/projects/roder-vs.json","Röder VS to wirtualna firma spedycyjna działająca na platformach Euro Truck Simulator 2 oraz American Truck Simulator. Po rebrandingu stawia na profesjonalizm, minimalistyczną estetykę i najwyższą jakość. Charakterystyczny design – biała Scania S z czarną naczepą Krone – wyróżnia flotę na drogach Europy i Ameryki. Firma organizuje regularne konwoje, dba o aktywną społeczność kierowców i najwyższe standardy wirtualnego transportu. Röder VS to miejsce dla osób ceniących terminowość, nowoczesną flotę i kulturę zespołową. Dołącz do elity wirtualnych dróg!",[235,236],"/projects/roder-vs/roder-vs.png","/projects/roder-vs/roder-vs2.png",{"path":238,"body":239,"title":248},"/pl/projects/roder-vs",{"name":240,"slug":241,"date":202,"release":202,"featured":32,"image":235,"gallery":242,"description":233,"techStack":243,"website":247,"github":15},"Röder VS","roder-vs",[235,236],[244,51,245,221,225,246],"React","Vite","React Router DOM","https://roder-vs.pl","Roder Vs","pl/projects/roder-vs",[244,51,245,221,225,246],"9GCntLjKp2Y7Vosd_OYH8-m1fOjsWKPnuMNHGJ3A1XU",{"id":253,"date":254,"description":255,"extension":40,"featured":32,"gallery":256,"github":15,"image":257,"link":28,"meta":260,"name":263,"release":254,"slug":264,"stem":269,"techStack":270,"website":267,"__hash__":271},"projects_pl/pl/projects/projectcracow.json","2025","Project Cracow to immersyjny serwer roleplay (FiveM) osadzony we współczesnym Krakowie, stworzony jako centrum społeczności graczy szukających realizmu, narracji i wyborów z konsekwencjami. Strona prezentuje trzy ścieżki kariery (półświatek przestępczy, cywile i biznesy, służby mundurowe), gospodarkę opartą na frakcjach, aktualności, eventy oraz onboarding zachęcający do dołączenia na Discord i na serwer. Projekt reprezentuje zespół Project Cracow i rekrutuje polskich graczy RP, podkreślając żyjące dzielnice, rozwój postaci i wspólnotę, która współtworzy miasto.",[257,258,259],"/projects/projectcracow/projectcracow.png","/projects/projectcracow/projectcracow2.png","/projects/projectcracow/projectcracow3.png",{"path":261,"body":262,"title":268},"/pl/projects/projectcracow",{"name":263,"slug":264,"date":254,"release":254,"featured":32,"image":257,"gallery":265,"description":255,"techStack":266,"website":267,"github":15},"Project Cracow","project-cracow",[257,258,259],[244,51,245,221,225,246],"https://projectcracow.pl","Projectcracow","pl/projects/projectcracow",[244,51,245,221,225,246],"xgepewSOSFzp55tHglRnIVPozrUGo7U8s1Dp0BFj68o",{"id":273,"date":274,"description":275,"extension":40,"featured":32,"gallery":276,"github":280,"image":277,"link":28,"meta":281,"name":284,"release":274,"slug":285,"stem":309,"techStack":310,"website":307,"__hash__":311},"projects_pl/pl/projects/portfoliov2.json","2024","Nowoczesne, interaktywne portfolio programisty stworzone z wykorzystaniem najnowszych technologii frontendowych. Projekt prezentuje portfolio, umiejętności i doświadczenie w atrakcyjny, wizualnie imponujący sposób z efektami glassmorphism i zaawansowanymi animacjami. Główne funkcjonalności obejmują: efekt glassmorphism z przeszklonymi kartami, animowany background z 1500 interaktywnymi cząsteczkami, responsywny design dopasowany do wszystkich urządzeń, płynne animacje wykorzystujące Framer Motion, parallax scrolling w sekcji hero oraz zaawansowane hover effects. Portfolio wspiera wiele języków, zawiera interaktywną nawigację glassmorphic, sekcje z animowanym nagłówkiem hero, karty informacyjne 'o mnie', kategoryzowaną sekcję umiejętności, grid projektów z filtrowaniem według kategorii (Web, Mobile, Scripts, Other), modale projektów ze szczegółami oraz sekcję kontaktową. Projekt wykorzystuje smooth scrolling, eleganckie loading states, micro-interactions oraz progressive disclosure dla lepszego UX. Zbudowane na Next.js 15.2.4 z React 19 i TypeScript 5, stylizowane przy użyciu Tailwind CSS 3.4, z bogatym zestawem komponentów Radix UI, walidacją formularzy przez React Hook Form i Zod, oraz wdrożone na Vercel.",[277,278,279],"/projects/portfoliov2/portfoliov2.png","/projects/portfoliov2/portfoliov2-1.png","/projects/portfoliov2/portfoliov2-2.png","https://github.com/KetusDev/PortfolioV2",{"path":282,"body":283,"title":308},"/pl/projects/portfoliov2",{"name":284,"slug":285,"date":274,"release":274,"featured":32,"image":277,"gallery":286,"description":275,"techStack":287,"website":307,"github":280},"Portfolio V2","portfoliov2",[277,278,279],[288,289,290,291,225,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306],"Next.js 15.2.4","React 19","TypeScript 5","Tailwind CSS 3.4","Radix UI","React Hook Form","Zod","Lucide React","Sonner","cmdk","date-fns","embla-carousel-react","react-day-picker","recharts","vaul","class-variance-authority","tailwind-merge","pnpm","Vercel","https://ketusdev2.vercel.app/","Portfoliov2","pl/projects/portfoliov2",[288,289,290,291,225,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306],"lszXxmigkKJzh8nfvGVLoWy9NKGTWSSd6JwYaGG8Wcc",{"id":313,"date":314,"description":315,"extension":40,"featured":316,"gallery":317,"github":320,"image":318,"link":28,"meta":321,"name":324,"release":314,"slug":325,"stem":334,"techStack":335,"website":332,"__hash__":336},"projects_pl/pl/projects/oldportfolio.json","2023","Old Portfolio to poprzednia wersja mojego portfolio — szybka, dwujęzyczna (PL/EN) i pełna animacji, zbudowana, by czytelnie pokazywać projekty, doświadczenie i możliwość kontaktu. Stworzyłem responsywny layout z dark mode, płynnymi mikroanimacjami (Framer Motion) oraz formularzem na EmailJS, walidowanym przez React Hook Form. UI opiera się na Tailwind CSS oraz komponentach shadcn/ui i Radix UI, a mapy w sekcji kontaktu obsługuje React Leaflet. Całość działa na Next.js 15 z TypeScriptem, wdrożona na Vercel z analityką Vercel Analytics, zoptymalizowana pod wydajność i SEO. Ten projekt był solidną bazą pod obecną, nuxtową odsłonę portfolio.",false,[318,319],"/projects/old-portfolio/old-portfolio.png","/projects/old-portfolio/old-portfolio2.png","https://github.com/KetusDev/old-portfolio",{"path":322,"body":323,"title":333},"/pl/projects/oldportfolio",{"name":324,"slug":325,"date":314,"release":314,"featured":316,"image":318,"gallery":326,"description":315,"techStack":327,"website":332,"github":320},"Portfolio V1","portfoliov1",[318,319],[216,51,221,328,292,225,293,329,330,331],"shadcn/ui","EmailJS","React Leaflet","Vercel Analytics","https://ketusdev-old.vercel.app/","Oldportfolio","pl/projects/oldportfolio",[216,51,221,328,292,225,293,329,330,331],"2vtD5o8W4aQ1vg-xzxaMFXu8AqZzCm6EvTip4sPH7_8",1785840163381]