<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
        http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">

  <!-- Core pages -->
  <url>
    <loc>https://renjith.online/</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>

  <url>
    <loc>https://renjith.online/about</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://renjith.online/experience</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://renjith.online/publications</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://renjith.online/resume</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://renjith.online/projects</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://renjith.online/contact</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Blog posts -->
  <url>
    <loc>https://renjith.online/blogs/web-performance-2026-core-web-vitals-inp</loc>
    <lastmod>2026-03-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-compiler-production-early-results</loc>
    <lastmod>2026-02-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-anchor-positioning-goodbye-popper</loc>
    <lastmod>2026-01-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/micro-frontends-module-federation-2-lessons</loc>
    <lastmod>2025-06-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/islands-architecture-astro-fresh-vs-nextjs</loc>
    <lastmod>2025-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/writing-frontend-code-with-ai-workflow</loc>
    <lastmod>2025-04-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/nextjs-15-react-19-production-migration</loc>
    <lastmod>2025-03-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-interpolate-size-starting-style-animations</loc>
    <lastmod>2025-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/vite-6-new-plugin-api-ecosystem</loc>
    <lastmod>2025-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/tailwind-css-v4-engine-rewrite</loc>
    <lastmod>2024-08-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/building-ai-feature-vercel-ai-sdk</loc>
    <lastmod>2024-06-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-19-server-actions-use-hook</loc>
    <lastmod>2024-04-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/bun-1-nodejs-drop-in-real-project</loc>
    <lastmod>2024-03-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/view-transitions-api-page-animations</loc>
    <lastmod>2024-02-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-cascade-layers-at-layer</loc>
    <lastmod>2024-01-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/biome-lint-format-replace-eslint-prettier</loc>
    <lastmod>2023-10-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/native-css-nesting-dropping-sass</loc>
    <lastmod>2023-08-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/signals-vs-usestate-fine-grained-reactivity</loc>
    <lastmod>2023-06-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/shadcn-ui-component-library-that-isnt</loc>
    <lastmod>2023-04-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-server-components-production</loc>
    <lastmod>2023-03-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/ai-assisted-coding-six-months-copilot</loc>
    <lastmod>2023-01-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/nextjs-13-app-router-server-components</loc>
    <lastmod>2022-11-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/astro-1-zero-javascript-default</loc>
    <lastmod>2022-09-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-has-parent-selector-stylesheets</loc>
    <lastmod>2022-08-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/zod-runtime-schema-validation-typescript</loc>
    <lastmod>2022-05-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-18-stable-concurrent-features</loc>
    <lastmod>2022-04-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/trpc-end-to-end-type-safety</loc>
    <lastmod>2022-03-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/web-components-2021-production-ready</loc>
    <lastmod>2021-11-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-container-queries-layout-feature</loc>
    <lastmod>2021-09-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/sveltekit-beta-full-stack-app</loc>
    <lastmod>2021-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-18-concurrent-mode-usetransition</loc>
    <lastmod>2021-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/vite-goes-mainstream-dropped-webpack</loc>
    <lastmod>2021-02-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/module-federation-micro-frontends-webpack-5</loc>
    <lastmod>2020-11-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/dark-mode-prefers-color-scheme-css-variables</loc>
    <lastmod>2020-08-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/core-web-vitals-google-metrics-explained</loc>
    <lastmod>2020-06-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/vite-dev-server-rethink-webpack</loc>
    <lastmod>2020-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/tailwind-css-utility-first-clicked</loc>
    <lastmod>2020-03-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-scroll-snap-native-carousel</loc>
    <lastmod>2019-11-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/variable-fonts-one-file-infinite-typography</loc>
    <lastmod>2019-09-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/nextjs-vs-gatsby-meta-framework</loc>
    <lastmod>2019-07-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/svelte-3-compiler-first-framework</loc>
    <lastmod>2019-05-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-hooks-production-six-months</loc>
    <lastmod>2019-03-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-hooks-first-look</loc>
    <lastmod>2018-11-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/jamstack-2018-gatsby-netlify</loc>
    <lastmod>2018-09-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/intersection-observer-lazy-loading</loc>
    <lastmod>2018-06-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/graphql-in-production-replacing-rest</loc>
    <lastmod>2018-04-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/typescript-react-why-we-switched</loc>
    <lastmod>2018-02-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-16-fiber-what-changes</loc>
    <lastmod>2017-10-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/pwa-lessons-production-docs-dont-tell</loc>
    <lastmod>2017-08-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/webpack-3-scope-hoisting-bundle-size</loc>
    <lastmod>2017-07-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/styled-components-vs-css-modules</loc>
    <lastmod>2017-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-grid-in-production-migration-flexbox</loc>
    <lastmod>2017-04-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/critical-rendering-path-page-load-performance</loc>
    <lastmod>2016-11-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/service-workers-offline-first-web-apps</loc>
    <lastmod>2016-09-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-custom-properties-variables-finally-here</loc>
    <lastmod>2016-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/pixel-perfect-cross-browser-ui</loc>
    <lastmod>2016-06-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/flux-vs-redux-state-management</loc>
    <lastmod>2016-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/react-2016-migrating-from-angular</loc>
    <lastmod>2016-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/stop-writing-vendor-prefixes-autoprefixer-postcss</loc>
    <lastmod>2016-03-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/es2015-in-production</loc>
    <lastmod>2016-02-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://renjith.online/blogs/css-grid-is-coming</loc>
    <lastmod>2016-01-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

</urlset>
