<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://jeffrin.dev</loc>
<lastmod>2026-08-17T09:18:09.647Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://jeffrin.dev/about</loc>
<lastmod>2026-08-17T09:18:09.647Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/work</loc>
<lastmod>2026-08-17T09:18:09.647Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog</loc>
<lastmod>2026-08-17T09:18:09.647Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/javascript-web-workers-multithreading</loc>
<lastmod>2026-08-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/node-express-production-architecture</loc>
<lastmod>2026-08-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/javascript-promises-async-await</loc>
<lastmod>2026-08-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/rest-api-design-best-practices</loc>
<lastmod>2026-08-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/nextjs-hydration-demystified</loc>
<lastmod>2026-08-13T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/javascript-event-bubbling-delegation</loc>
<lastmod>2026-08-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/react-fiber-architecture</loc>
<lastmod>2026-08-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/puppeteer-pdf-generation</loc>
<lastmod>2026-08-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/javascript-vs-typescript</loc>
<lastmod>2026-07-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/react-behind-the-scenes</loc>
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/frontend-architecture</loc>
<lastmod>2026-07-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/javascript-oop</loc>
<lastmod>2026-07-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jeffrin.dev/blog/javascript-execution-context</loc>
<lastmod>2026-06-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
