<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url><loc>https://mehd.ir/posts/vercel-workflow-made-durable-typescript-less-annoying</loc><lastmod>2026-04-04T07:35:41.166Z</lastmod></url>
<url><loc>https://mehd.ir/posts/ai-workflows-need-durable-state-not-longer-prompts</loc><lastmod>2026-03-27T21:40:59.230Z</lastmod></url>
<url><loc>https://mehd.ir/posts/php-in-2026-feels-interesting-again</loc><lastmod>2026-03-20T12:30:41.269Z</lastmod></url>
<url><loc>https://mehd.ir/posts/what-i-would-automate-in-a-modern-full-stack-workflow-right-now</loc><lastmod>2026-03-17T11:01:38.970Z</lastmod></url>
<url><loc>https://mehd.ir/posts/model-routing-is-finally-practical-for-product-teams</loc><lastmod>2026-03-17T11:01:36.297Z</lastmod></url>
<url><loc>https://mehd.ir/posts/search-retrieval-and-browsing-are-different-jobs-stop-merging-them</loc><lastmod>2026-03-17T11:01:33.640Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-would-build-an-ai-assisted-editorial-workflow-with-payload-and-next-js</loc><lastmod>2026-03-17T11:01:30.982Z</lastmod></url>
<url><loc>https://mehd.ir/posts/a-cms-is-still-useful-in-the-ai-era-if-you-design-the-workflow-right</loc><lastmod>2026-03-17T11:01:28.061Z</lastmod></url>
<url><loc>https://mehd.ir/posts/type-safe-structured-outputs-still-beat-regex-and-it-is-not-close</loc><lastmod>2026-03-17T11:01:25.103Z</lastmod></url>
<url><loc>https://mehd.ir/posts/latency-budgets-are-the-missing-piece-in-most-ai-product-roadmaps</loc><lastmod>2026-03-17T11:01:21.689Z</lastmod></url>
<url><loc>https://mehd.ir/posts/node-25-5-makes-single-executable-apps-simpler-and-that-matters-more-than-it-sounds</loc><lastmod>2026-03-17T11:01:19.021Z</lastmod></url>
<url><loc>https://mehd.ir/posts/agents-are-helpful-but-deterministic-workflows-still-pay-the-bills</loc><lastmod>2026-03-17T11:01:16.342Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-to-build-a-codebase-aware-assistant-without-leaking-your-whole-repo-into-the-prompt</loc><lastmod>2026-03-17T11:01:13.653Z</lastmod></url>
<url><loc>https://mehd.ir/posts/a-small-eval-harness-beats-a-big-dashboard</loc><lastmod>2026-03-17T11:01:11.012Z</lastmod></url>
<url><loc>https://mehd.ir/posts/the-ai-workflow-stack-i-would-actually-recommend-in-2026</loc><lastmod>2026-03-17T11:01:08.352Z</lastmod></url>
<url><loc>https://mehd.ir/posts/ai-sdk-6-looks-like-a-maturity-release-not-just-another-version-bump</loc><lastmod>2026-03-17T11:01:05.554Z</lastmod></url>
<url><loc>https://mehd.ir/posts/the-best-engineering-habit-i-picked-up-from-ai-teams-in-2025</loc><lastmod>2026-03-17T11:01:02.886Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-would-ship-a-local-first-agent-workflow-for-a-real-team</loc><lastmod>2026-03-17T11:01:00.224Z</lastmod></url>
<url><loc>https://mehd.ir/posts/mcp-is-becoming-the-integration-layer-developers-actually-need</loc><lastmod>2026-03-17T11:00:57.407Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-keep-ai-features-cheap-enough-to-survive-product-reality</loc><lastmod>2026-03-17T11:00:54.693Z</lastmod></url>
<url><loc>https://mehd.ir/posts/long-context-is-useful-but-good-context-architecture-matters-more</loc><lastmod>2026-03-17T11:00:51.877Z</lastmod></url>
<url><loc>https://mehd.ir/posts/the-devday-2025-pattern-i-care-about-most-better-tools-smaller-surfaces</loc><lastmod>2026-03-17T11:00:48.793Z</lastmod></url>
<url><loc>https://mehd.ir/posts/gpt-5-1-pushes-agentic-coding-forward-but-workflow-design-still-wins</loc><lastmod>2026-03-17T11:00:45.541Z</lastmod></url>
<url><loc>https://mehd.ir/posts/building-coding-assistants-that-do-not-feel-like-slot-machines</loc><lastmod>2026-03-17T11:00:42.297Z</lastmod></url>
<url><loc>https://mehd.ir/posts/streaming-ux-is-still-underrated-in-ai-products</loc><lastmod>2026-03-17T11:00:38.705Z</lastmod></url>
<url><loc>https://mehd.ir/posts/node-js-25-feels-like-a-backend-release-for-security-minded-teams</loc><lastmod>2026-03-17T11:00:31.187Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-design-retries-fallbacks-and-timeouts-for-ai-endpoints</loc><lastmod>2026-03-17T11:00:28.469Z</lastmod></url>
<url><loc>https://mehd.ir/posts/structured-output-is-the-real-product-feature-not-the-chat-ui</loc><lastmod>2026-03-17T11:00:25.392Z</lastmod></url>
<url><loc>https://mehd.ir/posts/the-case-for-multi-model-apps-without-turning-your-codebase-into-a-mess</loc><lastmod>2026-03-17T11:00:22.738Z</lastmod></url>
<url><loc>https://mehd.ir/posts/rag-is-no-longer-the-hard-part-workflow-design-is</loc><lastmod>2026-03-17T11:00:20.068Z</lastmod></url>
<url><loc>https://mehd.ir/posts/my-minimum-viable-eval-stack-for-shipping-ai-features</loc><lastmod>2026-03-17T11:00:17.336Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-would-build-a-docs-copilot-in-next-js-without-overengineering-it</loc><lastmod>2026-03-17T11:00:13.427Z</lastmod></url>
<url><loc>https://mehd.ir/posts/prompt-caching-background-jobs-and-budget-caps-how-i-keep-ai-features-affordable</loc><lastmod>2026-03-17T11:00:10.750Z</lastmod></url>
<url><loc>https://mehd.ir/posts/typescript-5-9-is-a-good-reminder-that-dx-speed-still-matters</loc><lastmod>2026-03-17T11:00:08.086Z</lastmod></url>
<url><loc>https://mehd.ir/posts/gpt-5-for-developers-the-useful-parts-beneath-the-headline</loc><lastmod>2026-03-17T11:00:05.347Z</lastmod></url>
<url><loc>https://mehd.ir/posts/node-24-5-quietly-made-backend-ai-work-less-annoying</loc><lastmod>2026-03-17T11:00:02.690Z</lastmod></url>
<url><loc>https://mehd.ir/posts/vercel-ai-sdk-5-is-the-first-ai-abstraction-i-actually-want-in-production</loc><lastmod>2026-03-17T10:59:59.895Z</lastmod></url>
<url><loc>https://mehd.ir/posts/stop-treating-ai-features-like-magic-and-start-designing-better-tool-boundaries</loc><lastmod>2026-03-17T10:59:57.224Z</lastmod></url>
<url><loc>https://mehd.ir/posts/what-anthropics-claude-4-rate-limit-increase-actually-meant-for-product-teams</loc><lastmod>2026-03-17T10:59:54.529Z</lastmod></url>
<url><loc>https://mehd.ir/posts/building-a-modern-personal-website-a-deep-dive-into-tech-stack-and-architecture</loc><lastmod>2025-08-01T16:23:00.778Z</lastmod></url>
<url><loc>https://mehd.ir/posts/web3-integration-for-traditional-web-developers-your-complete-guide-to-blockchain-development</loc><lastmod>2025-07-04T22:36:34.488Z</lastmod></url>
<url><loc>https://mehd.ir/posts/testing-frontend-applications-unit-integration-and-e2e-strategies</loc><lastmod>2025-07-04T22:17:10.930Z</lastmod></url>
<url><loc>https://mehd.ir/posts/real-time-applications-websockets-vs-server-sent-events-vs-webrtc</loc><lastmod>2025-07-04T17:49:49.765Z</lastmod></url>
<url><loc>https://mehd.ir/posts/graphql-vs-rest-vs-trpc-choosing-the-right-api-strategy</loc><lastmod>2025-07-04T17:44:24.803Z</lastmod></url>
<url><loc>https://mehd.ir/posts/debugging-like-a-pro-advanced-devtools-techniques</loc><lastmod>2025-07-04T17:40:07.958Z</lastmod></url>
<url><loc>https://mehd.ir/posts/core-web-vitals-optimization-a-step-by-step-guide</loc><lastmod>2025-07-04T17:36:54.139Z</lastmod></url>
<url><loc>https://mehd.ir/posts/ai-powered-development-tools-that-actually-save-time</loc><lastmod>2025-07-04T17:31:15.589Z</lastmod></url>
<url><loc>https://mehd.ir/posts/from-wordpress-to-headless-my-complete-migration-journey</loc><lastmod>2025-07-04T17:23:19.593Z</lastmod></url>
<url><loc>https://mehd.ir/posts/building-a-multi-step-form-with-validation-in-react</loc><lastmod>2025-06-16T00:23:39.504Z</lastmod></url>
<url><loc>https://mehd.ir/posts/my-favorite-nextjs-15-features-you-should-be-using</loc><lastmod>2025-06-15T23:42:40.376Z</lastmod></url>
<url><loc>https://mehd.ir/posts/the-art-of-animations-in-react-framer-motion-tips--tricks</loc><lastmod>2025-06-15T23:21:37.706Z</lastmod></url>
<url><loc>https://mehd.ir/posts/why-tailwind-css-changed-the-way-i-build-uis</loc><lastmod>2025-06-15T23:14:01.828Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-to-create-multi-tenancy-project-with-nextjs-15-app-router-middleware</loc><lastmod>2025-06-15T22:56:16.619Z</lastmod></url>
<url><loc>https://mehd.ir/posts/time-management-for-devs-my-daily-workflow</loc><lastmod>2025-06-12T13:02:17.618Z</lastmod></url>
<url><loc>https://mehd.ir/posts/5-habits-that-made-me-a-more-efficient-programmer</loc><lastmod>2025-06-12T12:40:27.518Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-use-github-actions-to-manage-versions-of-my-projects</loc><lastmod>2025-06-12T12:25:49.448Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-built-my-personal-website-using-nextjs-with-payload</loc><lastmod>2025-06-12T12:22:38.079Z</lastmod></url>
<url><loc>https://mehd.ir/posts/why-i-switched-to-apidog-and-never-looked-back</loc><lastmod>2025-06-12T12:17:38.507Z</lastmod></url>
<url><loc>https://mehd.ir/posts/how-i-learn-new-technologies-fast-and-actually-remember-them</loc><lastmod>2025-06-12T12:11:31.101Z</lastmod></url>
<url><loc>https://mehd.ir/posts/building-a-scalable-design-system-with-tailwind-and-shadcnui</loc><lastmod>2025-06-12T12:09:18.724Z</lastmod></url>
<url><loc>https://mehd.ir/posts/the-developers-guide-to-staying-motivated-in-2025</loc><lastmod>2025-06-12T12:06:51.875Z</lastmod></url>
<url><loc>https://mehd.ir/posts/10-things-i-wish-i-knew-when-i-started-coding</loc><lastmod>2025-06-12T12:02:40.662Z</lastmod></url>
<url><loc>https://mehd.ir/posts/best-ides-for-programming-by-programming-language-your-ultimate-developers-guide</loc><lastmod>2025-06-12T11:54:57.470Z</lastmod></url>
<url><loc>https://mehd.ir/posts/the-complete-developers-guide-creating-npm-packages-with-github-integration-and-automated-publishing</loc><lastmod>2025-07-04T23:00:05.875Z</lastmod></url>
<url><loc>https://mehd.ir/posts/building-ai-applications-with-anthropics-sdk-and-nextjs</loc><lastmod>2025-01-17T13:22:50.781Z</lastmod></url>
</urlset>