View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
View piowit's full-sized avatar

Organizations

@visualitypl@InfuseGroup

Block or report piowit

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
piowit/README.md

Welcome! I'm piowit πŸ‘‹

A picture is worth a thousand words

Me during my bachelor party with my cherished car aflame in the background. The image encapsulates the essence of staying calm and finding joy, even amidst challenges and unexpected events. πŸ”₯😊

Me during my bachelor party with my cherished car aflame in the background

About Me πŸ“Œ

Hi there! Before dedicating myself fully to software engineering, I spent 9 incredible years as a motion graphics designer, where I honed my leadership skills as a team lead for three of those years. In 2022, I made a full commercial transition to the tech world, closing the motion graphics chapter. However, my love for programming dates back to when I was just 13 years old. From building webpages, CMS, and forums, to modifying games, my curiosity in the tech realm has always been relentless.

Now, I'm deeply immersed in full-stack and backend development. My core expertise lies in Ruby, Ruby on Rails, Hotwire, and JavaScript, but my daily toolkit has recently expanded to include Astro and Strapi, alongside Next.js, WebSockets, Docker workflows, and AI-assisted development tools (like Claude Code & MCP servers). I'm passionate about the benefits of TDD, CI/CD, and smooth deployments, always eager to learn more each day.

Currently, I work as an independent software consultant collaborating with multiple companies. I am an expert in system integrations and building robust integration frameworks, helping businesses seamlessly connect complex architectures and streamline their operations.

A few fun facts about me:

  • 🌍 I have an insatiable wanderlust. Whether it's a camping road trip across the Balkans in a VW T4 or flying to Japan, I love exploring the world in unconventional ways.
  • 🐈 Passionate about all creatures great and small, I share my home with a black cat.
  • 🎡 Music is my outlet! In my free time, you might find me strumming my guitar (acoustic or electric), playing the piano, or taking singing lessons.
  • πŸ› οΈ I'm a tinkerer at heart. Offline, I enjoy tweaking cars and fixing motorcycles (like my BMW R1100GS). Online, I'm obsessed with my homelab, running Home Assistant and self-hosting services.
  • 🌱 Gardening brings me peace, and I love taking care of my indoor palms.
  • πŸ‘― I’m open to collaborating on anything intriguing!
  • πŸ“š Teaching is another passion of mine. I've given multiple workshops about Hotwire at Ruby Community Conferences.
  • ❀️ I'm also developing small applications with my wife, Kaja, who is a solid mid-level software developer!

Meet Me In Person 🀝

I love to meet like-minded individuals and engage in enriching discussions. You can usually find me at:

My Public Speakings & Workshops πŸŽ™οΈ

  • Ruby Cracow Community Conference 2026 - Building a Live Kanban Board with Hotwire and Rails workshop.
  • Ruby Cracow Community Conference Winter 2025 - Hotwire workshops
  • Ruby Warsaw Community Conference Summer 2024 - Hotwire workshops
  • Lightning Talk: Replace Frontend Developer with Ruby Junior and Hotwire - Shared my story about removing React in favor of Rails and Hotwire.
  • Parameter Conflicts in Rails: URL vs. Body - Describing a bug caused by poorly designed frontend-backend communication.

My Blogposts πŸ“°

Projects I've Worked On πŸ’Ό

  • Pinpoint - A modern Applicant Tracking System (ATS).
  • VettaFi - ETF Knowledge Hub.
  • Webhook Inspector - An internal tool for advanced request logging and team debugging.
  • VAS Valuation Group - A UK-based valuation and project monitoring platform.
  • Vibemetrics - An employee engagement and real-time feedback platform.
  • Nerds.Family - An IT education platform and community.

Connect with Me 🌐

Thank you for stopping by! Let's create something awesome together. πŸ‘©β€πŸ’»πŸš€

Hits

GitHub Streak

Popular repositories Loading

  1. friends friendsPublic

    freecodecamp ror tutorial

    Ruby 1

  2. employee-recognition-platform-1638892628 employee-recognition-platform-1638892628Public

    Ruby

  3. event-calendar event-calendarPublic

    Ruby

  4. bikeramp bikerampPublic

    Ruby

  5. algo-training algo-trainingPublic

    Ruby

  6. today-i-learned today-i-learnedPublic

    This is my small history of learning :)