<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://marcoghiani.com</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/about</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/snippets</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/subscribe</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/10-programming-code-smells-that-affect-your-codebase</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/10-refactoring-techniques-maintainable-structured-code</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/3-javascript-refactoring-techniques-for-clean-code</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/4-books-everyone-in-tech-should-read-and-why</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/4-custom-hooks-to-boost-your-react-app</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/5-tips-to-speed-up-your-macbook-productivity</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/6-npm-commands-used-by-highly-productive-developers</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/advanced-koa-js-boilerplate</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/do-i-really-know-programming</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/fast-as-never-before-42-mac-keyboard-shortcuts-to-work-5x-faster</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/fullscreen-api-game-changer-website</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/how-i-became-a-fast-learner-changing-my-habits</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/how-the-useeventlistener-hook-will-shrink-your-react-components</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/how-to-become-a-better-software-engineer</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/how-to-use-component-composition-in-react</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/how-to-use-react-reducer-effectively</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/how-to-use-the-react-hook-usedeepeffect</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/introducing-react-v18-examples</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/lazy-load-react-components-with-strong-type-inference</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/learning-git-shortcuts</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/moving-beyond-console-log-8-console-methods-you-should-use-when-debugging-javascript-and-node</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/react-custom-hooks-usefontsize</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/react-custom-hooks-uselocalstorage</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/react-custom-hooks-usetoggle-useboolean</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/redux-store-setup-for-your-react-application</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/refactoring-a-react-component</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/remote-work-transforms-you-into-your-best-version</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/runtime-type-encoding-decoding-io-ts</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/the-daily-routine-to-achieve-more</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/blog/write-a-javascript-fetch-wrapper-in-less-than-1kb</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/blobmaker</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/blush</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/checklist-design</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/coding-fonts</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/color-review</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/colormixer</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/colorpalettes</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/coolors</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/cubic-bezier</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/doodad-pattern-generator</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/drawkit</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/getwaves</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/happyhues</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/meshedup</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/neumorphism</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/pickbetterpack</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/principles-design</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/transition-style</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/type-scale</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/ui-glass</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/undraw--illustrations</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/webgradients</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/dev-tools/wicked-backgrounds</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/snippets/array-flat-and-flatmap</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/snippets/error-first-callback-functions-to-promises</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/snippets/filter-method-for-object-properties</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/snippets/object-array-deep-clone</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
<url>
<loc>https://marcoghiani.com/snippets/use-viewport-custom-hook</loc>
<lastmod>2025-06-17T07:04:29.189Z</lastmod>
<changefreq>monthly</changefreq>
</url>
</urlset>
