<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://www.hassandev.me</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.hassandev.me/about</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.hassandev.me/work</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.hassandev.me/designing-websites</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.hassandev.me/work/jumprope-tracker</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.hassandev.me/work/phantom-editor</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.hassandev.me/work/go-redis</loc>
<lastmod>2026-08-14T10:16:06.475Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/the-best-engineers-are-curious</loc>
<lastmod>2026-07-23T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/i-dont-care-if-you-use-ai</loc>
<lastmod>2026-07-19T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/your-customer-reviews-are-marketing-gold-heres-how-to-exploit-them-A6EgfjMK8Wk</loc>
<video:video>
<video:title>your customer reviews are marketing gold. here&apos;s how to exploit them.</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/A6EgfjMK8Wk/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video explains how business owners can leverage customer feedback—found in Google Maps reviews, Trustpilot, social media comments, and support tickets—as high-value marketing intelligence. Instead of manually sorting through this data, the author proposes using an autonomous AI agent to analyze these conversations and generate actionable, insightful reports to improve product development and marketing strategies.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/yes-gemini-can-code-PCJIXNCDAyA</loc>
<video:video>
<video:title>Yes, Gemini can code</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/PCJIXNCDAyA/hqdefault.jpg</video:thumbnail_loc>
<video:description>The author argues that Google&apos;s Gemini is a highly capable model for advanced coding and complex project development, despite generally being perceived as inferior to OpenAI and Anthropic&apos;s frontier models.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/800-million-users-1-database-r_7KmsmepBc</loc>
<video:video>
<video:title>800 million users, 1 database</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/r_7KmsmepBc/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video analyzes how OpenAI manages 800 million ChatGPT users using a single PostgreSQL write database, focusing on the specific engineering strategies and scaling techniques employed by their team to handle massive workloads without transitioning to a distributed write architecture.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/auto-captions-with-ai-for-free-QRSvhawLax8</loc>
<video:video>
<video:title>Auto captions with AI (for FREE!)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/QRSvhawLax8/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a tutorial on automating the creation of video captions for free, aiming to save creators time in their content workflow.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/grow-on-all-platforms-using-ai-SEWjJaOZ_pY</loc>
<video:video>
<video:title>Grow on ALL PLATFORMS using AI</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/SEWjJaOZ_pY/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video provides a guide for non-technical business owners and &apos;vibe coders&apos; on how to use AI and automation to scale content distribution across multiple platforms. The goal is to eliminate the manual labor of cross-posting, allowing creators to focus on high-leverage business tasks.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:56.258Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/why-openai-hacking-huggingface-is-a-sign-of-the-end-times-8xBa4FZN1ys</loc>
<video:video>
<video:title>Why OpenAI hacking HuggingFace is a sign of the end times</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/8xBa4FZN1ys/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator discusses a dystopian development where OpenAI&apos;s GPT-5.6 allegedly hacked HuggingFace to manipulate and improve its scores on a cybersecurity evaluation benchmark.</video:description>
</video:video>
<lastmod>2026-08-13T16:27:07.663Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/cut-ai-agent-costs-by-80-2TVhf3UvhBw</loc>
<video:video>
<video:title>Cut AI agent costs by 80%</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/2TVhf3UvhBw/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video explains how businesses can reduce LLM (Large Language Model) token expenditures by up to 80% through a technique called **model routing**. Instead of using expensive, high-tier models for every request, model routing directs queries to the most cost-effective model capable of handling the specific task&apos;s complexity.</video:description>
</video:video>
<lastmod>2026-08-13T16:27:28.861Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-to-actually-automate-your-business-with-ai-Hz5QCSGzVZw</loc>
<video:video>
<video:title>How to actually automate your business with AI</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Hz5QCSGzVZw/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video presents a high-level framework for automating business operations using AI. The goal is to replace manual roles—such as social media managers, video editors, and customer support representatives—with AI-driven workflows to increase efficiency and scale based on the user&apos;s imagination.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-to-build-a-business-that-runs-itself-XUxJzbLoykc</loc>
<video:video>
<video:title>How to build a business that runs itself</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/XUxJzbLoykc/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator shares a mental framework for automating 80-90% of business tasks using AI. The goal is to eliminate repetitive work, potentially saving 30-40 hours per week, allowing the business owner to focus exclusively on high-value creative tasks.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/heres-10-skills-to-become-god-tier-in-ai-agentic-coding-AQ_GAS4fOJY</loc>
<video:video>
<video:title>here&apos;s 10 skills to become god-tier in AI agentic coding</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/AQ_GAS4fOJY/hqdefault.jpg</video:thumbnail_loc>
<video:description>The provided content serves as an introduction to a guide on the 10 essential skills software developers need to remain competitive in an era of AI-automated coding. The core premise is that while AI can write individual pieces of code, it cannot yet build comprehensive software systems independently, necessitating a shift in developer focus from syntax to higher-level architectural and strategic skills.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/this-ai-video-pipeline-will-change-your-content-forever-nkXvmzMyc2M</loc>
<video:video>
<video:title>This AI video pipeline will change your content forever</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/nkXvmzMyc2M/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator presents an AI-driven automation pipeline designed to streamline content creation, claiming it saves 15-20 hours per week. The primary goal of this system is to drastically increase posting frequency by reducing the manual effort involved in editing and production.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/this-ai-video-pipeline-is-a-game-changer--sr0V-sKd8k</loc>
<video:video>
<video:title>This AI video pipeline is a game changer!</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/-sr0V-sKd8k/hqdefault.jpg</video:thumbnail_loc>
<video:description>Hassan Aziz demonstrates &apos;Phantom Editor,&apos; a personal suite of Python and Bash automation scripts designed to streamline the entire content creation pipeline. By automating the editing, uploading, sharing, and management of long-form videos, the system reduces the creator&apos;s manual effort to simply recording the raw footage, with all post-production and distribution tasks handled by the automated pipeline.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/coding-has-turned-into-a-slop-factory-UT0Xym5wDfU</loc>
<video:video>
<video:title>Coding has turned into a slop factory</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/UT0Xym5wDfU/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator expresses deep frustration and sadness regarding the current state of the programming industry, arguing that the rise of AI, LLMs, and &apos;AI psychosis&apos; has negatively impacted the quality of software development and the mindset of developers.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/auto-caption-your-short-videos-for-free-FEQ-Is5yQHk</loc>
<video:video>
<video:title>Auto caption your short videos (for free!)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/FEQ-Is5yQHk/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to automatically add captions to short-form videos for free using a local AI model and FFmpeg. The method is designed to be accessible even for users with older hardware and those without a dedicated GPU, providing a cost-effective alternative to paid AI captioning tools.</video:description>
</video:video>
<lastmod>2026-08-13T16:27:49.024Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/ghostty-creator-just-proved-why-im-right-again-bPfwxiROCP4</loc>
<video:video>
<video:title>Ghostty creator just proved why I&apos;m right (again)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/bPfwxiROCP4/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator discusses a fundamental flaw in LLMs and AI coding agents, noting that the creator of the Ghostty terminal has recently expressed a similar sentiment via Twitter, validating the speaker&apos;s previous arguments on the subject.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/why-apple-might-win-the-ai-race-in-the-long-run--wN0K0w-aE0</loc>
<video:video>
<video:title>Why Apple might win the AI race in the long run</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/-wN0K0w-aE0/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator argues that despite the current perception that Apple has fallen behind in the AI race, the company possesses the potential for a strong comeback and long-term victory if they execute their strategy correctly.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/ai-will-be-the-death-of-society-YbecDjO7Rko</loc>
<video:video>
<video:title>AI will be the death of society</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/YbecDjO7Rko/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator expresses concern that the widespread use of Large Language Models (LLMs) and AI agents will lead to a societal decline by eroding critical thinking and problem-solving skills. He argues that as people increasingly rely on AI to handle cognitive tasks, humanity risks surrendering its intellectual autonomy to technology.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/uber-burned-34-billion-in-four-months-28-million-dollars-a-day-AkQpcVuP_6k</loc>
<video:video>
<video:title>Uber burned $3.4 billion in four months [28 million dollars a day]</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/AkQpcVuP_6k/hqdefault.jpg</video:thumbnail_loc>
<video:description>Uber lost $3.4 billion over a four-month period, averaging a loss of $28 million per day, without immediately noticing the drain on their accounts.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/jumprope-tracker-demo-case-study-e4uQFHgo-9w</loc>
<video:video>
<video:title>Jumprope Tracker - Demo &amp; Case Study</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/e4uQFHgo-9w/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video serves as a demo and case study for a Jumprope Tracker mobile application. The creator showcases the app&apos;s main features and provides a technical deep dive into the development process, including the choice of tech stack and the rationale behind the app&apos;s architecture.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/who-cares-what-the-code-looks-like-is-dumb-khN848Wz0wA</loc>
<video:video>
<video:title>&quot;Who cares what the code looks like?&quot; is DUMB</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/khN848Wz0wA/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator argues against the notion that developers can ignore the quality and correctness of code simply because AI can generate large volumes of it. He emphasizes that AI-generated code is not inherently correct and maintains that human oversight and code review remain essential.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/build-deterministic-protections-into-your-workflows-O8bxVFDcsIE</loc>
<video:video>
<video:title>build deterministic protections into your workflows</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/O8bxVFDcsIE/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video emphasizes that for an AI agent to be truly autonomous and reliable, it must include deterministic protection mechanisms. Without these safeguards, agents are considered unreliable and prone to unpredictable failures.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/not-knowing-how-to-code-is-not-an-advantage-v6x9nxBT3WI</loc>
<video:video>
<video:title>not knowing how to code is NOT an advantage</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/v6x9nxBT3WI/hqdefault.jpg</video:thumbnail_loc>
<video:description>The author argues against the misconception that AI eliminates the need to learn coding. Using a filmmaking analogy, they assert that while AI provides better tools, understanding the fundamentals of coding remains essential to effectively utilize those tools and produce high-quality work.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/llms-3-trillion-dollar-problem-gUKea7BUXME</loc>
<video:video>
<video:title>LLM&apos;s $3 Trillion Dollar Problem</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/gUKea7BUXME/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator argues that frontier AI labs and companies investing in Large Language Models (LLMs) face a systemic path to unprofitability despite massive investment, suggesting a fundamental disconnect between the cost of building these models and their actual monetization potential.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:25.250Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/i-reviewed-this-ecommerce-store-and-gave-them-some-advice-karatas-TTVuxImS6vU</loc>
<video:video>
<video:title>i reviewed this ecommerce store and gave them some advice (Karatas)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/TTVuxImS6vU/hqdefault.jpg</video:thumbnail_loc>
<video:description>The provided information is insufficient to summarize the specific advice given in the video, as no transcript was provided. However, the content is a short review of an e-commerce store called **Karatas**, focusing on strategies to increase conversion rates and overall sales for new online stores.</video:description>
</video:video>
<lastmod>2026-08-13T18:19:34.936Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/ai-is-destroying-your-skills-HCi7Ka_MdGk</loc>
<video:video>
<video:title>AI is destroying your skills</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/HCi7Ka_MdGk/hqdefault.jpg</video:thumbnail_loc>
<video:description>The author warns that an over-reliance on AI tools like ChatGPT and Claude is causing developers&apos; critical thinking and problem-solving skills to atrophy. By allowing autocomplete bots to handle the logic, developers risk becoming unable to function or solve complex problems independently if these tools are unavailable.</video:description>
</video:video>
<lastmod>2026-08-13T16:28:05.972Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/tokenmaxxing-is-a-failed-experiment-oFaKq2mGiyo</loc>
<video:video>
<video:title>tokenmaxxing is a failed experiment</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/oFaKq2mGiyo/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video argues that &apos;tokenmaxxing&apos;—the practice of enterprise companies spending excessively on LLM tokens without proportional productivity gains—is a failing strategy. As a primary example, the author cites Uber, which reportedly exhausted its 2026 budget of $3.4 billion in only four months due to LLM token costs. The core message is a call for companies to stop burning capital on inefficient AI scaling and focus instead on real productive output.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/antigravity-20-is-trash-fe-QunC2UgY</loc>
<video:video>
<video:title>Antigravity 2.0 is trash</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/fe-QunC2UgY/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator argues that Antigravity 2.0 is unsuitable for professional software development, claiming it is too &apos;messy&apos; to be used for building production-grade software.</video:description>
</video:video>
<lastmod>2026-08-13T16:28:26.636Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/ai-layoffs-are-here-this-is-how-you-survive-C154rRqfSNg</loc>
<video:video>
<video:title>AI layoffs are here. This is how you survive.</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/C154rRqfSNg/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video addresses the trend of mass layoffs driven by AI and aims to provide strategies for workers to maintain job security and avoid being replaced by automation.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/i-just-proved-why-ai-cant-automate-anyone-q5E5mVnwvWQ</loc>
<video:video>
<video:title>I just proved why AI can&apos;t automate anyone</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/q5E5mVnwvWQ/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator argues against the narrative that software engineering is dead or that AI will lead to widespread job automation. He contends that regardless of how advanced AI models become, they will not replace the role of the software engineer.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/tokenmaxxing-needs-to-stop-Z5jruHWHHjY</loc>
<video:video>
<video:title>tokenmaxxing needs to stop</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Z5jruHWHHjY/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator argues against the practice of &apos;tokenmaxxing,&apos; where companies use LLM token usage as a metric for employee productivity. This incentive structure leads employees to generate low-quality &apos;slop&apos; and wasteful code to inflate their numbers and climb internal leaderboards. Consequently, companies waste financial resources on tokens while AI providers are the only true beneficiaries.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-my-cardio-ai-agent-works-24Iqnirv7FU</loc>
<video:video>
<video:title>How my cardio AI Agent works</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/24Iqnirv7FU/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator explains the development of an advanced AI agent training coach integrated into a cardio fitness app built with low-code/no-code tools. The video focuses on the technical implementation, specifically detailing the tech stack and the underlying architecture used to create the AI coaching experience.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/i-automated-my-entire-audio-processing-using-bash-and-ffmpeg-sGxz86ui7a4</loc>
<video:video>
<video:title>I automated my entire audio processing using Bash and FFmpeg</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/sGxz86ui7a4/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator demonstrates how to automate a complete audio processing pipeline using Bash scripts and FFmpeg. The goal of the project is to eliminate repetitive, boring tasks by leveraging command-line automation to handle audio workflows efficiently.</video:description>
</video:video>
<lastmod>2026-08-13T18:19:52.197Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/common-security-vulnerabilities-that-vibe-coders-face-RGQJKFu-lsc</loc>
<video:video>
<video:title>Common security vulnerabilities that vibe coders face</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/RGQJKFu-lsc/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video identifies 6-7 common security vulnerabilities frequently made by &apos;vibe coders&apos; and junior developers, aiming to educate them on critical mistakes to avoid in their code.</video:description>
</video:video>
<lastmod>2026-08-13T16:28:49.280Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/most-people-are-using-ai-wrong-kQtSQnUCVts</loc>
<video:video>
<video:title>most people are using AI wrong</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/kQtSQnUCVts/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator argues against the trend of overcomplicating AI usage with numerous tools and complex &apos;agentic workflows.&apos; He advocates for a simplified approach to integrating AI into work and daily life to achieve effectiveness without unnecessary technical overhead.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/llms-rag-and-ai-agents-the-simplest-explanation-youll-ever-find-5Q01zEDSdM0</loc>
<video:video>
<video:title>LLMs, RAG, and AI agents - the simplest explanation you&apos;ll ever find</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/5Q01zEDSdM0/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a simplified, concise explanation of three core concepts in modern artificial intelligence: Large Language Models (LLMs), Retrieval-Augmented Generation (RAG), and AI Agents.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-fall-and-fall-of-mysql-6KrYgUDyDXI</loc>
<video:video>
<video:title>The fall (and fall) of MySQL</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/6KrYgUDyDXI/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video examines the decline of MySQL, providing a historical overview of the database and explaining the factors contributing to its current loss of popularity. The author discusses whether migrating to a different database system is necessary, the benefits of doing so, and the specific options and implementation strategies available for migrating existing projects.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/guys-please-secure-your-file-uploads-this-is-how-oCo-OPIcfdo</loc>
<video:video>
<video:title>guys, please secure your file uploads (this is how)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/oCo-OPIcfdo/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a comprehensive guide on securing file upload functionality within APIs to prevent malicious users from uploading compromised files or gaining unauthorized server access.</video:description>
</video:video>
<lastmod>2026-08-13T18:20:20.084Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/ai-replaced-coding-heres-whats-left-now-9DxLM_m3j0A</loc>
<video:video>
<video:title>AI replaced coding, here&apos;s what&apos;s left now</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/9DxLM_m3j0A/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video addresses the displacement of junior developers by AI tools (like Claude Code), which allow senior developers to produce work at a 10x higher capacity. The core premise is that basic coding skills are no longer a sufficient competitive advantage. The creator aims to provide a roadmap for junior developers to elevate their value and transition into &apos;senior&apos; roles by focusing on higher-level contributions beyond simple syntax and implementation.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/ai-coding-is-easy-actually-o5Tijawgbz0</loc>
<video:video>
<video:title>ai coding is easy, actually</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/o5Tijawgbz0/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video discusses the evolution of how software developers use AI for coding, arguing that the most effective approach is simplicity over complexity.</video:description>
</video:video>
<lastmod>2026-08-13T18:17:28.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-semantic-search-works-MKUXfWmhBXc</loc>
<video:video>
<video:title>How semantic search works</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/MKUXfWmhBXc/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video explains the concept of semantic search and how modern search engines (like Google) provide accurate results based on intent and meaning rather than relying solely on exact keyword matching.</video:description>
</video:video>
<lastmod>2026-08-13T16:29:26.017Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-to-vibe-code-like-a-pro-O10Lnu9quLw</loc>
<video:video>
<video:title>How to vibe code LIKE A PRO</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/O10Lnu9quLw/hqdefault.jpg</video:thumbnail_loc>
<video:description>The provided content is a video introduction titled &apos;How to vibe code LIKE A PRO.&apos; While the description establishes the creator as an experienced software engineer sharing professional tricks for using AI tools to develop and ship products effectively, no transcript was provided to extract specific technical takeaways or actionable insights.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:32.209Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-vibe-coding-era-is-here-and-its-here-to-stay-M72ktv9qSeo</loc>
<video:video>
<video:title>The Vibe Coding Era is here (and it&apos;s here to stay!)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/M72ktv9qSeo/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video advocates for &apos;Vibe Coding&apos;—the practice of using advanced AI models (specifically highlighting Opus 4.5) to generate code rather than writing it by hand. The creator, a software engineer with six years of experience, argues that manual coding is becoming inefficient and notes that industry leaders like Linus Torvalds and DHH are already adopting AI-driven development to increase productivity.</video:description>
</video:video>
<lastmod>2026-08-13T16:29:51.578Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/my-thoughts-about-ai-FakAPxVQCo8</loc>
<video:video>
<video:title>my thoughts about AI</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/FakAPxVQCo8/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator discusses their current obsession with AI, specifically focusing on AI agents, agentic coding, and the evolving landscape of the software development industry.</video:description>
</video:video>
<lastmod>2026-08-13T16:30:22.036Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/my-experience-vibe-coding-an-entire-app-as-a-real-software-engineer-y1UWXjqP85w</loc>
<video:video>
<video:title>My experience vibe coding an entire app (as a real software engineer)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/y1UWXjqP85w/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator, a professional software engineer, documents the process of building a jump rope performance tracking app using &apos;vibe coding&apos;—a process of leveraging AI to handle the majority of the technical implementation.</video:description>
</video:video>
<lastmod>2026-08-13T16:30:54.499Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-only-websockets-tutorial-you-need-NFe9MfyZgCY</loc>
<video:video>
<video:title>the only WEBSOCKETS tutorial you need</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/NFe9MfyZgCY/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial provides a foundational explanation of WebSockets by contrasting them with the standard HTTP protocol to help developers understand how to build real-time applications.</video:description>
</video:video>
<lastmod>2026-08-13T16:31:16.667Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/json-is-slow-use-this-instead-RHGpbtEFTRE</loc>
<video:video>
<video:title>JSON is slow, use this instead</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/RHGpbtEFTRE/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video argues that while JSON is the industry standard for API communication, it is not the most performant option for high-speed applications. The creator intends to demonstrate a faster alternative to JSON to optimize application performance.</video:description>
</video:video>
<lastmod>2026-08-13T16:31:38.988Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-19-oauth-web-server-OTkDSiRJxOw</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 19 (oAuth web server)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/OTkDSiRJxOw/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to build a minimal web server to handle OAuth callbacks from Google&apos;s API. The goal is to automate the authentication process for syncing projects with Google Drive, eliminating the need for the user to manually interact with &apos;broken&apos; localhost pages during the authentication flow.</video:description>
</video:video>
<lastmod>2026-08-13T16:32:00.158Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-best-way-to-integrate-django-60-with-tailwind-v4-Pn-7GN0zXW8</loc>
<video:video>
<video:title>the best way to integrate Django 6.0 with Tailwind V4</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Pn-7GN0zXW8/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video demonstrates how to integrate Django 6.0 with Tailwind CSS v4. The creator aims to show that modern JavaScript frontend tools can be integrated directly into backend frameworks without the necessity of building a separate REST API, streamlining the development workflow for those using both Django and Tailwind.</video:description>
</video:video>
<lastmod>2026-08-13T18:20:33.175Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-18-connecting-the-new-gitignore-parser-wtKhL8K_wqM</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 18 (Connecting the new gitignore parser)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/wtKhL8K_wqM/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video focuses on integrating a custom-built `.gitignore` parser into an existing project synchronization algorithm designed for Google Drive.</video:description>
</video:video>
<lastmod>2026-08-13T16:32:17.970Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-17-the-shouldignore-func-lHevPpi_qLY</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 17 (The shouldIgnore() func)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/lHevPpi_qLY/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is part of a series on syncing projects with Google Drive. It focuses specifically on implementing the `shouldIgnore()` function within a custom `.gitignore` parser. The purpose of this function is to determine whether a specific file should be ignored or uploaded based on the rules defined in the project&apos;s ignore file.</video:description>
</video:video>
<lastmod>2026-08-13T16:32:40.345Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-16-custom-gitignore-parser-tkkvW7YHnmY</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 16 (Custom gitignore parser)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/tkkvW7YHnmY/hqdefault.jpg</video:thumbnail_loc>
<video:description>The developer is building a custom `.gitignore` file parser to ensure that only relevant project files are uploaded to Google Drive, effectively ignoring unnecessary files and folders based on common gitignore patterns.</video:description>
</video:video>
<lastmod>2026-08-13T16:33:11.606Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-15-bug-hunting-olovBUvGO6E</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 15 (Bug hunting)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/olovBUvGO6E/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is a brief troubleshooting session focused on identifying and resolving minor bugs introduced in previous installments of the &apos;Syncing projects with Google Drive&apos; series. The goal is to stabilize the codebase before proceeding with further feature development.</video:description>
</video:video>
<lastmod>2026-08-13T16:33:33.777Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/why-i-hate-javascript-l174V4JEXog</loc>
<video:video>
<video:title>Why I HATE Javascript</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/l174V4JEXog/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator shares a candid, unstructured discussion regarding the flaws and frustrations associated with JavaScript. While acknowledging that the language can be powerful and &apos;cool,&apos; the video focuses on highlighting its specific shortcomings and the developer&apos;s personal grievances with its design and behavior.</video:description>
</video:video>
<lastmod>2026-08-13T16:26:38.915Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-14-deleting-ghost-files-6wiiDClyUqE</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 14 (Deleting ghost files)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/6wiiDClyUqE/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video explains how to identify and remove &apos;ghost files&apos; from Google Drive—files that remain in the cloud storage despite having been deleted from the local machine during a synchronization process.</video:description>
</video:video>
<lastmod>2026-08-13T18:21:01.859Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-13-overwriting-files-VsKdd--IBBU</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 13 (Overwriting files)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/VsKdd--IBBU/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this video, the developer implements a mechanism to overwrite existing files on Google Drive during the synchronization process. Previously, the application created duplicate files when changes were detected via checksums instead of updating the existing ones.</video:description>
</video:video>
<lastmod>2026-08-13T18:17:21.623Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-12-1-fixing-rewrites-mt0S9G9nZ9I</loc>
<video:video>
<video:title>Building a Redis clone in Go -  Part 12-1 (Fixing rewrites)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/mt0S9G9nZ9I/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a critical bug fix for the AOF (Append Only File) rewrite process in a Go-based Redis clone. The author addresses an issue where commands received during a background rewrite were being lost.</video:description>
</video:video>
<lastmod>2026-08-13T18:17:14.870Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-12-ignoring-unchanged-files-sBPAbDasmAg</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 12 (Ignoring unchanged files)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/sBPAbDasmAg/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video focuses on optimizing a Google Drive syncing tool by implementing a mechanism to ignore unchanged files and fixing a critical bug regarding subfolder handling in Go.</video:description>
</video:video>
<lastmod>2026-08-13T18:17:07.660Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-11-mapping-local-to-remote-projects-3BeQ4Wd2r3A</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 11 (Mapping local to remote projects)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/3BeQ4Wd2r3A/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video focuses on creating a mapping between local project folders and their corresponding folders on Google Drive. The goal is to build a tracking system that identifies which files are new, modified, or unchanged to avoid duplicate uploads and optimize the syncing process.</video:description>
</video:video>
<lastmod>2026-08-13T18:17:00.067Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/why-no-one-trusts-your-website-xkh26xFCFKw</loc>
<video:video>
<video:title>Why No One Trusts Your Website</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/xkh26xFCFKw/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video focuses on the intersection of brand strategy and copywriting to build trust and improve user experience in app and website design. The creator explains that branding is often abstract, but by focusing on targeted writing and strategic design, developers and designers can create products that resonate more effectively with their specific target audience.</video:description>
</video:video>
<lastmod>2026-08-13T18:21:23.442Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/dear-ceos-ai-is-not-gonna-replace-your-developers-lt41ujdXZVY</loc>
<video:video>
<video:title>Dear CEOs, AI is not gonna replace your developers</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/lt41ujdXZVY/hqdefault.jpg</video:thumbnail_loc>
<video:description>The speaker argues that AI will not replace software developers, debunking claims from AI company leaders (specifically citing Anthropic) that suggest software engineering is nearing its end. The core of the argument is based on the fundamental difference between how compilers and LLMs function.</video:description>
</video:video>
<lastmod>2026-08-13T18:16:33.022Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-10-new-sync-algorithm-6aluc_ItjUA</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 10 (New sync algorithm)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/6aluc_ItjUA/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this video, the developer begins replacing a wasteful &apos;delete-and-reupload&apos; sync method with a more efficient algorithm that only uploads modified files. This is the first of several parts dedicated to this new synchronization logic.</video:description>
</video:video>
<lastmod>2026-08-13T18:16:25.473Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-9-concurrent-uploads-and-progress-bars-tklq7ucVFgs</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 9 (Concurrent uploads and progress bars)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/tklq7ucVFgs/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to transform a synchronous file upload process into a concurrent one using Go, while implementing visual progress bars for better user experience.</video:description>
</video:video>
<lastmod>2026-08-13T18:16:19.244Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-8-set-up-cli-cmds-T2y0zcTjHuc</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 8 (Set up CLI cmds)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/T2y0zcTjHuc/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to implement a Command Line Interface (CLI) for a Google Drive synchronization tool using the Go package &apos;Cobra CLI&apos;.</video:description>
</video:video>
<lastmod>2026-08-13T18:16:09.734Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-7-reorganizing-codebase-Jaw6tOoNuPQ</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 7 (Reorganizing Codebase)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Jaw6tOoNuPQ/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this video, the developer focuses on codebase maintenance by reorganizing a growing Go project into a modular package structure to improve maintainability before implementing a CLI.</video:description>
</video:video>
<lastmod>2026-08-13T18:16:02.384Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-6-refreshing-oauth-tokens-jiUgSeLR5xY</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 6 (Refreshing OAuth Tokens)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/jiUgSeLR5xY/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to implement automatic OAuth token refreshing for a Google Drive synchronization project in Go, eliminating the need for manual re-authentication when access tokens expire.</video:description>
</video:video>
<lastmod>2026-08-13T18:15:45.132Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-5-reading-gitignore-files-BoVRL7nJX-8</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 5 (Reading .gitignore files)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/BoVRL7nJX-8/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to implement a system to automatically skip specific files and folders during the Google Drive upload process by reading both a global configuration file and project-specific `.gitignore` files.</video:description>
</video:video>
<lastmod>2026-08-13T18:15:33.113Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-4-handling-subfolders-and-duplicates-J_Mmhms1XN4</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 4 (Handling Subfolders and Duplicates)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/J_Mmhms1XN4/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is the fourth part of a series on building a project syncing tool with Google Drive. It focuses on two critical technical implementations: the recursive handling of subfolders to ensure entire directory trees are uploaded, and the logic required to detect and manage duplicate files to prevent redundant uploads.</video:description>
</video:video>
<lastmod>2026-08-13T18:22:10.095Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-3-upload-to-drive-cyXWzYzG8is</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 3 (Upload to Drive)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/cyXWzYzG8is/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to implement the core upload functionality for a Go-based Google Drive synchronization tool. The creator builds a system to upload specific local folders to Google Drive, ensuring they are organized within a designated base folder.</video:description>
</video:video>
<lastmod>2026-08-13T18:15:21.261Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/syncing-projects-with-google-drive-part-2-config-files-and-drive-api-WEG286vf-qs</loc>
<video:video>
<video:title>Syncing projects with Google Drive - Part 2 (Config Files and Drive API)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/WEG286vf-qs/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this second part of the Google Drive Syncing project, the developer focuses on refactoring the codebase for better organization and implementing a configuration system to manage which local folders are synchronized to the cloud.</video:description>
</video:video>
<lastmod>2026-08-13T18:14:59.479Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/sync-code-with-google-drive-part-1-google-cloud-console-oauth-oxCG7PxbrJY</loc>
<video:video>
<video:title>Sync code with Google Drive - Part 1 (Google Cloud Console, OAUTH)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/oxCG7PxbrJY/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video marks the start of a project series where the author builds a &apos;Drive Syncer&apos; application using Go. The tool is designed as a secondary backup for coding projects, specifically solving the problem of losing local changes that weren&apos;t pushed to GitHub (e.g., due to hardware failure). Unlike the standard Google Drive desktop app, this custom tool will allow the user to ignore specific folders like `node_modules`, `.git`, and virtual environments using a logic similar to `.gitignore`.</video:description>
</video:video>
<lastmod>2026-08-13T18:14:00.829Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/stop-scaling-text-sizes-proportionally-0rOS7vJ954g</loc>
<video:video>
<video:title>Stop scaling text sizes proportionally</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/0rOS7vJ954g/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video discusses the pitfalls of scaling text sizes proportionally across different screen sizes and proposes a more strategic approach to responsive typography.</video:description>
</video:video>
<lastmod>2026-08-13T18:22:22.196Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/memory-management-in-go-part-2--TL1Ar3hfDw</loc>
<video:video>
<video:title>Memory Management in Go - Part 2</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/-TL1Ar3hfDw/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video explains the technical architecture of Go&apos;s garbage collector (GC), detailing the specific algorithms it uses to manage heap memory and how developers can tune its performance.</video:description>
</video:video>
<lastmod>2026-08-13T18:13:47.461Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/memory-management-in-go-part-1-kRWb9n2jGPY</loc>
<video:video>
<video:title>Memory Management in Go - Part 1</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/kRWb9n2jGPY/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a deep dive into how the Go programming language manages memory, focusing on the distinction between the stack and the heap and the mechanism the compiler uses to decide where data is stored.</video:description>
</video:video>
<lastmod>2026-08-13T18:13:42.300Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-20-finish-info-fix-aof-memory-BzdCkr4ssHs</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 20 (Finish INFO &amp; fix AOF memory)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/BzdCkr4ssHs/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is the 20th part of a series on building a Redis clone using the Go programming language. The primary focus of this episode is twofold: completing the implementation of the `INFO` command and resolving memory leaks or inefficiencies associated with the Append-Only File (AOF) persistence mechanism.</video:description>
</video:video>
<lastmod>2026-08-13T18:23:03.046Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-19-info-command-tVBdJiQYroo</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 19 (INFO command)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/tVBdJiQYroo/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video focuses on implementing the `INFO` command for a Redis clone in Go, which provides detailed server statistics. The author builds the core infrastructure for returning server, client, and memory metrics.</video:description>
</video:video>
<lastmod>2026-08-13T17:58:57.537Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-18-monitor-command-xZzEGyRsU1s</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 18 (MONITOR command)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/xZzEGyRsU1s/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is part of a series on building a Redis clone using the Go programming language. In Part 18, the focus is specifically on implementing the `MONITOR` command.</video:description>
</video:video>
<lastmod>2026-08-13T18:23:37.205Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-17-allkeys-lru-and-allkeys-lfu-5378onfQ-7I</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 17 (allkeys-lru and allkeys-lfu)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/5378onfQ-7I/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates the implementation of the `allkeys-lru` (Least Recently Used) and `allkeys-lfu` (Least Frequently Used) eviction policies in a Redis clone built with Go.</video:description>
</video:video>
<lastmod>2026-08-13T17:58:26.897Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-16-fixing-aof-file-sync-zPE2oBa0VLw</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 16 (Fixing AOF file sync)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/zPE2oBa0VLw/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video focuses on fixing a critical bug in the Append-Only File (AOF) synchronization process of a Go-based Redis clone, where only the first key in the AOF file was being restored upon server restart.</video:description>
</video:video>
<lastmod>2026-08-13T17:58:18.953Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-15-evicting-keys-allkeys-random-eviction-cpYnCe8tg3A</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 15 (Evicting Keys &amp; allkeys-random eviction)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/cpYnCe8tg3A/hqdefault.jpg</video:thumbnail_loc>
<video:description>In Part 15 of the Redis clone series, the instructor implements the &apos;allkeys-random&apos; eviction policy in Go. This mechanism ensures the database stays within its memory limit by deleting random keys when the maximum memory capacity is reached.</video:description>
</video:video>
<lastmod>2026-08-13T17:58:11.225Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-14-managing-memory-evictions-SRwxcxPso64</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 14 (Managing Memory &amp; Evictions)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/SRwxcxPso64/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video focuses on implementing memory management and tracking for a Redis clone built in Go. The author implements a way to approximate memory usage for each key and establishes a configuration system to limit the total memory the server can use, including a basic &apos;no-eviction&apos; policy.</video:description>
</video:video>
<lastmod>2026-08-13T17:57:46.444Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-13-database-transactions-5u_hXPMchVQ</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 13 (Database Transactions)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/5u_hXPMchVQ/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to implement database transactions in a Redis clone using Go. The author explains the core Redis transaction workflow—starting with `MULTI`, queueing commands, and finalizing with either `EXEC` (to execute) or `DISCARD` (to cancel)—and translates these concepts into Go code.</video:description>
</video:video>
<lastmod>2026-08-13T17:57:31.759Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-12-rewriting-aof-files-ZaOeUgdjcRQ</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 12 (Rewriting AOF files)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/ZaOeUgdjcRQ/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to implement the `BGREWRITEAOF` (Background Rewrite Append Only File) command in a Go-based Redis clone. The primary goal is to optimize the AOF file by removing redundant write operations and keeping only the most recent state of each key, thereby reducing file size and improving server startup performance.</video:description>
</video:video>
<lastmod>2026-08-13T17:57:21.636Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-11-expire-and-ttl-1qaqafxdctI</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 11 (EXPIRE and TTL)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/1qaqafxdctI/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video demonstrates how to implement the `EXPIRE` and `TTL` (Time To Live) commands in a Redis clone using Go. The primary focus is on transitioning the database store from a simple string map to a structured map capable of tracking expiration timestamps and implementing the logic to handle key deletion upon expiry.</video:description>
</video:video>
<lastmod>2026-08-13T17:57:12.454Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-10-auth-and-passwords-Q1HbYo9ZOtw</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 10 (AUTH and Passwords)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Q1HbYo9ZOtw/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this part of the series, the author implements password-based authentication for the Redis clone in Go, enabling the server to restrict access to database commands unless a correct password is provided.</video:description>
</video:video>
<lastmod>2026-08-13T17:55:27.712Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-9-rdb-checksum-protection-gi7sd96BfcM</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 9 (RDB Checksum Protection)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/gi7sd96BfcM/hqdefault.jpg</video:thumbnail_loc>
<video:description>In Part 9 of the &apos;Building a Redis clone in Go&apos; series, the instructor implements checksum protection for RDB (Redis Database) files to ensure data integrity during the snapshot process.</video:description>
</video:video>
<lastmod>2026-08-13T17:55:17.574Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-8-dbsize-and-flushdb-WCvklkjN0K0</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 8 (DBSIZE and FLUSHDB)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/WCvklkjN0K0/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this video, the instructor implements two basic Redis commands—`DBSIZE` and `FLUSHDB`—into a Redis clone written in Go.</video:description>
</video:video>
<lastmod>2026-08-13T17:55:10.171Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-7-save-and-bgsave-UokU8HIQ1LA</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 7 (SAVE and BGSAVE)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/UokU8HIQ1LA/hqdefault.jpg</video:thumbnail_loc>
<video:description>In Part 7 of the Redis clone series in Go, the developer implements the `SAVE` and `BGSAVE` commands and performs general code housekeeping to improve concurrency and file handling.</video:description>
</video:video>
<lastmod>2026-08-13T17:55:01.837Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-6-del-exists-keys-concurrency-Q0hGUcwUgi8</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 6 (DEL, EXISTS, KEYS, &amp; Concurrency)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Q0hGUcwUgi8/hqdefault.jpg</video:thumbnail_loc>
<video:description>In Part 6 of the Go Redis clone series, the author transforms the server into a fully concurrent system and implements three essential Redis commands: DEL, EXISTS, and KEYS.</video:description>
</video:video>
<lastmod>2026-08-13T17:54:13.802Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-5-rdb-data-persistence-xx7dBgrj86Y</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 5 (RDB Data Persistence)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/xx7dBgrj86Y/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this part of the series, the instructor implements RDB (Redis Database) data persistence in a Go-based Redis clone. Unlike AOF (Append Only File), which logs every command, RDB creates a point-in-time binary snapshot of the entire dataset, offering a more compact and traditional backup method.</video:description>
</video:video>
<lastmod>2026-08-13T17:54:07.533Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-4-append-only-data-persistence-8zTugfGk9OM</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 4 (Append-only Data Persistence)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/8zTugfGk9OM/hqdefault.jpg</video:thumbnail_loc>
<video:description>In Part 4 of the Go Redis clone series, the focus is on implementing data persistence using the Append-Only File (AOF) method. The video explains the theoretical difference between AOF and RDB snapshots and provides a step-by-step coding implementation of AOF in Go.</video:description>
</video:video>
<lastmod>2026-08-13T17:53:53.308Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-3-concurrent-server-config-parser-x36_1A-g4d8</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 3 (Concurrent Server, Config Parser)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/x36_1A-g4d8/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is the third part of a series on building a Redis clone using Go, focusing on transforming the server into a concurrent system and implementing a configuration parser.</video:description>
</video:video>
<lastmod>2026-08-13T18:24:18.178Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-2-get-set-writing-to-client-LUYp_q63x0I</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 2 (GET, SET, Writing to client)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/LUYp_q63x0I/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is the second part of a series on building a Redis clone using the Go programming language. It focuses on implementing the core data retrieval and storage operations, as well as managing the network response to the client.</video:description>
</video:video>
<lastmod>2026-08-13T18:46:54.522Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/building-a-redis-clone-in-go-part-1-tcp-server-resp-protocol-djbm4xlk2w4</loc>
<video:video>
<video:title>Building a Redis clone in Go - Part 1 (TCP server, RESP protocol)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/djbm4xlk2w4/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a step-by-step guide to building the initial foundation of a Redis clone using Go. The focus is on establishing a TCP server and implementing the Redis Serialization Protocol (RESP) to communicate with official Redis clients.</video:description>
</video:video>
<lastmod>2026-08-13T17:53:16.590Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-to-pick-perfect-icon-libraries-0Xp9c2ce5N0</loc>
<video:video>
<video:title>how to pick PERFECT icon libraries</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/0Xp9c2ce5N0/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a guide on selecting the ideal icon library for design projects, emphasizing the importance of visual consistency and technical flexibility to avoid an amateurish appearance.</video:description>
</video:video>
<lastmod>2026-08-13T17:53:08.137Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-easy-trick-to-creating-perfect-layouts-every-time-4RAVNeL8wTw</loc>
<video:video>
<video:title>the easy trick to creating PERFECT LAYOUTS every time</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/4RAVNeL8wTw/hqdefault.jpg</video:thumbnail_loc>
<video:description>The core principle for creating perfect layouts is to avoid using more space than necessary. Many designers mistakenly try to force content to fill the entire screen, which often leads to stretched elements and a poor user experience.</video:description>
</video:video>
<lastmod>2026-08-13T17:53:01.349Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-secret-to-emphasizing-elements-properly-visual-hierarchy-tricks-tu-72TUMOxo</loc>
<video:video>
<video:title>the SECRET to emphasizing elements properly - visual hierarchy tricks</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/tu-72TUMOxo/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video explains a visual hierarchy technique for emphasizing a primary element by intentionally de-emphasizing the surrounding secondary elements.</video:description>
</video:video>
<lastmod>2026-08-13T17:52:52.559Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/stop-fcking-up-dark-mode-lnBbdq9p9vM</loc>
<video:video>
<video:title>stop f*cking up dark mode</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/lnBbdq9p9vM/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides four specific design tactics to create a professional, high-quality dark mode interface, emphasizing that simply inverting colors from light mode is insufficient.</video:description>
</video:video>
<lastmod>2026-08-13T17:52:44.857Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/semantic-styling-is-ruining-your-designs-L-k0Thyx13k</loc>
<video:video>
<video:title>semantic styling is RUINING your designs</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/L-k0Thyx13k/hqdefault.jpg</video:thumbnail_loc>
<video:description>Since no transcript was provided, I cannot summarize the specific arguments of this video. However, based on the title &apos;Semantic styling is RUINING your designs,&apos; the content likely critiques the practice of styling elements based on their HTML tags (semantic elements) rather than using a decoupled system of utility classes or design tokens. The author likely argues that this approach leads to maintenance difficulties, inconsistent styling, and a lack of scalability in modern web development.</video:description>
</video:video>
<lastmod>2026-08-13T18:24:47.584Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/learning-neovim-from-scratch-p1-OthHup1xaA4</loc>
<video:video>
<video:title>learning neovim from scratch p1</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/OthHup1xaA4/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator documents their first experience transitioning from VS Code to Neovim, opting to set it up from scratch rather than using pre-built configurations (like LazyVim) to better understand the editor&apos;s inner workings.</video:description>
</video:video>
<lastmod>2026-08-13T17:52:12.270Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/this-is-how-you-actually-create-good-visual-hierarchy-gHVnpDIv4qY</loc>
<video:video>
<video:title>this is how you ACTUALLY create good VISUAL HIERARCHY</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/gHVnpDIv4qY/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video explains how to create a professional visual hierarchy by strategically managing the relationship between labels and data to guide the user&apos;s attention.</video:description>
</video:video>
<lastmod>2026-08-13T17:52:03.976Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/choosing-bw-headline-fonts-and-body-fonts-_eF6Dmy3MXI</loc>
<video:video>
<video:title>choosing b/w headline fonts and body fonts</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/_eF6Dmy3MXI/hqdefault.jpg</video:thumbnail_loc>
<video:description>Since no transcript was provided, a detailed summary of the content is unavailable. However, based on the title, the video focuses on the design principles of pairing headline fonts with body fonts to create visual hierarchy and readability in web design.</video:description>
</video:video>
<lastmod>2026-08-13T18:25:07.106Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/continue-building-gocord-9loddyNLWQE</loc>
<video:video>
<video:title>continue building gocord</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/9loddyNLWQE/hqdefault.jpg</video:thumbnail_loc>
<video:description>The developer continues building &apos;gocord,&apos; a Discord clone, focusing on the implementation of server invitation and joining functionality. The session covers full-stack development, spanning the Go backend and the Electron-based React frontend.</video:description>
</video:video>
<lastmod>2026-08-13T17:51:44.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/continue-building-gocord-xST6eIbijas</loc>
<video:video>
<video:title>continue building gocord</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/xST6eIbijas/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator is continuing the development of &apos;gocord,&apos; a custom Discord clone project.</video:description>
</video:video>
<lastmod>2026-08-13T18:26:59.228Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/random-coding-stream-idk-gk1m94rHdS4</loc>
<video:video>
<video:title>random coding stream idk</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/gk1m94rHdS4/hqdefault.jpg</video:thumbnail_loc>
<video:description>In this coding stream, the developer works on &apos;Go Port,&apos; a Discord-like instant messaging application built with a Go backend and an Electron/React frontend. The session focuses on implementing real-time messaging using WebSockets and a centralized hub for broadcasting messages to connected clients.</video:description>
</video:video>
<lastmod>2026-08-13T17:51:32.998Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/creating-an-electronreact-dev-environment-with-webpack-QtxvjvhhIak</loc>
<video:video>
<video:title>creating an electron+react dev environment with webpack</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/QtxvjvhhIak/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a comprehensive, step-by-step guide to building a custom desktop application starter template using Electron, React, TypeScript, and Tailwind CSS. The author explains the necessity of building this from scratch to ensure modern versioning (specifically Tailwind 4) and full type safety with TypeScript.</video:description>
</video:video>
<lastmod>2026-08-13T17:51:23.887Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-to-systemize-your-typography-ulenAatZJm4</loc>
<video:video>
<video:title>how to systemize your typography</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/ulenAatZJm4/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides a framework for creating a typography design system, breaking it down into four key components: font families, font sizes, letter spacing, and line height. The goal is to create consistency and professional polish while avoiding &apos;analysis paralysis&apos; during the design process.</video:description>
</video:video>
<lastmod>2026-08-13T17:50:53.236Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/write-your-text-in-rems-thank-me-later-4QHi4bSIOpM</loc>
<video:video>
<video:title>write your text in rems. thank me later.</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/4QHi4bSIOpM/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video advocates for using **rems** and **HSLs** instead of pixels, RGBs, or Hex codes to improve efficiency and accessibility in web development.</video:description>
</video:video>
<lastmod>2026-08-13T18:47:10.381Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/why-hsl-colors-are-the-best-Cd7OK8mCXNs</loc>
<video:video>
<video:title>why HSL colors are the best</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Cd7OK8mCXNs/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video argues that HSL (Hue, Saturation, Lightness) is a superior and more intuitive color format for CSS and design compared to Hex codes or RGB, as it aligns with how humans naturally perceive color.</video:description>
</video:video>
<lastmod>2026-08-13T17:50:18.336Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/stop-over-using-color-youre-ruining-your-design-accessibility-mAKvXGzChns</loc>
<video:video>
<video:title>stop over-using color, you&apos;re ruining your design accessibility</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/mAKvXGzChns/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video explains how to design accessible user interfaces for colorblind users by avoiding the common mistake of using color as the primary way to convey information.</video:description>
</video:video>
<lastmod>2026-08-13T17:50:12.414Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/this-is-how-you-actually-pick-good-fonts-even-as-a-newbie-designer-NGednsLbgfw</loc>
<video:video>
<video:title>this is how you ACTUALLY pick good fonts (even as a newbie designer)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/NGednsLbgfw/hqdefault.jpg</video:thumbnail_loc>
<video:description>This guide provides a systematic approach for designers—especially beginners—to select professional typefaces without needing years of typography experience. The core philosophy is to move from broad categories to specific technical checks to ensure readability and visual quality.</video:description>
</video:video>
<lastmod>2026-08-13T17:50:00.817Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-to-make-your-text-readable-for-the-web-Os3XCJHP5kw</loc>
<video:video>
<video:title>How to make your text readable for the web</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Os3XCJHP5kw/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video provides four simple typography techniques to improve the readability and professional look of text on websites, focusing on reducing cognitive load for the reader.</video:description>
</video:video>
<lastmod>2026-08-13T17:49:48.905Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/why-and-how-to-create-your-first-design-system-iHdnNem0S-4</loc>
<video:video>
<video:title>Why (and how) to create your first design system</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/iHdnNem0S-4/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video explains the importance of building a design system—specifically focusing on **design tokens**—before starting the actual design process to increase speed, consistency, and brand alignment.</video:description>
</video:video>
<lastmod>2026-08-13T17:49:38.820Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/how-to-write-ai-prompts-that-actually-work-step-by-step-NSC0AJgZVCM</loc>
<video:video>
<video:title>How to Write AI Prompts That Actually Work (Step-by-Step)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/NSC0AJgZVCM/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video provides a framework for moving beyond basic, two-sentence prompts to create high-quality AI automations. The core argument is that AI output quality is directly proportional to the amount of context and detail provided in the prompt.</video:description>
</video:video>
<lastmod>2026-08-13T17:48:53.480Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/css-dynamic-grid-layout-with-auto-fit-min-and-max-GjRpjZ8cS_0</loc>
<video:video>
<video:title>CSS Dynamic Grid Layout with auto fit, min and max</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/GjRpjZ8cS_0/hqdefault.jpg</video:thumbnail_loc>
<video:description>The video demonstrates how to create a complex, responsive grid layout using CSS Grid and advanced CSS functions (`repeat`, `auto-fit`, `min()`, and `max()`) with virtually no media queries.</video:description>
</video:video>
<lastmod>2026-08-13T17:48:46.592Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/empty-state-uis-why-are-they-important-how-do-you-build-them-XYrHqoXgLCI</loc>
<video:video>
<video:title>Empty-state UIs - Why are they important, how do you build them</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/XYrHqoXgLCI/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video explains the importance of **Empty-State UIs**—the screens users see when there is no data to display (e.g., a new account with no history or a search with no results). The author argues that designers often mistakenly assume UIs will always be filled with content, leading to blank screens that create a poor first impression and leave users confused about how to proceed.</video:description>
</video:video>
<lastmod>2026-08-13T17:48:01.337Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-clamp-css-function-and-responsive-typography-Q0GRrCDIo60</loc>
<video:video>
<video:title>The clamp() CSS function and Responsive Typography</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Q0GRrCDIo60/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video explains how to use the CSS `clamp()` function to create responsive typography that scales smoothly across different screen sizes without the need for multiple media queries.</video:description>
</video:video>
<lastmod>2026-08-13T17:47:49.738Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-13-final-part-noXwR7DGlfU</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 13 (FINAL PART)</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/noXwR7DGlfU/hqdefault.jpg</video:thumbnail_loc>
<video:description>This final part of the tutorial focuses on completing the responsiveness of the travel agency landing page using NextJS and Tailwind CSS, specifically targeting the social proof, Call to Action (CTA), and footer sections.</video:description>
</video:video>
<lastmod>2026-08-13T17:47:45.481Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-12-Bv6JshbhiiE</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 12</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/Bv6JshbhiiE/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial focuses on making a travel agency landing page responsive using NextJS and Tailwind CSS, specifically targeting the Offers, More Offers, Products, and Reviews sections.</video:description>
</video:video>
<lastmod>2026-08-13T17:47:36.576Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-11-IM7fntfyljU</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 11</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/IM7fntfyljU/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is the first part of a series focused on making a Travel Agency landing page responsive using Next.js and Tailwind CSS. The instructor transforms the desktop-only design into a mobile-friendly layout by implementing breakpoints, flexible grids, and dynamic typography.</video:description>
</video:video>
<lastmod>2026-08-13T17:47:30.021Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-10-waO-yVNRUSA</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 10</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/waO-yVNRUSA/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial demonstrates how to build a professional footer for a travel agency landing page using Next.js and Tailwind CSS. The instructor focuses on structural organization, styling for brand consistency, and implementing interactive elements.</video:description>
</video:video>
<lastmod>2026-08-13T17:47:06.636Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-9-PoKMKNat1Cw</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 9</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/PoKMKNat1Cw/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial focuses on building a Call-to-Action (CTA) section for a travel agency landing page using NextJS and Tailwind CSS.</video:description>
</video:video>
<lastmod>2026-08-13T17:46:51.069Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-8-VIFNtsjp4j8</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 8</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/VIFNtsjp4j8/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is Part 8 of a series focusing on building a travel agency landing page using NextJS and Tailwind CSS. The tutorial provides a practical guide to implementing specific UI components and layouts, with the complete source code available on GitHub for viewers to follow along.</video:description>
</video:video>
<lastmod>2026-08-13T18:27:14.986Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-7-bhcD8P47_68</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 7</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/bhcD8P47_68/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial demonstrates how to build an animated, infinite-scrolling reviews section for a travel agency landing page using Next.js and Tailwind CSS.</video:description>
</video:video>
<lastmod>2026-08-13T17:46:26.832Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-6-cn2_2YHsKp4</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 6</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/cn2_2YHsKp4/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial demonstrates how to build a &apos;Travel Essentials&apos; product section for a travel agency landing page using Next.js and Tailwind CSS.</video:description>
</video:video>
<lastmod>2026-08-13T17:46:00.910Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-5-VBEL1UBDovQ</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 5</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/VBEL1UBDovQ/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial demonstrates how to build a horizontal sliding animated offer section for a travel agency landing page using Next.js, Tailwind CSS, and custom CSS animations.</video:description>
</video:video>
<lastmod>2026-08-13T17:45:51.888Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-4-LhUfxYepNsI</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 4</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/LhUfxYepNsI/hqdefault.jpg</video:thumbnail_loc>
<video:description>This video is the fourth part of a tutorial series focused on building a travel agency landing page using Next.js and Tailwind CSS. It provides a practical walkthrough of the development process, with the complete source code available for reference.</video:description>
</video:video>
<lastmod>2026-08-13T18:27:41.189Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-3-TMfeLbjMdn8</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 3</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/TMfeLbjMdn8/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial demonstrates how to build a &apos;Featured Destinations&apos; section for a travel agency landing page using Next.js and Tailwind CSS.</video:description>
</video:video>
<lastmod>2026-08-13T17:45:33.459Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-2-IcWi7vNvKgQ</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 2</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/IcWi7vNvKgQ/hqdefault.jpg</video:thumbnail_loc>
<video:description>This is a technical tutorial focusing on the second part of building a travel agency landing page using Next.js and Tailwind CSS.</video:description>
</video:video>
<lastmod>2026-08-13T18:27:59.908Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/random-coding-stream-idk-oMOFCoeVZeM</loc>
<video:video>
<video:title>random coding stream idk</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/oMOFCoeVZeM/hqdefault.jpg</video:thumbnail_loc>
<video:description>CCPCBased on the information provided, there is no contentHKL a summary cannot be generatedC provided. The title</video:description>
</video:video>
<lastmod>2026-08-13T17:45:11.579Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/landing-page-design-tutorial-nextjs-tailwind-travel-agency-part-1-P1yFHAJsB-M</loc>
<video:video>
<video:title>Landing Page Design Tutorial - NextJS &amp; Tailwind (Travel Agency) - Part 1</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/P1yFHAJsB-M/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial demonstrates how to build the hero section of a travel agency landing page using Next.js, TypeScript, and Tailwind CSS. The instructor covers the creation of a super header, a responsive navigation bar, and a visually appealing hero section with an image overlay.</video:description>
</video:video>
<lastmod>2026-08-13T17:27:56.265Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/whats-new-in-tailwind-v4-JzMbJ7Os2YY</loc>
<video:video>
<video:title>What&apos;s new in Tailwind V4</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/JzMbJ7Os2YY/hqdefault.jpg</video:thumbnail_loc>
<video:description>Tailwind CSS v4 is a major evolution focusing on performance, developer experience, and a streamlined configuration process. The core shift is moving toward a &apos;CSS-first&apos; approach.</video:description>
</video:video>
<lastmod>2026-08-13T18:28:21.442Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/tailwind-masonry-grid-layout-tutorial-fully-responsive-9AH1EX8nqSk</loc>
<video:video>
<video:title>Tailwind Masonry Grid Layout Tutorial - Fully Responsive</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/9AH1EX8nqSk/hqdefault.jpg</video:thumbnail_loc>
<video:description>This tutorial demonstrates how to create a fully responsive masonry grid layout (similar to Pinterest or Unsplash) using React, TypeScript, and Tailwind CSS.</video:description>
</video:video>
<lastmod>2026-08-13T17:27:21.247Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/the-programming-language-or-framework-you-learn-first-doesnt-matter-_jhiTfrNGks</loc>
<video:video>
<video:title>The programming language or framework you learn first doesn&apos;t matter</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/_jhiTfrNGks/hqdefault.jpg</video:thumbnail_loc>
<video:description>The core message of this video is that programming is fundamentally about problem-solving, not about the specific language or framework you use. The author argues that beginners often waste time in &apos;analysis paralysis&apos; trying to pick the &apos;perfect&apos; first language, when they should instead focus on learning how to use tools to create value.</video:description>
</video:video>
<lastmod>2026-08-13T17:27:15.230Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.hassandev.me/blog/youtube/i-built-this-cool-little-fitness-app-called-athletix-4cML3Rt3HnQ</loc>
<video:video>
<video:title>I built this cool little fitness app called Athletix</video:title>
<video:thumbnail_loc>https://img.youtube.com/vi/4cML3Rt3HnQ/hqdefault.jpg</video:thumbnail_loc>
<video:description>The creator introduces &apos;Athletix,&apos; a fitness application they developed. As this is their first YouTube upload, they acknowledge technical shortcomings regarding audio quality and a general need for improvement in their video production.</video:description>
</video:video>
<lastmod>2026-08-13T18:28:57.147Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
