<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hosein Mahmoudi</title>
    <description>The latest articles on DEV Community by Hosein Mahmoudi (@hoseinmdev).</description>
    <link>https://dev.to/hoseinmdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4007811%2F4f903e54-27e0-4c47-9a8f-e41e410dc6aa.jpg</url>
      <title>DEV Community: Hosein Mahmoudi</title>
      <link>https://dev.to/hoseinmdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hoseinmdev"/>
    <language>en</language>
    <item>
      <title>I Create My X Account 🤍</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Wed, 12 Aug 2026 12:58:51 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/i-create-my-x-account-5g1c</link>
      <guid>https://dev.to/hoseinmdev/i-create-my-x-account-5g1c</guid>
      <description>&lt;p&gt;Hi guys, i create my X account to share my posts in that :)&lt;/p&gt;

&lt;p&gt;if you can please follow me and i will back , Thanks :)&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://twitter.com/Hosein_Mah_Dev" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpbs.twimg.com%2Fprofile_images%2F2087507013408313346%2FLxlKe6sB_200x200.jpg" height="200" class="m-0" width="200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://twitter.com/Hosein_Mah_Dev" rel="noopener noreferrer" class="c-link"&gt;
            Hosein Mahmoudi (@Hosein_Mah_Dev) / X
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Frontend Developer ⚡️
React • Next.js • TypeScript

Building products, sharing lessons &amp;amp; exploring the web.

DMs open for freelance work.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ftwitter.com%2Ffavicon.ico" width="32" height="32"&gt;
          twitter.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How I Added Eye-Catching Animations to My Frontend Projects ✨</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Tue, 11 Aug 2026 12:29:41 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/how-i-added-eye-catching-animations-to-my-frontend-projects-2jkp</link>
      <guid>https://dev.to/hoseinmdev/how-i-added-eye-catching-animations-to-my-frontend-projects-2jkp</guid>
      <description>&lt;p&gt;Have you ever visited a website and thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How did they make that animation?! 😳"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I definitely have.&lt;/p&gt;

&lt;p&gt;As a frontend developer, I've always been fascinated by websites with beautiful and smooth animations.&lt;/p&gt;

&lt;p&gt;You know those websites where cards move when you hover over them, elements smoothly appear as you scroll, and everything just feels... alive? ✨&lt;/p&gt;

&lt;p&gt;For a long time, I had one question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Did the developer actually build all of these animations from scratch?!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Well... not always 😄&lt;/p&gt;

&lt;p&gt;A while ago, I discovered &lt;a href="https://ui.aceternity.com/" rel="noopener noreferrer"&gt;Aceternity UI&lt;/a&gt;, and it completely changed the way I think about adding animations to frontend projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Aceternity UI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ui.aceternity.com/" rel="noopener noreferrer"&gt;Aceternity UI&lt;/a&gt; is a collection of beautiful and animated UI components that you can use in your projects and customize however you want.&lt;/p&gt;

&lt;p&gt;And there are &lt;strong&gt;a LOT&lt;/strong&gt; of them.&lt;/p&gt;

&lt;p&gt;You can find things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✨ Animated cards&lt;/li&gt;
&lt;li&gt;🌌 Background effects&lt;/li&gt;
&lt;li&gt;💫 Hover animations&lt;/li&gt;
&lt;li&gt;🖱️ Interactive components&lt;/li&gt;
&lt;li&gt;⚡ Text animations&lt;/li&gt;
&lt;li&gt;🎨 Beautiful UI effects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best part?&lt;/p&gt;

&lt;p&gt;You don't have to reinvent the wheel every time you want to create something visually interesting.&lt;/p&gt;

&lt;p&gt;You can start with an existing component, understand how it works, and then customize it to fit your own project.&lt;/p&gt;

&lt;p&gt;That's exactly what I did with my portfolio.&lt;/p&gt;




&lt;h2&gt;
  
  
  💼 Experience Section
&lt;/h2&gt;

&lt;p&gt;For the &lt;strong&gt;Experience&lt;/strong&gt; section of my portfolio, I used the &lt;a href="https://ui.aceternity.com/components/card-spotlight" rel="noopener noreferrer"&gt;Card Spotlight&lt;/a&gt; component from Aceternity UI.&lt;/p&gt;

&lt;p&gt;Of course, I didn't use it exactly as it was.&lt;/p&gt;

&lt;p&gt;I customized it to match the design and style of my portfolio.&lt;/p&gt;

&lt;p&gt;Here's the result:&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Experience Animation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnvb3yuelra5v65b9ksxh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnvb3yuelra5v65b9ksxh.gif" alt=" " width="759" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I really like these kinds of subtle animations because they don't scream:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"HEY! LOOK AT ME! I'M AN ANIMATION!" 😂&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead, they make the UI feel more interactive without getting in the user's way.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Projects Section
&lt;/h2&gt;

&lt;p&gt;For my &lt;strong&gt;Projects&lt;/strong&gt; section, I used another Aceternity UI component called &lt;a href="https://ui.aceternity.com/components/comet-card" rel="noopener noreferrer"&gt;Comet Card&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Again, I customized it to fit my own design.&lt;/p&gt;

&lt;p&gt;Here's how it turned out:&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Projects Animation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnfro2m7tf4l0dn037wi2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnfro2m7tf4l0dn037wi2.gif" alt=" " width="719" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was one of those moments where I realized:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You really don't need to create every animation from scratch.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes, the best approach is to find a good starting point and make it your own.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌀 And Then There's GSAP...
&lt;/h2&gt;

&lt;p&gt;Aceternity UI wasn't the only tool I used.&lt;/p&gt;

&lt;p&gt;I also used &lt;a href="https://gsap.com/" rel="noopener noreferrer"&gt;GSAP&lt;/a&gt; in my portfolio, especially when I wanted more control over animations based on scrolling.&lt;/p&gt;

&lt;p&gt;And honestly, this is where things get really interesting. 👀&lt;/p&gt;

&lt;p&gt;Instead of simply saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Animate this element when I hover over it."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I can create animations that react to the user's scroll position.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scroll ↓&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Element starts moving&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
Opacity changes&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
Position changes&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
Animation progresses&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
User keeps scrolling&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
Animation continues&lt;/p&gt;

&lt;p&gt;This gives you much more control over how the page feels while the user is navigating through it.&lt;/p&gt;

&lt;p&gt;And honestly...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scroll-based animations can make a portfolio feel completely different.&lt;/strong&gt; 🔥&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Do You Need to Build Everything From Scratch?
&lt;/h2&gt;

&lt;p&gt;I used to think that using a component library for animations somehow meant I wasn't "really" building the UI myself.&lt;/p&gt;

&lt;p&gt;I don't think that anymore.&lt;/p&gt;

&lt;p&gt;There's a huge difference between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Copy → Paste → Done&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understand → Customize → Integrate → Make it yours&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Libraries like Aceternity UI can save you a huge amount of time while still giving you the freedom to create something unique.&lt;/p&gt;

&lt;p&gt;Instead of spending hours trying to recreate a specific animation from scratch, you can start with a working implementation and spend your time improving the actual user experience.&lt;/p&gt;

&lt;p&gt;And I think that's a pretty good trade-off. 😄&lt;/p&gt;




&lt;h2&gt;
  
  
  🎨 My Portfolio
&lt;/h2&gt;

&lt;p&gt;If you're curious about how these animations look together, you can check out my portfolio:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://hosein-mahmoudi.vercel.app/" rel="noopener noreferrer"&gt;My Portfolio&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I've used both &lt;strong&gt;Aceternity UI&lt;/strong&gt; and &lt;strong&gt;GSAP&lt;/strong&gt; to create different interactions and animations throughout the website.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I think animations are one of those things that can completely change how a user perceives a website.&lt;/p&gt;

&lt;p&gt;You don't necessarily need hundreds of animations.&lt;/p&gt;

&lt;p&gt;Sometimes, just a few &lt;strong&gt;well-designed and subtle interactions&lt;/strong&gt; can make a website feel much more polished.&lt;/p&gt;

&lt;p&gt;And tools like Aceternity UI make experimenting with these ideas much easier.&lt;/p&gt;

&lt;p&gt;So if you've ever looked at a beautiful website and wondered:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How the hell did they make this animation?" 😂&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Maybe you don't need to start from zero.&lt;/p&gt;

&lt;p&gt;Go explore some UI libraries, find something interesting, understand how it works, and &lt;strong&gt;make it yours.&lt;/strong&gt; 🚀&lt;/p&gt;

&lt;p&gt;And if you've used any interesting animation libraries or tools in your projects, I'd love to hear about them!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are you using for animations these days? 👇&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ui.aceternity.com/" rel="noopener noreferrer"&gt;Aceternity UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ui.aceternity.com/components/card-spotlight" rel="noopener noreferrer"&gt;Card Spotlight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ui.aceternity.com/components/comet-card" rel="noopener noreferrer"&gt;Comet Card&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gsap.com/" rel="noopener noreferrer"&gt;GSAP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>frontend</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Tue, 11 Aug 2026 09:16:18 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/frontend-2kfm</link>
      <guid>https://dev.to/hoseinmdev/frontend-2kfm</guid>
      <description></description>
    </item>
    <item>
      <title>🎨 Bringing SVGs to Life with Motion for React: From Static Vectors to Dynamic UI ✨</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Thu, 06 Aug 2026 20:23:14 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/bringing-svgs-to-life-with-motion-for-react-from-static-vectors-to-dynamic-ui-3o1</link>
      <guid>https://dev.to/hoseinmdev/bringing-svgs-to-life-with-motion-for-react-from-static-vectors-to-dynamic-ui-3o1</guid>
      <description>&lt;p&gt;For a long time, my workflow with SVGs was pretty straightforward: export from Figma, paste the code into a React component, render it, and move on. SVGs were basically just resolution-independent, static assets sitting silently on the screen. 😴&lt;/p&gt;

&lt;p&gt;But let's be honest—modern user interfaces thrive on micro-interactions! A subtle line-drawing animation on hover or a smooth morphing icon during state changes can transform a basic functional UI into a polished, delightful experience that users love. ❤️&lt;/p&gt;

&lt;p&gt;While CSS animations handle basic transitions pretty well, complex SVG orchestration—like path drawing, staggered delays, and spring physics—can quickly turn your CSS files into a messy nightmare. 😅&lt;/p&gt;

&lt;p&gt;That is where &lt;strong&gt;Motion for React&lt;/strong&gt; (&lt;code&gt;motion/react&lt;/code&gt;, formerly Framer Motion) changes the game! 🚀&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ The Bottleneck of Raw CSS SVG Animations
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F57ozl6dagpw8zd2y6y7g.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F57ozl6dagpw8zd2y6y7g.gif" alt=" " width="504" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CSS animations are great for simple transforms like &lt;code&gt;scale&lt;/code&gt;, &lt;code&gt;rotate&lt;/code&gt;, or &lt;code&gt;opacity&lt;/code&gt;. But when you start manipulating SVG path metrics using &lt;code&gt;stroke-dasharray&lt;/code&gt; and &lt;code&gt;stroke-dashoffset&lt;/code&gt;, things get tricky fast:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Calculations are Manual:&lt;/strong&gt; You need to pre-calculate path lengths or hardcode estimates. 📐&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State Management is Clunky:&lt;/strong&gt; Linking CSS keyframe animations to React state changes usually involves dynamic class toggles or tricky inline CSS variables. 🤯&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lack of Spring Physics:&lt;/strong&gt; Standard CSS &lt;code&gt;cubic-bezier&lt;/code&gt; curves often feel a bit mechanical compared to realistic physics-based spring dynamics. 🧬&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔥 Enter Motion for React (&lt;code&gt;motion/react&lt;/code&gt;)
&lt;/h2&gt;

&lt;p&gt;Motion provides first-class support for SVG elements out of the box! By simply prefixing standard SVG tags with &lt;code&gt;motion.&lt;/code&gt; (e.g., &lt;code&gt;&amp;lt;motion.svg&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;motion.path&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;motion.circle&amp;gt;&lt;/code&gt;), you gain instant access to declarative animation props and path-drawing magic. ✨&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠️ Practical Example: Interactive Path Drawing
&lt;/h3&gt;

&lt;p&gt;One of my absolute favorite features in Motion is the &lt;code&gt;pathLength&lt;/code&gt; property. Motion automatically measures the total length of the SVG path under the hood, allowing you to animate line drawing effortlessly from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;1&lt;/code&gt;. 🎉&lt;/p&gt;

&lt;p&gt;Here is a super smooth interactive checkmark example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;motion&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;motion/react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;InteractiveCheckmark&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;isChecked&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setIsChecked&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;
      &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setIsChecked&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isChecked&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center gap-3 px-4 py-2 rounded-lg bg-slate-900 text-white cursor-pointer hover:bg-slate-800 transition-colors"&lt;/span&gt;
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;motion&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;
        &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"24"&lt;/span&gt;
        &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"24"&lt;/span&gt;
        &lt;span class="na"&gt;viewBox&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0 0 24 24"&lt;/span&gt;
        &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"none"&lt;/span&gt;
        &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"currentColor"&lt;/span&gt;
        &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinecap&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
        &lt;span class="na"&gt;strokeLinejoin&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"round"&lt;/span&gt;
      &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Background Box */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;motion&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nt"&gt;rect&lt;/span&gt;
          &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"2"&lt;/span&gt;
          &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"2"&lt;/span&gt;
          &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20"&lt;/span&gt;
          &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"20"&lt;/span&gt;
          &lt;span class="na"&gt;rx&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"4"&lt;/span&gt;
          &lt;span class="na"&gt;animate&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;isChecked&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#10B981&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#64748B&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;isChecked&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#10B981&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;transparent&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;

        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Animated Path Length Checkmark ✍️ */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;motion&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;
          &lt;span class="na"&gt;d&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"M6 12L10 16L18 8"&lt;/span&gt;
          &lt;span class="na"&gt;stroke&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#FFFFFF"&lt;/span&gt;
          &lt;span class="na"&gt;initial&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;pathLength&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="na"&gt;animate&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;pathLength&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;isChecked&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="na"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;spring&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;stiffness&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;damping&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;motion&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nt"&gt;svg&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;isChecked&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Completed! 🎉&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Mark as Complete&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🤖 Accelerating the Workflow with AI (And Fine-Tuning Manually)
&lt;/h2&gt;

&lt;p&gt;Lately, I’ve been using AI to speed up my early prototyping phase:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Idea Generation:&lt;/strong&gt; I ask LLMs to generate valid SVG paths for multi-state icons (like a play button morphing into a pause button, or a menu icon turning into a close button). 💡&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Initial Rigging:&lt;/strong&gt; Prompting the AI to wrap raw SVGs in &lt;code&gt;motion/react&lt;/code&gt; components gives me a working foundation in seconds. ⏱️&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  ⚠️ The Limits of AI Generation
&lt;/h3&gt;

&lt;p&gt;While AI is fantastic for fast prototyping, it often generates unoptimized SVG vectors with unnecessary &lt;code&gt;&amp;lt;g&amp;gt;&lt;/code&gt; groups or redundant code. Manual fine-tuning is still essential to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clean up Figma exports:&lt;/strong&gt; Group related paths together and strip useless transform tags. 🧹&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Refine Spring Physics:&lt;/strong&gt; Adjust &lt;code&gt;stiffness&lt;/code&gt;, &lt;code&gt;damping&lt;/code&gt;, and &lt;code&gt;mass&lt;/code&gt; parameters to give interactions realistic weight and character. 🎛️&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimize Viewboxes:&lt;/strong&gt; Ensure coordinates align properly across different screen sizes. 📐&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Performance &amp;amp; Best Practices for SVG Animations
&lt;/h2&gt;

&lt;p&gt;Animating vector graphics can cause performance issues if not handled carefully. Here are three quick rules I follow to keep things buttery smooth 🧈:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Animate Transforms and Opacity Where Possible:&lt;/strong&gt; Vector path morphing forces the CPU to recalculate coordinates every frame. Whenever possible, rely on &lt;code&gt;scale&lt;/code&gt;, &lt;code&gt;rotate&lt;/code&gt;, and &lt;code&gt;opacity&lt;/code&gt; which can be offloaded directly to the GPU! 🏎️&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep SVGs Modular:&lt;/strong&gt; Break complex animated SVGs into smaller, reusable React components instead of maintaining giant, monolithic SVG files. 🧩&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use &lt;code&gt;layoutId&lt;/code&gt; for Shared Transitions:&lt;/strong&gt; Motion’s &lt;code&gt;layoutId&lt;/code&gt; prop makes morphing SVGs across different component boundaries feel like pure magic without complex coordinate math! 🪄&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  💬 Conclusion &amp;amp; Community Discussion
&lt;/h2&gt;

&lt;p&gt;Moving from treating SVGs as static illustrations to interactive UI elements has completely changed how I approach frontend development. Motion for React makes this transition so smooth, blending intuitive declarative syntax with powerful performance capabilities. 🌱&lt;/p&gt;

&lt;p&gt;There's always a better, cleaner, or more creative way to build something than the way we built it yesterday—and that's what makes web development so exciting! 🚀&lt;/p&gt;

&lt;p&gt;👇 &lt;strong&gt;I'd genuinely love to hear how you approach SVG animations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have you tried &lt;code&gt;motion/react&lt;/code&gt; in your projects yet? 💭&lt;/li&gt;
&lt;li&gt;Or do you prefer other vector workflow tools like Rive or Lottie for complex animations? 🎬&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's discuss in the comments below! 👇&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>🍕Nonna’s Table</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Sun, 02 Aug 2026 09:37:28 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/nonnas-table-11ha</link>
      <guid>https://dev.to/hoseinmdev/nonnas-table-11ha</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2026-07-29"&gt;Frontend Challenge - Comfort Food Edition, Perfect Landing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;A landing page for Nonna's Table — a wood-fired pizza place that only exists in my head, but I built it like it's been on the corner of Mulberry St for thirty years.&lt;/p&gt;

&lt;p&gt;I leaned hard into "comfort food" being about more than the food itself — it's the whole ritual around it. So instead of a generic hero + menu + footer page, I tried to make it feel like someone's actually telling you about their family restaurant: a hero that promises "Sunday dinner," a three-step story section about the dough (knead, rise, fire), a short six-item menu instead of an exhaustive one, and testimonials that sound like real people instead of five-star review copy.&lt;/p&gt;

&lt;p&gt;Little details I'm happy with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The hero pizza slowly bobs like it just came off the peel, and spins as you scroll past it&lt;/li&gt;
&lt;li&gt;Every flame icon on the page (menu, story) flickers off one shared GSAP loop&lt;/li&gt;
&lt;li&gt;A custom Tailwind theme with color names pulled straight from the food — &lt;code&gt;marinara&lt;/code&gt;, &lt;code&gt;basil&lt;/code&gt;, &lt;code&gt;crust&lt;/code&gt;, &lt;code&gt;dough&lt;/code&gt;, &lt;code&gt;parmesan&lt;/code&gt; — instead of gray-500/orange-600 style naming&lt;/li&gt;
&lt;li&gt;Sections fade/slide in on scroll using a small reusable &lt;code&gt;Reveal&lt;/code&gt; component instead of a full animation library for that part&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stack: Next.js (App Router), React, Tailwind v4, GSAP + ScrollTrigger for the scroll-tied motion, and Motion for the hover/tap micro-interactions on buttons and cards.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://dev-to-food-landing-page.vercel.app/" rel="noopener noreferrer"&gt;Live Demo 🍕&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;I started with the copy before touching any styling, which is not how I normally work but it ended up shaping everything else. Once I'd written "we do not talk about 1998" for the dough-rise step, the whole tone of the site kind of fell into place — a little dry, a little affectionate, not trying to sell you anything too hard.&lt;/p&gt;

&lt;p&gt;The animation split ended up being GSAP for anything tied to scroll or physical motion (the pizza rotating as you scroll past, the steam drifting, the flame flicker), and Motion for the small interactive stuff — button taps, card hover lifts, the mobile menu opening. Having both in the same project felt like overkill at first, but they're solving different problems and mixing them was less painful than I expected.&lt;/p&gt;

&lt;p&gt;The part I spent the most time tweaking was the hero illustration — getting the pizza, basil leaf and tomato SVGs to move independently but not fight each other took a lot of nudging duration and easing values until it stopped looking like clutter and started looking like things settling into place.&lt;/p&gt;

&lt;p&gt;Next, I'd like to add a real reservation flow instead of just a phone number, and maybe a dark "late night" theme for the site since half the point of a place like this is showing up after 9pm.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>🧠 Is AI Replacing Developers? My Honest Experience with Vibe Coding</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Fri, 31 Jul 2026 11:30:25 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/is-ai-replacing-developers-my-honest-experience-with-vibe-coding-4en0</link>
      <guid>https://dev.to/hoseinmdev/is-ai-replacing-developers-my-honest-experience-with-vibe-coding-4en0</guid>
      <description>&lt;h2&gt;
  
  
  🚀 Introduction
&lt;/h2&gt;

&lt;p&gt;“Is AI going to replace developers?”&lt;/p&gt;

&lt;p&gt;That’s a question I hear a lot these days…&lt;br&gt;&lt;br&gt;
And honestly, the answer isn’t simple.&lt;/p&gt;

&lt;p&gt;Recently, I had an experience that changed the way I think about AI and development — especially something people now call &lt;strong&gt;“vibe coding.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I thought it might be useful to share it with you.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Idea That Was Collecting Dust
&lt;/h2&gt;

&lt;p&gt;A while ago, my team had an interesting idea.&lt;br&gt;&lt;br&gt;
It had potential, but we didn’t have enough time or budget to actually build it.&lt;/p&gt;

&lt;p&gt;So the idea just sat there… unused.&lt;/p&gt;

&lt;p&gt;Until one day, we decided to give it a shot using &lt;strong&gt;AI tools (Claude + vibe coding approach).&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ What is Vibe Coding?
&lt;/h2&gt;

&lt;p&gt;For those who haven’t tried it yet:&lt;/p&gt;

&lt;p&gt;👉 Vibe coding = building software mostly by describing what you want, and letting AI generate the code.&lt;/p&gt;

&lt;p&gt;Sounds powerful, right?&lt;/p&gt;

&lt;p&gt;Well… yes and no.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧪 What Happened When We Built It
&lt;/h2&gt;

&lt;p&gt;We actually managed to build the project pretty fast.&lt;br&gt;&lt;br&gt;
Faster than we normally would.&lt;/p&gt;

&lt;p&gt;But then things started to get… complicated.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧱 The First Problem: Debugging Nightmare
&lt;/h2&gt;

&lt;p&gt;At some point, the project reached a stage where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The code &lt;strong&gt;worked&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;But we didn’t fully understand &lt;strong&gt;how&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And debugging?&lt;/p&gt;

&lt;p&gt;Almost impossible without asking AI again.&lt;/p&gt;

&lt;p&gt;It felt like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Only the AI can fix what the AI created.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🏗 The Second Problem: No Real Architecture
&lt;/h2&gt;

&lt;p&gt;Our project needed a backend too.&lt;br&gt;&lt;br&gt;
But I’m a frontend developer.&lt;/p&gt;

&lt;p&gt;So naturally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I didn’t fully understand what was happening behind the scenes
&lt;/li&gt;
&lt;li&gt;The structure wasn’t clearly defined
&lt;/li&gt;
&lt;li&gt;Dependencies started growing randomly
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And eventually:&lt;/p&gt;

&lt;p&gt;👉 Complexity on top of complexity.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔁 The Third Problem: Loss of Control
&lt;/h2&gt;

&lt;p&gt;This was the biggest issue.&lt;/p&gt;

&lt;p&gt;With vibe coding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You don’t always know where the project is going
&lt;/li&gt;
&lt;li&gt;New dependencies appear mid-way
&lt;/li&gt;
&lt;li&gt;The codebase becomes harder to reason about
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At some point, adding new features becomes risky or even impossible.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤯 The Reality Check
&lt;/h2&gt;

&lt;p&gt;The project worked.&lt;/p&gt;

&lt;p&gt;But the situation was basically this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“It works… but nobody really knows why.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that’s not a good place to be.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ So, Is Vibe Coding Useless?
&lt;/h2&gt;

&lt;p&gt;Not at all.&lt;/p&gt;

&lt;p&gt;In fact, it’s incredibly powerful — &lt;strong&gt;if used correctly.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 When Vibe Coding Actually Makes Sense
&lt;/h2&gt;

&lt;p&gt;Vibe coding is great when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want to &lt;strong&gt;test an idea quickly&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You’re building an &lt;strong&gt;MVP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Speed matters more than perfection&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚠️ When It Becomes a Problem
&lt;/h2&gt;

&lt;p&gt;It fails when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You rely on it &lt;strong&gt;without understanding the code&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You skip &lt;strong&gt;architecture and planning&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You treat AI like a &lt;strong&gt;black box developer&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 What I Learned
&lt;/h2&gt;

&lt;p&gt;Here’s the key takeaway:&lt;/p&gt;

&lt;p&gt;👉 AI should &lt;strong&gt;accelerate you&lt;/strong&gt;, not replace your thinking.&lt;/p&gt;

&lt;p&gt;To use it properly, you still need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define the architecture
&lt;/li&gt;
&lt;li&gt;Choose the right technologies
&lt;/li&gt;
&lt;li&gt;Review and understand the generated code
&lt;/li&gt;
&lt;li&gt;Stay in control of the project
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔚 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Vibe coding is not magic.&lt;/p&gt;

&lt;p&gt;If you just say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Build me an app”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It might work… for a while.&lt;/p&gt;

&lt;p&gt;But in the long run?&lt;/p&gt;

&lt;p&gt;It won’t scale.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Let’s Talk
&lt;/h2&gt;

&lt;p&gt;Have you tried vibe coding?&lt;/p&gt;

&lt;p&gt;Did you have a similar experience — or a completely different one?&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts 👇&lt;/p&gt;




&lt;h1&gt;
  
  
  programming #webdev #ai #softwareengineering #frontend #react #nextjs #devlife
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>programming</category>
      <category>software</category>
    </item>
    <item>
      <title>🎧 Vibe Coding — Is It the Future of Development or Just Hype?</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Tue, 28 Jul 2026 09:10:16 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/vibe-coding-is-it-the-future-of-development-or-just-hype-325n</link>
      <guid>https://dev.to/hoseinmdev/vibe-coding-is-it-the-future-of-development-or-just-hype-325n</guid>
      <description>&lt;p&gt;You sit down to code.&lt;/p&gt;

&lt;p&gt;Music on.&lt;br&gt;&lt;br&gt;
Lights low.&lt;br&gt;&lt;br&gt;
Flow state activated.&lt;/p&gt;

&lt;p&gt;Hours pass…&lt;br&gt;&lt;br&gt;
and suddenly — you built something real.&lt;/p&gt;

&lt;p&gt;That’s &lt;strong&gt;vibe coding&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What is Vibe Coding?
&lt;/h2&gt;

&lt;p&gt;Vibe coding is not about tools.&lt;/p&gt;

&lt;p&gt;It’s about &lt;strong&gt;state&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A mental zone where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;distractions disappear
&lt;/li&gt;
&lt;li&gt;thinking becomes fluid
&lt;/li&gt;
&lt;li&gt;coding feels natural
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’re not forcing logic —&lt;br&gt;&lt;br&gt;
you’re &lt;em&gt;flowing with it&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Why Developers Love It
&lt;/h2&gt;

&lt;p&gt;Because in that state:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you write cleaner code
&lt;/li&gt;
&lt;li&gt;you think faster
&lt;/li&gt;
&lt;li&gt;you enjoy the process
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And most importantly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You ship.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ⚠️ But Is It Actually Good?
&lt;/h2&gt;

&lt;p&gt;Short answer:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Yes — but only if you control it.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ❌ The Problem with Pure Vibe Coding
&lt;/h2&gt;

&lt;p&gt;If you only rely on vibes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you may skip architecture
&lt;/li&gt;
&lt;li&gt;you ignore edge cases
&lt;/li&gt;
&lt;li&gt;you build messy systems
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It feels productive…&lt;br&gt;&lt;br&gt;
but can turn into technical debt.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ The Right Way to Use Vibe Coding
&lt;/h2&gt;

&lt;p&gt;The key is balance.&lt;/p&gt;

&lt;p&gt;Use vibe coding for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;rapid prototyping
&lt;/li&gt;
&lt;li&gt;building UI
&lt;/li&gt;
&lt;li&gt;experimenting with ideas
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But combine it with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;structured thinking
&lt;/li&gt;
&lt;li&gt;refactoring
&lt;/li&gt;
&lt;li&gt;system design
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Vibe Coding + Discipline = Power
&lt;/h2&gt;

&lt;p&gt;The best developers don’t choose one.&lt;/p&gt;

&lt;p&gt;They do both:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Enter flow (build fast)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Step back (analyze &amp;amp; improve)&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🛠️ How to Vibe Code Effectively
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Set the Environment
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;good music 🎧
&lt;/li&gt;
&lt;li&gt;clean workspace
&lt;/li&gt;
&lt;li&gt;no notifications
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. Define a Clear Goal
&lt;/h3&gt;

&lt;p&gt;Bad:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’ll just code something”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Good:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’ll build the story generator UI”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  3. Limit the Session
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;60–90 minutes deep focus
&lt;/li&gt;
&lt;li&gt;then break
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. Review After the Flow
&lt;/h3&gt;

&lt;p&gt;This is the most important part.&lt;/p&gt;

&lt;p&gt;After coding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clean your code
&lt;/li&gt;
&lt;li&gt;rename variables
&lt;/li&gt;
&lt;li&gt;fix structure
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧑‍💻 Real Example
&lt;/h2&gt;

&lt;p&gt;Building something like:&lt;/p&gt;

&lt;p&gt;👉 an AI-powered app&lt;br&gt;&lt;br&gt;
👉 interactive UI&lt;br&gt;&lt;br&gt;
👉 storytelling platform  &lt;/p&gt;

&lt;p&gt;is perfect for vibe coding.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;quickly test ideas
&lt;/li&gt;
&lt;li&gt;build features fast
&lt;/li&gt;
&lt;li&gt;iterate without friction
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 When Vibe Coding Works Best
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;frontend development
&lt;/li&gt;
&lt;li&gt;creative projects
&lt;/li&gt;
&lt;li&gt;side projects
&lt;/li&gt;
&lt;li&gt;MVP building
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ❄️ When You Should Avoid It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;critical backend systems
&lt;/li&gt;
&lt;li&gt;security-sensitive code
&lt;/li&gt;
&lt;li&gt;large-scale architecture decisions
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 The Truth
&lt;/h2&gt;

&lt;p&gt;Vibe coding is not a replacement for skill.&lt;/p&gt;

&lt;p&gt;It’s a &lt;strong&gt;multiplier&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Final Thought
&lt;/h2&gt;

&lt;p&gt;Don’t fight the vibe.&lt;/p&gt;

&lt;p&gt;But don’t trust it blindly either.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ The Formula
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Flow + Discipline = Great Software
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 If You’re a Developer
&lt;/h2&gt;

&lt;p&gt;Try this today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;put on your favorite playlist
&lt;/li&gt;
&lt;li&gt;remove distractions
&lt;/li&gt;
&lt;li&gt;build something small
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll feel the difference.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;#programming
&lt;/li&gt;
&lt;li&gt;#webdev
&lt;/li&gt;
&lt;li&gt;#productivity
&lt;/li&gt;
&lt;li&gt;#flowstate
&lt;/li&gt;
&lt;li&gt;#softwareengineering
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>coding</category>
      <category>developer</category>
      <category>productivity</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>📓 I Built an AI App That Makes Learning English Feel Effortless</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Sat, 18 Jul 2026 12:11:14 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/i-built-an-ai-app-that-makes-learning-english-feel-effortless-5236</link>
      <guid>https://dev.to/hoseinmdev/i-built-an-ai-app-that-makes-learning-english-feel-effortless-5236</guid>
      <description>&lt;h1&gt;
  
  
  📓 Stop Memorizing English — I Built an AI App That Actually Works
&lt;/h1&gt;

&lt;p&gt;You try to learn English.&lt;br&gt;&lt;br&gt;
You memorize words.  &lt;/p&gt;

&lt;p&gt;And then… you forget them.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 The Real Problem
&lt;/h2&gt;

&lt;p&gt;Most people learn English the wrong way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;memorizing random word lists
&lt;/li&gt;
&lt;li&gt;switching between apps and dictionaries
&lt;/li&gt;
&lt;li&gt;learning without context
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;That’s why nothing sticks.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🚀 The Idea
&lt;/h2&gt;

&lt;p&gt;What if learning English felt like this:&lt;/p&gt;

&lt;p&gt;👉 You read something interesting&lt;br&gt;&lt;br&gt;
👉 You click a word you don’t know&lt;br&gt;&lt;br&gt;
👉 You instantly understand it  &lt;/p&gt;

&lt;p&gt;No interruptions. No friction.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Introducing: English Notebook
&lt;/h2&gt;

&lt;p&gt;A modern AI-powered app where you &lt;strong&gt;learn English by interacting with real content&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generate stories
&lt;/li&gt;
&lt;li&gt;click unknown words
&lt;/li&gt;
&lt;li&gt;build vocabulary automatically
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤖 Generate Stories Based on &lt;em&gt;Your Level&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;This is one of the most powerful features.&lt;/p&gt;

&lt;p&gt;You choose your level:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A1 → Beginner
&lt;/li&gt;
&lt;li&gt;A2
&lt;/li&gt;
&lt;li&gt;B1
&lt;/li&gt;
&lt;li&gt;B2
&lt;/li&gt;
&lt;li&gt;C1
&lt;/li&gt;
&lt;li&gt;C2 → Advanced
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the app generates a &lt;strong&gt;custom story just for you&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🖼️ Story Generator
&lt;/h3&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq43yytkv86f41n1kp3kn.png" alt=" " width="800" height="492"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  📖 Learn by Clicking Words
&lt;/h2&gt;

&lt;p&gt;No more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;copy-pasting
&lt;/li&gt;
&lt;li&gt;opening dictionary tabs
&lt;/li&gt;
&lt;li&gt;losing focus
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just click any word:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;definition
&lt;/li&gt;
&lt;li&gt;translation (your language 🌍)
&lt;/li&gt;
&lt;li&gt;example sentences
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🖼️ Word Interaction
&lt;/h3&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff9yyfc96ceryex3rn169.png" alt=" " width="800" height="398"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  📚 Smart Vocabulary Notebook
&lt;/h2&gt;

&lt;p&gt;Every word you click:&lt;/p&gt;

&lt;p&gt;👉 automatically saved&lt;br&gt;&lt;br&gt;
👉 turned into a flashcard  &lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;review anytime
&lt;/li&gt;
&lt;li&gt;mark as mastered ✅
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🖼️ Vocabulary Notebook
&lt;/h3&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmwhzdymv2fb50u5bpjbv.png" alt=" " width="441" height="700"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  📊 Track Your Progress (Game Changer)
&lt;/h2&gt;

&lt;p&gt;This is where things get serious.&lt;/p&gt;

&lt;p&gt;You don’t just learn — you &lt;strong&gt;measure your growth&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Dashboard shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;total words learned
&lt;/li&gt;
&lt;li&gt;active vs mastered words
&lt;/li&gt;
&lt;li&gt;daily streak
&lt;/li&gt;
&lt;li&gt;14-day activity trend
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🖼️ Dashboard
&lt;/h3&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz8g3cvrj8jauotuvatoo.png" alt=" " width="799" height="494"&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;What gets measured gets improved.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🕘 Nothing Gets Lost (History System)
&lt;/h2&gt;

&lt;p&gt;Every story you generate is saved.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;revisit old stories
&lt;/li&gt;
&lt;li&gt;continue reading anytime
&lt;/li&gt;
&lt;li&gt;track your learning journey
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🖼️ History
&lt;/h3&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu8nol27lix9pcf7iqamp.png" alt=" " width="799" height="490"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🔊 Learn with Audio
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;listen to stories
&lt;/li&gt;
&lt;li&gt;follow highlighted words
&lt;/li&gt;
&lt;li&gt;improve pronunciation naturally
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🌍 Multi-Language Support
&lt;/h2&gt;

&lt;p&gt;You can choose your translation language:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Persian 🇮🇷
&lt;/li&gt;
&lt;li&gt;Arabic
&lt;/li&gt;
&lt;li&gt;Spanish
&lt;/li&gt;
&lt;li&gt;Hindi
&lt;/li&gt;
&lt;li&gt;and more
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎯 Why This App Is Different
&lt;/h2&gt;

&lt;p&gt;Most apps:&lt;/p&gt;

&lt;p&gt;❌ force memorization&lt;br&gt;&lt;br&gt;
❌ feel like school&lt;br&gt;&lt;br&gt;
❌ break your focus  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;English Notebook:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ learning through stories&lt;br&gt;&lt;br&gt;
✅ real-time interaction&lt;br&gt;&lt;br&gt;
✅ measurable progress&lt;br&gt;&lt;br&gt;
✅ smooth modern UX  &lt;/p&gt;




&lt;h2&gt;
  
  
  🧑‍💻 Built With
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Next.js 15
&lt;/li&gt;
&lt;li&gt;React 19
&lt;/li&gt;
&lt;li&gt;TypeScript
&lt;/li&gt;
&lt;li&gt;Tailwind CSS
&lt;/li&gt;
&lt;li&gt;Prisma + Neon
&lt;/li&gt;
&lt;li&gt;OpenRouter (AI)
&lt;/li&gt;
&lt;li&gt;Auth.js
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔗 Try It Yourself
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://english-notebook-sigma.vercel.app/" rel="noopener noreferrer"&gt;https://english-notebook-sigma.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Generate a story. Click words. See the difference.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Why I Built This
&lt;/h2&gt;

&lt;p&gt;As a developer, I realized:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;English is not optional — it's your growth engine.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I built a tool I actually wanted to use.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Let’s Connect
&lt;/h2&gt;

&lt;p&gt;If you like this project or want to support:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/hoseinmdev" rel="noopener noreferrer"&gt;https://github.com/hoseinmdev&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;I’m building more tools like this — follow along 🔥&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 Final Thought
&lt;/h2&gt;

&lt;p&gt;Stop memorizing English.&lt;/p&gt;

&lt;p&gt;Start interacting with it.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;#englishlearning
&lt;/li&gt;
&lt;li&gt;#ai
&lt;/li&gt;
&lt;li&gt;#nextjs
&lt;/li&gt;
&lt;li&gt;#webdev
&lt;/li&gt;
&lt;li&gt;#programming
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>🌍 Why English Is a Superpower for Developers (Not Just a Language)</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Fri, 17 Jul 2026 11:26:47 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/why-english-is-a-superpower-for-developers-not-just-a-language-34nc</link>
      <guid>https://dev.to/hoseinmdev/why-english-is-a-superpower-for-developers-not-just-a-language-34nc</guid>
      <description>&lt;p&gt;You’re learning to code. You’re building projects. You’re improving every day.&lt;/p&gt;

&lt;p&gt;But something invisible is slowing you down.&lt;/p&gt;

&lt;p&gt;It’s not your skills.&lt;br&gt;&lt;br&gt;
It’s your English.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 It’s Not About Speaking Perfectly
&lt;/h2&gt;

&lt;p&gt;Let’s be clear:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You don’t need perfect English to become a great developer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But you &lt;strong&gt;do need enough English to learn, search, and understand&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Because most of the programming world runs on English.&lt;/p&gt;




&lt;h2&gt;
  
  
  💻 1. Almost All Learning Resources Are in English
&lt;/h2&gt;

&lt;p&gt;The best content is written in English:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;documentation
&lt;/li&gt;
&lt;li&gt;blog posts
&lt;/li&gt;
&lt;li&gt;tutorials
&lt;/li&gt;
&lt;li&gt;GitHub READMEs
&lt;/li&gt;
&lt;li&gt;Stack Overflow answers
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ❌ Without English
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You rely only on translated or limited resources
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 slower learning&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ With English
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You can access global knowledge instantly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 faster growth&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;The difference is not small. It’s massive.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔍 2. You Debug Faster
&lt;/h2&gt;

&lt;p&gt;Every developer Googles errors.&lt;/p&gt;




&lt;h3&gt;
  
  
  Example Error
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;TypeError: Cannot &lt;span class="nb"&gt;read &lt;/span&gt;properties of undefined
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  ❌ Without English
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;harder to understand the error
&lt;/li&gt;
&lt;li&gt;harder to search correctly
&lt;/li&gt;
&lt;li&gt;limited results
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ With English
&lt;/h3&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;search effectively
&lt;/li&gt;
&lt;li&gt;understand answers
&lt;/li&gt;
&lt;li&gt;fix issues faster
&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;Better English = better debugging&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  📚 3. Documentation Becomes Your Best Friend
&lt;/h2&gt;

&lt;p&gt;Official docs are always in English.&lt;/p&gt;




&lt;h3&gt;
  
  
  ❌ Without English
&lt;/h3&gt;

&lt;p&gt;You avoid docs and rely on random tutorials.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ With English
&lt;/h3&gt;

&lt;p&gt;You go directly to the source of truth.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Great developers read docs. A lot.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🌍 4. You Can Join the Global Developer Community
&lt;/h2&gt;

&lt;p&gt;English connects you to developers worldwide.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ask questions
&lt;/li&gt;
&lt;li&gt;answer others
&lt;/li&gt;
&lt;li&gt;write blog posts
&lt;/li&gt;
&lt;li&gt;contribute to open source
&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;You don’t need perfect grammar. You need clear communication.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🚀 5. More Opportunities Open Up
&lt;/h2&gt;

&lt;p&gt;Many opportunities require English:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;remote jobs
&lt;/li&gt;
&lt;li&gt;international teams
&lt;/li&gt;
&lt;li&gt;freelance clients
&lt;/li&gt;
&lt;li&gt;open-source collaboration
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ❌ Without English
&lt;/h3&gt;

&lt;p&gt;You stay limited to local opportunities.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ With English
&lt;/h3&gt;

&lt;p&gt;You unlock global opportunities.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ Common Mistakes Developers Make
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;waiting to be perfect
&lt;/li&gt;
&lt;li&gt;avoiding English content
&lt;/li&gt;
&lt;li&gt;not practicing daily
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✅ How to Improve English as a Developer
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Read documentation daily
&lt;/h3&gt;

&lt;h3&gt;
  
  
  🔹 Watch tutorials in English
&lt;/h3&gt;

&lt;h3&gt;
  
  
  🔹 Write commits in English
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"feat: add authentication flow"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Read GitHub projects
&lt;/h3&gt;

&lt;h3&gt;
  
  
  🔹 Think in English while coding
&lt;/h3&gt;




&lt;blockquote&gt;
&lt;p&gt;Combine coding + English = faster improvement&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧠 The Mindset Shift
&lt;/h2&gt;

&lt;p&gt;Don’t think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“My English is not good enough”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“English is part of my developer toolkit”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔥 Final Thought
&lt;/h2&gt;

&lt;p&gt;English won’t make you a great developer overnight.&lt;/p&gt;

&lt;p&gt;But it will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;speed up your learning
&lt;/li&gt;
&lt;li&gt;improve your problem-solving
&lt;/li&gt;
&lt;li&gt;connect you to the world
&lt;/li&gt;
&lt;li&gt;unlock better opportunities
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💬 Let’s Talk
&lt;/h2&gt;

&lt;p&gt;How has English impacted your developer journey?&lt;/p&gt;

&lt;p&gt;Do you learn in English or your native language?&lt;/p&gt;

&lt;p&gt;Drop your thoughts 👇&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;#programming
&lt;/li&gt;
&lt;li&gt;#webdev
&lt;/li&gt;
&lt;li&gt;#career
&lt;/li&gt;
&lt;li&gt;#learning
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>🐙 Why Every Developer Needs GitHub (Even If You’re Not Job Hunting)</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Thu, 16 Jul 2026 14:07:19 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/why-every-developer-needs-github-even-if-youre-not-job-hunting-5b81</link>
      <guid>https://dev.to/hoseinmdev/why-every-developer-needs-github-even-if-youre-not-job-hunting-5b81</guid>
      <description>&lt;p&gt;You write code. You build projects. You learn every day.&lt;/p&gt;

&lt;p&gt;But no one sees it.&lt;/p&gt;

&lt;p&gt;That’s the problem.&lt;/p&gt;

&lt;p&gt;I’ve worked on multiple frontend projects, and one thing became clear:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If your code isn't visible, people can't understand what you can actually build.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Your GitHub is not just a place to store code.&lt;/p&gt;

&lt;p&gt;It is your developer identity.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 GitHub Is More Than Just “Saving Code”
&lt;/h2&gt;

&lt;p&gt;A lot of developers think GitHub is just:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“a place to push my code”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s only the beginning.&lt;/p&gt;

&lt;p&gt;GitHub is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;your &lt;strong&gt;portfolio&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;your &lt;strong&gt;proof of work&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;your &lt;strong&gt;developer identity&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;your &lt;strong&gt;learning history&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your resume says what you know.&lt;/p&gt;

&lt;p&gt;Your GitHub shows what you build.&lt;/p&gt;




&lt;h1&gt;
  
  
  💻 1. GitHub Shows What You Can Actually Build
&lt;/h1&gt;

&lt;p&gt;Anyone can say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I know React”&lt;/p&gt;

&lt;p&gt;“I know Next.js”&lt;/p&gt;

&lt;p&gt;“I can build full-stack applications”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But GitHub gives people something much more valuable:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidence.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;real projects&lt;/li&gt;
&lt;li&gt;real architecture decisions&lt;/li&gt;
&lt;li&gt;real code quality&lt;/li&gt;
&lt;li&gt;your progress over time&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ❌ Without GitHub
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"I built some projects but didn't upload them"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nobody can verify your experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ With GitHub
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;github.com/hoseinmdev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;People can see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how you write code&lt;/li&gt;
&lt;li&gt;how you organize projects&lt;/li&gt;
&lt;li&gt;how you solve problems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That creates trust.&lt;/p&gt;




&lt;h1&gt;
  
  
  🚀 2. GitHub Helps You Become a Better Developer
&lt;/h1&gt;

&lt;p&gt;GitHub is not only for showing your work.&lt;/p&gt;

&lt;p&gt;It improves how you work.&lt;/p&gt;

&lt;p&gt;When you use GitHub consistently, you naturally start:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;writing cleaner commits&lt;/li&gt;
&lt;li&gt;organizing projects better&lt;/li&gt;
&lt;li&gt;documenting your decisions&lt;/li&gt;
&lt;li&gt;thinking about maintainability&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ❌ Bad commit
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"fix"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nobody knows what changed.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ Better commit
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"fix: handle undefined user data in dashboard API"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now your team understands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what changed&lt;/li&gt;
&lt;li&gt;why it changed&lt;/li&gt;
&lt;li&gt;where to look&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;Good GitHub habits create better engineering habits.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  🌍 3. GitHub Connects You With Developers
&lt;/h1&gt;

&lt;p&gt;GitHub is not only code.&lt;/p&gt;

&lt;p&gt;It is a community.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;discover open-source projects&lt;/li&gt;
&lt;li&gt;learn from experienced developers&lt;/li&gt;
&lt;li&gt;contribute to real applications&lt;/li&gt;
&lt;li&gt;collaborate with people worldwide&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of the best developers I know improved because they started reading other people's code.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧩 4. Your GitHub Becomes Your Developer Portfolio
&lt;/h1&gt;

&lt;p&gt;You don't always need a fancy portfolio website.&lt;/p&gt;

&lt;p&gt;A clean GitHub profile can already tell your story.&lt;/p&gt;

&lt;p&gt;A strong profile should have:&lt;/p&gt;

&lt;p&gt;✅ pinned projects&lt;br&gt;&lt;br&gt;
✅ good README files&lt;br&gt;&lt;br&gt;
✅ meaningful commits&lt;br&gt;&lt;br&gt;
✅ clear project descriptions&lt;br&gt;&lt;br&gt;
✅ consistent activity  &lt;/p&gt;




&lt;h2&gt;
  
  
  Example README structure
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Project Name&lt;/span&gt;

Short explanation about the project.

&lt;span class="gu"&gt;## Features&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Authentication
&lt;span class="p"&gt;-&lt;/span&gt; Dashboard
&lt;span class="p"&gt;-&lt;/span&gt; API integration

&lt;span class="gu"&gt;## Tech Stack&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; React
&lt;span class="p"&gt;-&lt;/span&gt; Next.js
&lt;span class="p"&gt;-&lt;/span&gt; TypeScript

&lt;span class="gu"&gt;## Installation&lt;/span&gt;

npm install
npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Small details create a professional impression.&lt;/p&gt;




&lt;h1&gt;
  
  
  ⚡ 5. Companies Look At GitHub
&lt;/h1&gt;

&lt;p&gt;Many developers only focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;resume&lt;/li&gt;
&lt;li&gt;LinkedIn&lt;/li&gt;
&lt;li&gt;certificates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But your GitHub can answer the most important question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Can this person actually build software?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;People look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;real projects&lt;/li&gt;
&lt;li&gt;coding style&lt;/li&gt;
&lt;li&gt;problem-solving ability&lt;/li&gt;
&lt;li&gt;consistency&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  ⚠️ Common GitHub Mistakes
&lt;/h1&gt;

&lt;p&gt;I see many developers making these mistakes:&lt;/p&gt;

&lt;h2&gt;
  
  
  ❌ Only private repositories
&lt;/h2&gt;

&lt;p&gt;Nobody can see your growth.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❌ Empty README files
&lt;/h2&gt;

&lt;p&gt;A project without explanation is harder to understand.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❌ Bad commit messages
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"update"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives no context.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❌ Uploading everything
&lt;/h2&gt;

&lt;p&gt;Quality is better than quantity.&lt;/p&gt;

&lt;p&gt;A few strong projects are better than dozens of unfinished ones.&lt;/p&gt;




&lt;h1&gt;
  
  
  ✅ How I Recommend Using GitHub
&lt;/h1&gt;

&lt;p&gt;My workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;push projects regularly&lt;/li&gt;
&lt;li&gt;write meaningful commits&lt;/li&gt;
&lt;li&gt;create README files&lt;/li&gt;
&lt;li&gt;pin your best repositories&lt;/li&gt;
&lt;li&gt;contribute when possible&lt;/li&gt;
&lt;li&gt;keep improving old projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't need to code 10 hours every day.&lt;/p&gt;

&lt;p&gt;Consistency wins.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧠 The Mindset Shift
&lt;/h1&gt;

&lt;p&gt;Don't think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I will upload my projects later."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"If my work is invisible, nobody knows it exists."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Build in public.&lt;/p&gt;

&lt;p&gt;Share your progress.&lt;/p&gt;

&lt;p&gt;Let your code speak.&lt;/p&gt;




&lt;h1&gt;
  
  
  🚀 Real Example
&lt;/h1&gt;

&lt;p&gt;I share my frontend development journey and projects on GitHub:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/hoseinmdev" rel="noopener noreferrer"&gt;https://github.com/hoseinmdev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I focus on building projects with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clean structure&lt;/li&gt;
&lt;li&gt;modern frontend technologies&lt;/li&gt;
&lt;li&gt;real-world practices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to explore my repositories and share feedback.&lt;/p&gt;




&lt;h1&gt;
  
  
  💬 Let's Build in Public Together
&lt;/h1&gt;

&lt;p&gt;If you are also building projects, learning new technologies, or improving as a developer:&lt;/p&gt;

&lt;p&gt;Let's connect 👇&lt;/p&gt;

&lt;p&gt;👉 GitHub: &lt;a href="https://github.com/hoseinmdev" rel="noopener noreferrer"&gt;https://github.com/hoseinmdev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I love discovering developers who are actively building.&lt;/p&gt;

&lt;p&gt;Drop your GitHub profile in the comments — let's learn from each other and grow together 🚀&lt;/p&gt;




&lt;h1&gt;
  
  
  🔥 Final Thought
&lt;/h1&gt;

&lt;p&gt;GitHub won't magically make you a better developer.&lt;/p&gt;

&lt;p&gt;But it will help you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;make your work visible&lt;/li&gt;
&lt;li&gt;build credibility&lt;/li&gt;
&lt;li&gt;learn faster&lt;/li&gt;
&lt;li&gt;connect with amazing developers&lt;/li&gt;
&lt;li&gt;create new opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your code deserves to be seen.&lt;/p&gt;

&lt;p&gt;Start building in public.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;#github&lt;/li&gt;
&lt;li&gt;#webdev&lt;/li&gt;
&lt;li&gt;#programming&lt;/li&gt;
&lt;li&gt;#career&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>How AI Can Help You Improve Your Performance as a Developer</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Thu, 16 Jul 2026 12:54:16 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/how-ai-can-help-you-improve-your-performance-as-a-developer-2cji</link>
      <guid>https://dev.to/hoseinmdev/how-ai-can-help-you-improve-your-performance-as-a-developer-2cji</guid>
      <description>&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;Let’s be real — most of us don’t struggle because we “can’t code”.&lt;/p&gt;

&lt;p&gt;We struggle because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;we waste time on repetitive tasks&lt;/li&gt;
&lt;li&gt;we get stuck on small bugs&lt;/li&gt;
&lt;li&gt;we context-switch too much&lt;/li&gt;
&lt;li&gt;we overthink simple problems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s where AI actually helps.&lt;/p&gt;

&lt;p&gt;Not as a replacement — but as a &lt;strong&gt;performance multiplier&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 First, what AI is &lt;em&gt;actually good at&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;AI is not magic.&lt;/p&gt;

&lt;p&gt;But it’s really good at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generating boilerplate&lt;/li&gt;
&lt;li&gt;explaining errors&lt;/li&gt;
&lt;li&gt;suggesting improvements&lt;/li&gt;
&lt;li&gt;summarizing docs&lt;/li&gt;
&lt;li&gt;speeding up repetitive work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Basically: &lt;strong&gt;saving your mental energy&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ 1. Write code faster (without burning out)
&lt;/h2&gt;

&lt;p&gt;Instead of writing everything from scratch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// prompt idea&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;create a custom React hook for localStorage&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get a solid starting point instantly.&lt;/p&gt;

&lt;p&gt;👉 You still review it&lt;br&gt;
👉 You still understand it&lt;br&gt;
👉 But you don’t waste time writing boilerplate&lt;/p&gt;


&lt;h2&gt;
  
  
  🐞 2. Debug faster
&lt;/h2&gt;

&lt;p&gt;Instead of Googling for 20 minutes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Error: Cannot read property 'map' of undefined
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You ask AI:&lt;/p&gt;

&lt;p&gt;👉 It explains the issue&lt;br&gt;
👉 suggests fixes&lt;br&gt;
👉 shows edge cases&lt;/p&gt;


&lt;h3&gt;
  
  
  Example mindset shift
&lt;/h3&gt;

&lt;p&gt;Before:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;search → open 5 tabs → read → test → maybe fix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ask → get explanation → apply → move on&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🧠 3. Learn way faster
&lt;/h2&gt;

&lt;p&gt;AI is like having a senior dev on demand.&lt;/p&gt;

&lt;p&gt;You can ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Explain React Server Components simply”&lt;/li&gt;
&lt;li&gt;“When should I use memo?”&lt;/li&gt;
&lt;li&gt;“What’s wrong with this pattern?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Instant explanations&lt;br&gt;
👉 Real examples&lt;br&gt;
👉 No fluff&lt;/p&gt;


&lt;h2&gt;
  
  
  🔄 4. Automate boring tasks
&lt;/h2&gt;

&lt;p&gt;Things you shouldn’t waste time on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;writing regex&lt;/li&gt;
&lt;li&gt;generating types&lt;/li&gt;
&lt;li&gt;creating repetitive components&lt;/li&gt;
&lt;li&gt;converting data formats&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 AI handles these in seconds&lt;/p&gt;


&lt;h2&gt;
  
  
  📚 5. Write better documentation
&lt;/h2&gt;

&lt;p&gt;Most devs hate writing docs.&lt;/p&gt;

&lt;p&gt;AI helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generate README files&lt;/li&gt;
&lt;li&gt;write comments&lt;/li&gt;
&lt;li&gt;document APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Your project becomes easier to understand&lt;br&gt;
👉 Your team moves faster&lt;/p&gt;


&lt;h2&gt;
  
  
  🧩 6. Break down complex problems
&lt;/h2&gt;

&lt;p&gt;Instead of getting stuck:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"build a dashboard with auth, charts, and API integration"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ask AI to break it down:&lt;/p&gt;

&lt;p&gt;👉 smaller steps&lt;br&gt;
👉 clear structure&lt;br&gt;
👉 less overwhelm&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ 7. Stay focused (this is underrated)
&lt;/h2&gt;

&lt;p&gt;Biggest hidden benefit:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;less context switching&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;switching between StackOverflow, docs, and code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;stay in one flow&lt;/li&gt;
&lt;li&gt;ask → get answer → continue coding&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Real talk (important)
&lt;/h2&gt;

&lt;p&gt;AI is powerful, but:&lt;/p&gt;

&lt;p&gt;❌ Don’t copy blindly&lt;br&gt;
❌ Don’t skip understanding&lt;br&gt;
❌ Don’t rely on it for everything&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ Best way to use AI (my workflow)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;use it for &lt;strong&gt;boilerplate&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;use it for &lt;strong&gt;debugging help&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;use it for &lt;strong&gt;learning concepts&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;review everything before using&lt;/li&gt;
&lt;li&gt;treat it like a &lt;strong&gt;junior dev assistant&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚠️ Common mistakes I see
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;copying code without understanding&lt;/li&gt;
&lt;li&gt;over-relying on AI&lt;/li&gt;
&lt;li&gt;ignoring edge cases&lt;/li&gt;
&lt;li&gt;trusting wrong outputs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 AI is fast, but not always right&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Final thought
&lt;/h2&gt;

&lt;p&gt;AI won’t replace developers.&lt;/p&gt;

&lt;p&gt;But:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;developers who use AI will replace those who don’t&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Use it to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;move faster&lt;/li&gt;
&lt;li&gt;think clearer&lt;/li&gt;
&lt;li&gt;focus on real problems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not just write more code.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 My takeaway
&lt;/h2&gt;

&lt;p&gt;AI didn’t make me a better developer overnight.&lt;/p&gt;

&lt;p&gt;But it helped me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;waste less time&lt;/li&gt;
&lt;li&gt;learn faster&lt;/li&gt;
&lt;li&gt;stay focused&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that’s where the real performance gain comes from.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>developers</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Improve Performance in Next.js Projects</title>
      <dc:creator>Hosein Mahmoudi</dc:creator>
      <pubDate>Wed, 15 Jul 2026 10:15:08 +0000</pubDate>
      <link>https://dev.to/hoseinmdev/how-to-improve-performance-in-nextjs-projects-1doh</link>
      <guid>https://dev.to/hoseinmdev/how-to-improve-performance-in-nextjs-projects-1doh</guid>
      <description>&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;Performance in Next.js isn’t just a “nice to have”.&lt;/p&gt;

&lt;p&gt;It directly affects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;user experience&lt;/li&gt;
&lt;li&gt;SEO&lt;/li&gt;
&lt;li&gt;conversion rate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the truth is — most performance issues don’t come from React itself, but from &lt;strong&gt;how we use it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is a breakdown of what actually works in real projects.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 1. Use Next.js built-in optimizations (don’t fight the framework)
&lt;/h2&gt;

&lt;p&gt;Next.js already gives you a lot for free — if you actually use it.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Image Optimization
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Image&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/image&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Image&lt;/span&gt;
  &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/hero.webp"&lt;/span&gt;
  &lt;span class="na"&gt;alt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"hero"&lt;/span&gt;
  &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;600&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="na"&gt;priority&lt;/span&gt;
&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 Automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;lazy loads images&lt;/li&gt;
&lt;li&gt;serves modern formats (WebP/AVIF)&lt;/li&gt;
&lt;li&gt;resizes per device&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ Font Optimization
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Inter&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/font/google&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;inter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Inter&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;subsets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;latin&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 No layout shift&lt;br&gt;
👉 No external requests&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚡ 2. Code Splitting &amp;amp; Dynamic Imports
&lt;/h2&gt;

&lt;p&gt;Don’t load everything at once.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;dynamic&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/dynamic&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;HeavyComponent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;dynamic&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./HeavyComponent&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;ssr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Loading&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;,
&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 Load only when needed&lt;br&gt;
👉 Reduce initial bundle size&lt;/p&gt;


&lt;h2&gt;
  
  
  📦 3. Reduce Bundle Size
&lt;/h2&gt;

&lt;p&gt;This is where most apps fail.&lt;/p&gt;
&lt;h3&gt;
  
  
  🔍 Analyze your bundle
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @next/bundle-analyzer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// next.config.js&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;withBundleAnalyzer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@next/bundle-analyzer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)({&lt;/span&gt;
  &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ANALYZE&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;withBundleAnalyzer&lt;/span&gt;&lt;span class="p"&gt;({});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;ANALYZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true &lt;/span&gt;npm run build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  💡 Common mistakes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;importing whole libraries instead of specific functions&lt;/li&gt;
&lt;li&gt;unused dependencies&lt;/li&gt;
&lt;li&gt;large UI libraries without tree-shaking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// ❌ bad&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;_&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;lodash&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// ✅ good&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;debounce&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;lodash/debounce&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧠 4. Use Server Components (when possible)
&lt;/h2&gt;

&lt;p&gt;With modern Next.js (App Router), you should default to &lt;strong&gt;Server Components&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;👉 Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;less JS sent to client&lt;/li&gt;
&lt;li&gt;faster load time&lt;/li&gt;
&lt;li&gt;better SEO&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// server component by default&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Page&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.com/data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 No &lt;code&gt;useEffect&lt;/code&gt;&lt;br&gt;
👉 No client-side fetching&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚡ 5. Smart Data Fetching &amp;amp; Caching
&lt;/h2&gt;

&lt;p&gt;Next.js gives you built-in caching.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.com/data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;force-cache&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.com/data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;next&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;revalidate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 ISR (Incremental Static Regeneration)&lt;br&gt;
👉 Data stays fresh without killing performance&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 6. Optimize Rendering
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ❌ Avoid unnecessary re-renders
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;overusing &lt;code&gt;useState&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;passing unstable props&lt;/li&gt;
&lt;li&gt;not memoizing components&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✅ Use memoization when needed
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;memo&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nf"&gt;memo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;MyComponent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 Don’t overuse it — only where needed&lt;/p&gt;




&lt;h2&gt;
  
  
  🖼️ 7. Optimize Images (properly)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;always use &lt;code&gt;next/image&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;use correct sizes&lt;/li&gt;
&lt;li&gt;avoid huge images&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 biggest impact on &lt;strong&gt;LCP (Largest Contentful Paint)&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧪 8. Measure, don’t guess
&lt;/h2&gt;

&lt;p&gt;Use real tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lighthouse&lt;/li&gt;
&lt;li&gt;Web Vitals&lt;/li&gt;
&lt;li&gt;Chrome DevTools&lt;/li&gt;
&lt;li&gt;Vercel Analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 If you’re not measuring, you’re guessing&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ Common mistakes I see
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;turning everything into client components&lt;/li&gt;
&lt;li&gt;ignoring bundle size&lt;/li&gt;
&lt;li&gt;fetching data on the client unnecessarily&lt;/li&gt;
&lt;li&gt;not using caching&lt;/li&gt;
&lt;li&gt;overusing libraries&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Real-world mindset
&lt;/h2&gt;

&lt;p&gt;Performance is not about doing one thing.&lt;/p&gt;

&lt;p&gt;It’s about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;small optimizations everywhere&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔥 My go-to checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;use Server Components by default&lt;/li&gt;
&lt;li&gt;optimize images with &lt;code&gt;next/image&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;lazy load heavy components&lt;/li&gt;
&lt;li&gt;analyze bundle size&lt;/li&gt;
&lt;li&gt;use caching properly&lt;/li&gt;
&lt;li&gt;avoid unnecessary client logic&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧩 Final thought
&lt;/h2&gt;

&lt;p&gt;Next.js is already optimized.&lt;/p&gt;

&lt;p&gt;Most performance issues come from:&lt;br&gt;
👉 &lt;strong&gt;how we use it, not the framework itself&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Keep things simple.&lt;br&gt;
Ship less JS.&lt;br&gt;
Measure everything.&lt;/p&gt;

&lt;p&gt;That’s it.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>performance</category>
      <category>react</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
