<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.seancoughlin.me</loc>
    <lastmod>2026-04-16T18:06:09.693Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/the-art-and-science-of-uri-design-a-practical-guide</loc>
    <lastmod>2025-04-10T00:19:04.456Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/visualizing-the-invisible-my-journey-building-an-algorithm-visualizer</loc>
    <lastmod>2025-04-10T00:03:50.913Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/managing-concurrency-with-spring-bean-scopes-a-complete-guide</loc>
    <lastmod>2025-04-04T13:16:03.981Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/building-an-interactive-sql-learning-platform-with-react-nextjs-and-sqljs</loc>
    <lastmod>2025-04-03T21:30:10.164Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/building-an-accessible-web-key-features-every-developer-should-implement</loc>
    <lastmod>2024-10-09T15:30:48.364Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/supercharge-your-java-app-performance-testing-with-gatling</loc>
    <lastmod>2024-10-03T15:57:35.831Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/using-chatgpt-as-a-study-partner</loc>
    <lastmod>2024-10-03T15:09:01.118Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/multithreading-in-java-and-spring-boot</loc>
    <lastmod>2024-10-02T16:21:54.485Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/understanding-concurrency-vs-parallelization</loc>
    <lastmod>2024-10-01T19:57:03.666Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/gradle-java-build-tools-tasks-dependencies-and-multi-project-builds</loc>
    <lastmod>2024-09-30T20:47:38.257Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-snapshot-testing-with-vite-vitest-or-jest-in-typescript</loc>
    <lastmod>2024-07-10T22:26:21.875Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/https-and-tls-explained</loc>
    <lastmod>2024-07-10T02:23:13.968Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/what-is-atomic-css</loc>
    <lastmod>2024-07-08T22:22:27.766Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-merging-of-overlapping-intervals-in-python</loc>
    <lastmod>2024-07-02T18:35:10.987Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-solving-the-lowest-common-ancestor-of-a-binary-tree-problem</loc>
    <lastmod>2024-07-02T16:23:48.364Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-generating-all-permutations-of-an-array</loc>
    <lastmod>2024-07-01T15:29:17.345Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/conquer-the-binary-search-mastering-leetcodes-rotated-sorted-array-challenge</loc>
    <lastmod>2024-07-01T14:25:38.171Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/decoding-large-language-models-unveiling-the-secrets-of-ai-powerhouses</loc>
    <lastmod>2024-07-01T03:37:09.865Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/solving-leetcodes-combination-sum-problem-optimized-techniques-for-efficient-solutions</loc>
    <lastmod>2024-07-01T03:03:05.648Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/nestjs-and-the-javascript-backend-ecosystem-a-developers-journey</loc>
    <lastmod>2024-06-30T00:58:05.010Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/rotting-oranges-a-comprehensive-guide-to-solving-with-bfs-in-python</loc>
    <lastmod>2024-06-29T19:42:05.450Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-counting-the-number-of-islands-in-a-2d-binary-grid</loc>
    <lastmod>2024-06-28T19:51:36.579Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-binary-search-tree-validation</loc>
    <lastmod>2024-06-28T17:54:08.993Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-minstack-efficiently-supporting-minimum-element-retrieval-in-constant-time</loc>
    <lastmod>2024-06-28T15:01:08.283Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-solving-the-product-of-array-except-self-problem</loc>
    <lastmod>2024-06-28T14:43:35.082Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-coin-change-problem-a-comprehensive-guide</loc>
    <lastmod>2024-06-27T19:11:16.275Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/building-resilient-applications-with-circuit-breaker-pattern</loc>
    <lastmod>2024-06-26T17:38:02.329Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/comparing-javascript-end-to-end-testing-frameworks-cypress-vs-selenium-vs-playwright</loc>
    <lastmod>2024-06-26T16:12:27.665Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/comparing-modern-javascript-testing-frameworks-jest-mocha-and-vitest</loc>
    <lastmod>2024-06-26T04:12:53.852Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/understanding-messaging-queues-the-backbone-of-modern-software-architecture</loc>
    <lastmod>2024-06-24T22:13:34.846Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/optimizing-api-performance-best-practices-and-tools</loc>
    <lastmod>2024-06-19T19:14:44.472Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/building-resilient-software-strategies-for-robust-and-fault-tolerant-applications</loc>
    <lastmod>2024-06-17T16:35:50.724Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/automating-your-development-workflow-best-practices-and-tools</loc>
    <lastmod>2024-06-14T15:51:58.284Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/implementing-privacy-by-design-in-your-software-projects</loc>
    <lastmod>2024-06-08T16:26:58.073Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-implementing-a-trie-prefix-tree-in-python</loc>
    <lastmod>2024-06-07T19:56:33.513Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/securing-your-web-applications-best-practices-and-tools</loc>
    <lastmod>2024-06-07T19:46:10.875Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/advanced-debugging-techniques-for-software-engineers</loc>
    <lastmod>2024-06-07T18:07:23.808Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/optimizing-web-application-performance-best-practices-and-tools</loc>
    <lastmod>2024-06-07T01:42:00.526Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-code-reviews-best-practices-and-tools-for-software-engineers</loc>
    <lastmod>2024-06-07T01:11:31.304Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-evaluating-reverse-polish-notation-with-python</loc>
    <lastmod>2024-05-07T16:47:49.987Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/uiuc-mcs-cs-412-review-introduction-to-data-mining</loc>
    <lastmod>2024-05-07T16:26:31.050Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-challenge-solve-longest-substring-without-repeating-characters-on-leetcode</loc>
    <lastmod>2024-05-07T15:41:14.090Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-clone-graph-problem-on-leetcode-a-comprehensive-guide</loc>
    <lastmod>2024-05-07T15:23:23.757Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-converting-roman-to-integer</loc>
    <lastmod>2024-04-19T19:14:16.323Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/getting-started-with-studying-for-software-engineering-interviews-using-leetcode</loc>
    <lastmod>2024-04-19T17:20:08.319Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-01-matrix-problem-on-leetcode-a-detailed-guide-for-aspiring-software-engineers</loc>
    <lastmod>2024-04-19T16:42:31.660Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-3sum-problem-a-guide-for-leetcode-and-coding-interviews</loc>
    <lastmod>2024-04-15T16:46:10.492Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-binary-tree-level-order-traversal-for-leetcode-interviews</loc>
    <lastmod>2024-04-15T16:20:24.284Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-backspace-string-compare-on-leetcode-a-comprehensive-guide</loc>
    <lastmod>2024-04-10T19:30:08.989Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-flood-fill-algorithm-a-leetcode-tutorial-for-software-engineers</loc>
    <lastmod>2024-04-10T16:53:04.066Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-insert-interval-a-comprehensive-guide</loc>
    <lastmod>2024-04-10T16:27:48.736Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-k-closest-points-to-origin-a-comprehensive-guide</loc>
    <lastmod>2024-04-10T16:00:08.600Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/accelerating-frontend-development-with-bun-and-vite</loc>
    <lastmod>2024-04-09T19:45:47.706Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/bun-the-comprehensive-toolkit-for-javascript-and-typescript</loc>
    <lastmod>2024-04-09T18:48:53.334Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-longest-common-prefix-a-leetcode-guide-for-aspiring-software-engineers</loc>
    <lastmod>2024-04-03T17:07:16.676Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-binary-tree-diameters-a-leetcode-guide-for-engineers</loc>
    <lastmod>2024-04-03T01:43:42.357Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-maximum-subarray-problem-a-comprehensive-guide</loc>
    <lastmod>2024-04-01T21:16:14.849Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-unraveling-the-same-tree-problem</loc>
    <lastmod>2024-04-01T16:50:50.765Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-hamming-weight-problem-on-leetcode-a-comprehensive-guide</loc>
    <lastmod>2024-03-29T22:49:04.181Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/unlocking-patterns-with-k-a-deep-dive-into-k-means-k-medians-and-k-medoids-clustering</loc>
    <lastmod>2024-03-29T22:29:30.100Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-bit-manipulation-in-leetcode-challenges-a-guide-to-counting-bits</loc>
    <lastmod>2024-03-29T15:22:44.828Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-the-ultimate-guide-to-solving-contains-duplicate</loc>
    <lastmod>2024-03-28T18:21:38.217Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-maximum-depth-of-binary-tree-a-comprehensive-guide</loc>
    <lastmod>2024-03-28T17:44:20.530Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-middle-of-the-linked-list-a-comprehensive-guide-for-software-engineers</loc>
    <lastmod>2024-03-28T17:05:39.796Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/cracking-the-code-mastering-binary-summation-on-leetcode</loc>
    <lastmod>2024-03-28T16:49:07.756Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-crafting-the-longest-palindrome-from-mixed-letters</loc>
    <lastmod>2024-03-28T01:30:59.599Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/cracking-the-code-mastering-the-ransom-note-challenge-on-leetcode</loc>
    <lastmod>2024-03-15T21:26:03.493Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-majority-element-problem-strategies-for-every-engineer</loc>
    <lastmod>2024-03-15T17:04:45.260Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-reverse-linked-list-a-comprehensive-guide-for-engineers</loc>
    <lastmod>2024-03-14T15:42:38.038Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-staircase-dynamic-programming-solutions-for-leetcodes-climbing-stairs-problem</loc>
    <lastmod>2024-03-14T02:24:05.430Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/navigating-the-maze-of-versions-a-leetcode-guide-to-first-bad-version</loc>
    <lastmod>2024-03-12T17:52:47.609Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/conquer-the-binary-search-mastering-leetcodes-classic-challenge</loc>
    <lastmod>2024-03-11T20:59:34.222Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/bridging-atomic-habits-with-the-world-of-programming-and-software-engineering</loc>
    <lastmod>2024-03-11T20:32:19.329Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-implement-queue-using-stacks-a-comprehensive-guide-for-aspiring-software-engineers</loc>
    <lastmod>2024-03-11T19:20:57.158Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-max-stock-profit-a-guide-for-aspiring-software-engineers</loc>
    <lastmod>2024-03-11T17:16:14.935Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-cycle-detection-in-linked-lists-a-leetcode-guide</loc>
    <lastmod>2024-03-08T23:58:06.633Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/unveiling-graphql-revolutionizing-data-querying-in-modern-applications</loc>
    <lastmod>2024-03-08T16:51:28.513Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-height-balanced-binary-tree-a-comprehensive-guide</loc>
    <lastmod>2024-03-08T16:31:53.030Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-lowest-common-ancestor-in-a-bst-a-comprehensive-guide</loc>
    <lastmod>2024-03-07T22:29:04.868Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/explaining-ai-few-shot-one-shot-and-zero-shot-learning</loc>
    <lastmod>2024-03-07T19:46:58.272Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcodes-palindrome-challenge-a-guide-for-engineering-interviews</loc>
    <lastmod>2024-03-07T19:13:35.304Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/understanding-tokenization-in-large-language-models</loc>
    <lastmod>2024-03-01T01:10:38.995Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-the-mirror-a-deep-dive-into-inverting-binary-trees-for-leetcode-success</loc>
    <lastmod>2024-02-29T20:25:52.889Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/cracking-the-code-mastering-anagram-detection-in-technical-interviews</loc>
    <lastmod>2024-02-29T19:31:24.609Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/mastering-leetcode-merge-two-sorted-lists</loc>
    <lastmod>2024-02-28T21:19:55.063Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/valid-parentheses-a-leetcode-solution-guide</loc>
    <lastmod>2024-02-28T14:52:52.500Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/two-sum-problem-solution-a-guide-for-software-engineers</loc>
    <lastmod>2024-02-27T17:30:25.057Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/comparing-react-angular-vue-and-svelte-a-guide-for-developers</loc>
    <lastmod>2024-02-25T20:48:27.160Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/uiuc-mcs-cs-598-review-foundations-of-data-curation</loc>
    <lastmod>2024-02-25T17:35:19.928Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/navigating-the-it-maze-a-laymans-journey-through-the-phoenix-project</loc>
    <lastmod>2024-02-25T17:07:35.349Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/understanding-web-cookies-navigating-the-shift-from-third-party-tracking-to-enhanced-privacy</loc>
    <lastmod>2024-02-17T21:42:52.628Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/crafting-a-health-check-for-your-website-with-github-actions</loc>
    <lastmod>2024-02-17T21:17:07.460Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/enhancing-web-performance-and-quality-integrating-playwright-and-lighthouse</loc>
    <lastmod>2024-01-20T14:57:30.609Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/the-importance-of-accessibility-in-web-development-and-auto-testing-with-playwright-and-axe-playwright</loc>
    <lastmod>2024-01-19T23:26:44.450Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/streamlining-web-deployment-with-github-actions-and-continuous-delivery</loc>
    <lastmod>2024-01-19T23:11:04.462Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/testing-react-applications-built-with-vite-using-vitest</loc>
    <lastmod>2024-01-18T18:59:41.691Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/testing-a-react-app-built-with-vite-using-jest-and-babel</loc>
    <lastmod>2024-01-18T18:27:42.080Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/exploring-webassembly-the-future-of-web-development</loc>
    <lastmod>2024-01-15T23:53:58.498Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/keeping-your-dependencies-fresh-automate-with-github-dependabot</loc>
    <lastmod>2024-01-12T23:59:35.051Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/understanding-cicd-streamlining-software-deployment</loc>
    <lastmod>2023-11-30T16:08:56.045Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/page/about-me</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/page/featured-articles</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/page/series</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/hashnode-tutorials</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/ios-dev</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/software-testing</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/cloud-computing</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/software-engineering</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/computer-networking</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/uiuc-mcs</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/interview-prep</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/content-reviews</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/web-dev</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/ci-cd</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/series/ai</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/archive</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.seancoughlin.me/recommendations</loc>
    <lastmod>2026-04-16T18:06:09.694Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>