<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.franciscomoretti.com/</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/projects</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/22-useful-console-log-methods-every-web-developer-should-know</loc>
<lastmod>2023-06-17T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/automate-your-job-search</loc>
<lastmod>2025-01-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/avoid-hasty-abstractions-aha</loc>
<lastmod>2023-06-23T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/avoid-mental-mapping</loc>
<lastmod>2023-05-22T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/avoid-negative-conditionals</loc>
<lastmod>2023-06-05T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/avoid-side-effects</loc>
<lastmod>2023-06-12T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/avoiding-common-mistakes-proper-error-handling-in-web-development</loc>
<lastmod>2023-06-16T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/avoiding-mistakes-in-nextjs-using-the-typescript-plugin</loc>
<lastmod>2023-07-15T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/building-an-autolink-heading-component-for-react-navigation</loc>
<lastmod>2023-07-03T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/command-query-separation-cqs</loc>
<lastmod>2023-06-29T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/comparing-deep-research-uis</loc>
<lastmod>2025-04-24T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/composition-vs-inheritance-which-is-better-for-your-code</loc>
<lastmod>2023-01-16T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dependency-inversion-principle-dip</loc>
<lastmod>2023-05-30T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dont-add-unneeded-context</loc>
<lastmod>2023-06-07T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dont-ignore-caught-errors</loc>
<lastmod>2023-06-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dont-over-optimize</loc>
<lastmod>2023-05-29T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dont-repeat-yourself-dry</loc>
<lastmod>2023-06-21T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dont-swallow-exceptions</loc>
<lastmod>2023-06-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dont-use-flags-as-function-parameters</loc>
<lastmod>2023-05-26T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dont-use-magic-numbers</loc>
<lastmod>2023-05-24T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/dry-vs-wet-vs-aha-principles-comparison-for-web-development</loc>
<lastmod>2023-06-24T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/elevate-your-react-projects-with-the-command-component</loc>
<lastmod>2023-06-13T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/encapsulate-conditionals</loc>
<lastmod>2023-06-06T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/eslint-vs-code-extension</loc>
<lastmod>2023-05-19T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/few-function-arguments</loc>
<lastmod>2023-05-27T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/fix-mobile-keyboard-overlap-with-visualviewport</loc>
<lastmod>2025-08-24T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/from-callback-hell-to-promiseland-simplifying-asynchronous-javascript</loc>
<lastmod>2023-06-15T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/function-names-should-say-what-they-do</loc>
<lastmod>2023-05-26T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/functions-should-do-one-thing</loc>
<lastmod>2023-05-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-animate-on-scroll-with-react-intersection-observer-and-tailwind-in-a-nextjs-app</loc>
<lastmod>2023-01-25T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-create-consistent-styles-with-tailwind-mdx-and-html</loc>
<lastmod>2023-07-03T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-install-and-configure-git-with-aliases-in-ubuntu-22-04</loc>
<lastmod>2023-05-17T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-install-next-js-in-ubuntu-22-a-step-by-step-guide</loc>
<lastmod>2023-07-06T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-install-next-js-in-windows-using-wsl2-a-step-by-step-guide</loc>
<lastmod>2023-05-13T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-set-up-google-analytics-on-a-nextjs-website</loc>
<lastmod>2022-05-14T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-set-up-prettier-and-eslint-in-vs-code-for-next-js</loc>
<lastmod>2023-06-25T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-setup-tailwind-and-sort-imports-prettier-plugins</loc>
<lastmod>2023-06-26T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-simplify-your-local-development-with-vercel-env</loc>
<lastmod>2023-05-10T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/how-to-use-react-query-in-next-js-client-components</loc>
<lastmod>2023-07-23T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/implement-followup-questions-ai-sdk</loc>
<lastmod>2025-09-22T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/improving-readability-with-react-wrap-balancer</loc>
<lastmod>2023-05-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/inspiring-coder-quotes-to-fuel-your-coding-journey</loc>
<lastmod>2023-07-10T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/interface-segregation-principle-isp</loc>
<lastmod>2023-06-28T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/kiss-keep-it-short-and-simple</loc>
<lastmod>2023-06-09T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/letting-go-of-control-embracing-the-prettier-code-formatter</loc>
<lastmod>2023-05-16T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/liskov-substitution-principle-lsp</loc>
<lastmod>2023-06-01T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/modern-nextjs-authentication-best-practices</loc>
<lastmod>2025-04-01T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/modern-web-development-best-practices-to-minimize-side-effects</loc>
<lastmod>2023-06-18T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/next-conf-2021-notes-and-resources</loc>
<lastmod>2021-11-13T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/next-js-image-optimization-checklist-with-examples</loc>
<lastmod>2023-06-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/next-js-revolution-the-framework-popularity-rises-in-2023</loc>
<lastmod>2023-07-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/next-js-suspense-how-to-use-suspense-with-a-component</loc>
<lastmod>2023-06-30T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/nextjs-authentication-best-practices</loc>
<lastmod>2024-06-26T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/nextjs-in-a-vs-code-development-container</loc>
<lastmod>2021-06-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/node-file-writing-methods-createwritestream-vs-writefilesync</loc>
<lastmod>2025-01-10T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/one-concept-per-test</loc>
<lastmod>2023-06-10T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/open-closed-principle-ocp</loc>
<lastmod>2023-06-01T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/popular-ways-to-write-functions-in-javascript</loc>
<lastmod>2024-04-23T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/postgresql-vs-mysql-the-rising-popularity-of-postgresql</loc>
<lastmod>2023-06-28T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/pragmatic-programming-traits-for-web-development</loc>
<lastmod>2024-02-08T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/prefer-es6-classes-over-es5-functions</loc>
<lastmod>2022-08-15T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/prettier-the-code-formatter-vs-code-extension-for-modern-web-development</loc>
<lastmod>2023-05-16T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/quokka-playground-run-javascript-and-typescript-in-vs-code</loc>
<lastmod>2023-07-04T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/react-js-vs-react-native-similarities-and-differences</loc>
<lastmod>2024-02-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/react-native-in-big-tech</loc>
<lastmod>2024-02-29T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/remove-dead-code</loc>
<lastmod>2023-06-06T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/runjs-a-javascript-and-typescript-local-playground</loc>
<lastmod>2024-06-06T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/server-side-rendering-vs-client-side-rendering-waterfall</loc>
<lastmod>2024-06-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/setting-up-static-og-image-nextjs-app-router</loc>
<lastmod>2023-07-09T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/simplify-api-testing-with-thunder-client-vs-code-extension</loc>
<lastmod>2023-06-19T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/single-responsibility-principle-srp</loc>
<lastmod>2023-05-31T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/speed-up-your-website-or-lose-users</loc>
<lastmod>2024-02-26T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/syncing-files-to-public-folder-in-react-or-nextjs-using-chokidar-and-fs-extra</loc>
<lastmod>2023-04-27T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/tailwind-css-intellisense-vs-code-extension-a-web-developers-best-friend</loc>
<lastmod>2023-05-14T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/tailwind-css-variables-color-highlighting-in-vs-code</loc>
<lastmod>2025-01-02T19:16:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/the-best-way-to-organize-icons-in-a-nextjs-site</loc>
<lastmod>2023-05-12T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/the-pros-and-cons-of-using-eslint</loc>
<lastmod>2023-05-18T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/the-psychology-of-code</loc>
<lastmod>2024-02-10T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/use-a-lite-youtube-embedded-player-in-nextjs</loc>
<lastmod>2021-10-24T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/use-consistent-capitalization</loc>
<lastmod>2023-06-27T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/use-descriptive-names</loc>
<lastmod>2023-05-25T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/use-explanatory-variables</loc>
<lastmod>2023-05-21T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/use-getters-and-setters</loc>
<lastmod>2023-05-28T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/use-pronounceable-names</loc>
<lastmod>2023-05-25T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/use-the-same-vocabulary-for-the-same-concept</loc>
<lastmod>2023-06-08T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/usestate-vs-useref</loc>
<lastmod>2024-05-21T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/using-tailwindcss-line-clamp-for-consistent-descriptions-on-blog-post-cards</loc>
<lastmod>2023-05-09T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/vs-code-competitive-programming-setup</loc>
<lastmod>2021-10-21T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/what-is-react-hydration</loc>
<lastmod>2024-04-30T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/what-tests-to-write-for-react</loc>
<lastmod>2025-04-04T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/write-everything-twice-wet</loc>
<lastmod>2023-06-22T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/blog/you-aint-gonna-need-it-yagni</loc>
<lastmod>2023-06-14T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/javascript</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/debugging</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/automation</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/python</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/tools</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/code-tips</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/best-practices</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/nextjs</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/typescript</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/vs-code</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/react</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/seo</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/ai</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/ui</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/css</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/html</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/tailwindcss</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/git</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/ubuntu</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/windows</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/analytics</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/services</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/cli</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/ai</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/typescript</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/react</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/performance</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/nodejs</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/database</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/testing</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/api</loc>
<lastmod>2026-04-02</lastmod>
</url>
<url>
<loc>https://www.franciscomoretti.com/tags/shadcn-ui</loc>
<lastmod>2026-04-02</lastmod>
</url>
</urlset>
