<?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:  Precious Kelvin Nwaogu</title>
    <description>The latest articles on DEV Community by  Precious Kelvin Nwaogu (@kelvincode1234).</description>
    <link>https://dev.to/kelvincode1234</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2164333%2Fb7be6327-0826-4d47-b616-df84e2a6ff79.webp</url>
      <title>DEV Community:  Precious Kelvin Nwaogu</title>
      <link>https://dev.to/kelvincode1234</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kelvincode1234"/>
    <language>en</language>
    <item>
      <title>I Just Launched a Chrome Extension called productivity timer</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Tue, 08 Jul 2025 23:40:56 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/i-just-launched-a-chrome-extension-called-productivity-timer-ne3</link>
      <guid>https://dev.to/kelvincode1234/i-just-launched-a-chrome-extension-called-productivity-timer-ne3</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/kelvincode1234/build-your-focus-productivity-timer-chrome-extension-fi6" class="crayons-story__hidden-navigation-link"&gt;I Just Launched a Chrome Extension!... (Productivity Timer)⏳&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/kelvincode1234" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2164333%2Fb7be6327-0826-4d47-b616-df84e2a6ff79.webp" alt="kelvincode1234 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/kelvincode1234" class="crayons-story__secondary fw-medium m:hidden"&gt;
               Precious Kelvin Nwaogu
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                 Precious Kelvin Nwaogu
                
              
              &lt;div id="story-author-preview-content-2621474" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/kelvincode1234" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2164333%2Fb7be6327-0826-4d47-b616-df84e2a6ff79.webp" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt; Precious Kelvin Nwaogu&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/kelvincode1234/build-your-focus-productivity-timer-chrome-extension-fi6" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 24 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/kelvincode1234/build-your-focus-productivity-timer-chrome-extension-fi6" id="article-link-2621474"&gt;
          I Just Launched a Chrome Extension!... (Productivity Timer)⏳
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/javascript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;javascript&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/api"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;api&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/html"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;html&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/kelvincode1234/build-your-focus-productivity-timer-chrome-extension-fi6" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;36&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/kelvincode1234/build-your-focus-productivity-timer-chrome-extension-fi6#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              7&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            1 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>javascript</category>
      <category>api</category>
      <category>productivity</category>
      <category>html</category>
    </item>
    <item>
      <title>I Just Launched a Chrome Extension!... (Productivity Timer)⏳</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Tue, 24 Jun 2025 16:18:20 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/build-your-focus-productivity-timer-chrome-extension-fi6</link>
      <guid>https://dev.to/kelvincode1234/build-your-focus-productivity-timer-chrome-extension-fi6</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey friends &amp;amp; devs!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built a &lt;strong&gt;Productivity Timer&lt;/strong&gt; Chrome extension, and guess what? It just got approved on the Chrome Web Store! 🤯🎉&lt;/p&gt;

&lt;p&gt;It’s a clean, lightweight Pomodoro-style timer built to help you stay focused, even if you close the popup or restart your browser. Built with HTML, JS, &amp;amp; Chrome's background API feature! 📌 &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔗 Try it out &amp;amp; rate it here:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/productivity-timer/finifbaeggpcmoendjpfkjjijcimejee?utm_source=item-share-cb" rel="noopener noreferrer"&gt;👉 Productivity Timer - Chrome Web Store&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;💡 Features:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Set your custom focus time ⏰&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Runs in the background &amp;amp; survives Chrome restarts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Instant notifications (toast + desktop)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tracks your last 10 focus sessions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Minimal &amp;amp; clean UI&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I’d love your feedback, bug reports, or just a star if you like it! 🙌 &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let’s beat procrastination together 💪&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;— Precious Kelvin.N&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>api</category>
      <category>productivity</category>
      <category>html</category>
    </item>
    <item>
      <title>Juneteenth Journey - A Celebration of Freedom</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Mon, 23 Jun 2025 15:10:35 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/juneteenth-journey-a-celebration-of-freedom-1fka</link>
      <guid>https://dev.to/kelvincode1234/juneteenth-journey-a-celebration-of-freedom-1fka</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2025-06-04"&gt;Frontend Challenge - June Celebrations, Perfect Landing: June Celebrations&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I created "Juneteenth Journey" - an interactive, educational landing page celebrating Juneteenth (June 19th), which commemorates the end of slavery in the United States. This project highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The historical significance of Juneteenth through an interactive timeline&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Traditional celebration methods with visual examples&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A local event finder (simulated)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Curated educational resources&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fully responsive and accessible design&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I chose Juneteenth because it represents both an important historical milestone and a vibrant modern celebration of African American culture and resilience. As a federal holiday since 2021, it's crucial to educate people about its significance while making the information engaging and accessible.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&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__body flex items-center justify-between"&gt;
        &lt;a href="https://kelvincode1234.github.io/Juneteenth-Journey/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;kelvincode1234.github.io&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;a href="https://github.com/KelvinCode1234/Juneteenth-Journey" rel="noopener noreferrer"&gt;View Source Code on GitHub&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2F0k8425679v92xrvydt9o.png" 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.amazonaws.com%2Fuploads%2Farticles%2F0k8425679v92xrvydt9o.png" alt="juneteenth-screenshot.png"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;Development Process&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Research First: I began by thoroughly researching Juneteenth's history and traditions to ensure accurate representation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mobile-First Design: Created wireframes focusing on mobile experience before scaling up&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Component Architecture: Built the page in semantic sections with clear visual hierarchy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interactive Elements: Added the timeline and resource selector to enhance engagement&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accessibility Audit: Used WAVE and keyboard testing to ensure inclusivity&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Technical Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Pure CSS Timeline: Created without JavaScript for better performance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Responsive Grids: Used CSS Grid and Flexbox for adaptable layouts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Progressive Enhancement: Core content works without JavaScript&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance Optimization: Achieved 95+ Lighthouse scores&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenges &amp;amp; Solutions
&lt;/h2&gt;

&lt;p&gt;The biggest challenge was making the historical timeline both informative and visually engaging. I solved this by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Creating a responsive CSS-only timeline that transforms on mobile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adding subtle animations triggered on scroll&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Including concise but impactful historical details&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I'm Proud Of
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Accessibility Implementation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Full keyboard navigation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ARIA attributes where needed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Proper color contrast ratios&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduced motion options&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Interactive Resource Section:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Clean highlight-and-expand pattern&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Curated quality educational links&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Smooth transitions between states&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Visual Design:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Color scheme reflecting traditional Juneteenth colors&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Balanced information density&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mobile-friendly touch targets&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;I'd love to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add real event data through an API integration.&lt;/li&gt;
&lt;li&gt;Implement user accounts for saving favorite resources.&lt;/li&gt;
&lt;li&gt;Create a companion educator's guide PDF. &lt;/li&gt;
&lt;li&gt;Translate content to other languages for broader accessibility.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This project is licensed under &lt;strong&gt;MIT&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Create your very first NPM Packages</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Fri, 20 Jun 2025 23:08:23 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/create-your-very-first-npm-packages-2p98</link>
      <guid>https://dev.to/kelvincode1234/create-your-very-first-npm-packages-2p98</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" class="crayons-story__hidden-navigation-link"&gt;How to Create Your First NPM Package (and Why You Should)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/dhruvjoshi9" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F930493%2F54f1af4e-dc5b-48bc-8c05-f78ea1246574.png" alt="dhruvjoshi9 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/dhruvjoshi9" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Dhruv Joshi
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Dhruv Joshi
                
              
              &lt;div id="story-author-preview-content-2609674" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/dhruvjoshi9" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F930493%2F54f1af4e-dc5b-48bc-8c05-f78ea1246574.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Dhruv Joshi&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 20 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" id="article-link-2609674"&gt;
          How to Create Your First NPM Package (and Why You Should)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/npm"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;npm&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;27&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              7&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>npm</category>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Create your very first NPM Packages</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Fri, 20 Jun 2025 23:08:23 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/create-your-very-first-npm-packages-39p6</link>
      <guid>https://dev.to/kelvincode1234/create-your-very-first-npm-packages-39p6</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" class="crayons-story__hidden-navigation-link"&gt;How to Create Your First NPM Package (and Why You Should)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/dhruvjoshi9" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F930493%2F54f1af4e-dc5b-48bc-8c05-f78ea1246574.png" alt="dhruvjoshi9 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/dhruvjoshi9" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Dhruv Joshi
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Dhruv Joshi
                
              
              &lt;div id="story-author-preview-content-2609674" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/dhruvjoshi9" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F930493%2F54f1af4e-dc5b-48bc-8c05-f78ea1246574.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Dhruv Joshi&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 20 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" id="article-link-2609674"&gt;
          How to Create Your First NPM Package (and Why You Should)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/npm"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;npm&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;27&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/dhruvjoshi9/how-to-create-your-first-npm-package-and-why-you-should-2jpg#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              7&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>npm</category>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Five Programming Jokes You Didn’t Know You Needed Today 😄👩‍💻</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Thu, 19 Jun 2025 10:09:37 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/five-programming-jokes-you-didnt-know-you-needed-today-g96</link>
      <guid>https://dev.to/kelvincode1234/five-programming-jokes-you-didnt-know-you-needed-today-g96</guid>
      <description>&lt;p&gt;Hey Devs 👋🏾&lt;/p&gt;

&lt;p&gt;We all know coding can be intense sometimes, those bug hunts, sleepless nights, and caffeine-fueled debugging sprees. But every once in a while, we need a breather… or a good laugh. Here's a couple of light-hearted dev jokes to brighten your day:&lt;/p&gt;

&lt;p&gt;So here we go: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What are bits?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;👉 &lt;em&gt;&lt;strong&gt;Tiny things left when you drop your computer down the stairs. 🥹&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;2. I just got fired from my job at the keyboard factory.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;👉 &lt;em&gt;&lt;strong&gt;They told me I wasn't putting in enough shifts. 😩&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;3. Where did the API go to eat?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;em&gt;&lt;strong&gt;To the RESTaurant. 🍽️&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;(Because even endpoints need a break!)&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;4. A male developer often gets called as a Dev, then what would you call a female developer?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;👉 &lt;em&gt;&lt;strong&gt;Devi. 🤗&lt;/strong&gt;&lt;/em&gt;  &lt;em&gt;(Yep, still coding… but with extra elegance!)&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;5. Four engineers get into a car. The car won’t start.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;Mechanical Engineer&lt;/strong&gt; says: “Probably a dead battery.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;Chemical Engineer&lt;/strong&gt; says: “Could be impurities in the fuel.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;Electrical Engineer&lt;/strong&gt; mutters: “Maybe a wiring issue?”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;But then the &lt;strong&gt;IT Engineer&lt;/strong&gt; goes:  “Hey guys… what if we all get out of the car and get back in?” &lt;em&gt;(Because let’s be honest… it works with Windows sometimes! 🤗)&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If this made you smile, we’ve got tons more where that came from! 🎯&lt;/p&gt;

&lt;p&gt;👉 Check out our full collection of programming jokes at &lt;a href="https://www.aquascript.xyz/progm_jokes" rel="noopener noreferrer"&gt;&lt;strong&gt;aquascript/Progm_Jokes&lt;/strong&gt;&lt;/a&gt;, your official sidekick for tech giggles and developer sanity.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;🔗 &lt;a href="http://www.aquascript.xyz" rel="noopener noreferrer"&gt;www.aquascript.xyz&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt; – not just tools &amp;amp; resources, but also your coding comic relief zone.&lt;/p&gt;




&lt;p&gt;Let’s keep the dev spirit light and lively. 💻💬&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; If you’ve got a favorite programming joke, drop it in the comments. Who knows? It might just make it into our next feature!👌&lt;/p&gt;

</description>
      <category>aquascript</category>
      <category>discuss</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Thu, 12 Jun 2025 09:25:27 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/-557d</link>
      <guid>https://dev.to/kelvincode1234/-557d</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/kevinbism/recreating-apples-liquid-glass-effect-with-pure-css-3gpl" class="crayons-story__hidden-navigation-link"&gt;Recreating Apple's Liquid Glass Effect with Pure CSS ✨&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/kevinbism" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1260834%2Fa8b5a940-26cf-4e1b-a05b-8a0582c50843.jpeg" alt="kevinbism profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/kevinbism" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Kevin Ramirez
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Kevin Ramirez
                
              
              &lt;div id="story-author-preview-content-2582949" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/kevinbism" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1260834%2Fa8b5a940-26cf-4e1b-a05b-8a0582c50843.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Kevin Ramirez&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/kevinbism/recreating-apples-liquid-glass-effect-with-pure-css-3gpl" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 10 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/kevinbism/recreating-apples-liquid-glass-effect-with-pure-css-3gpl" id="article-link-2582949"&gt;
          Recreating Apple's Liquid Glass Effect with Pure CSS ✨
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/css"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;css&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/design"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;design&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/frontend"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;frontend&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/kevinbism/recreating-apples-liquid-glass-effect-with-pure-css-3gpl" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;80&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/kevinbism/recreating-apples-liquid-glass-effect-with-pure-css-3gpl#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              18&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>css</category>
      <category>design</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>🔥 use-custom-event-listener, A Lightweight React Hook for Custom Events</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Tue, 03 Jun 2025 16:13:47 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/use-custom-event-listener-a-lightweight-react-hook-for-custom-events-1llg</link>
      <guid>https://dev.to/kelvincode1234/use-custom-event-listener-a-lightweight-react-hook-for-custom-events-1llg</guid>
      <description>&lt;p&gt;Ever wished handling custom DOM events in React could be easier? Now it is!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/use-custom-event-listener" rel="noopener noreferrer"&gt;&lt;code&gt;use-custom-event-listener&lt;/code&gt;&lt;/a&gt; is a &lt;strong&gt;zero-dependency&lt;/strong&gt;, &lt;strong&gt;TypeScript-ready&lt;/strong&gt; React hook that gives you full control over custom events in your app — with automatic cleanup, async support, and a slick API.&lt;br&gt;&lt;br&gt;
Created by &lt;a href="https://dev.to/marvelcodes"&gt;&lt;code&gt;@marvelcodes&lt;/code&gt;&lt;/a&gt; 👏&lt;/p&gt;


&lt;h2&gt;
  
  
  🌟 Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🎯 &lt;strong&gt;TypeScript support&lt;/strong&gt; out of the box&lt;/li&gt;
&lt;li&gt;🔄 Listen to &lt;strong&gt;one or multiple&lt;/strong&gt; events with ease&lt;/li&gt;
&lt;li&gt;🧹 &lt;strong&gt;Auto cleanup&lt;/strong&gt; when your component unmounts&lt;/li&gt;
&lt;li&gt;⚡️ Supports &lt;strong&gt;async callbacks&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🎨 Simple and expressive API&lt;/li&gt;
&lt;li&gt;📦 &lt;strong&gt;Zero dependencies&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📦 Installation
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm add use-custom-event-listener
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;You can also use npm or yarn.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🚀 Usage
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Basic Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&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;useCustomEventListener&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;dispatchCustomEvent&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;use-custom-event-listener&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;MyComponent&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;useCustomEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dataRefresh&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="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Data refresh event received!&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="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&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="nf"&gt;dispatchCustomEvent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dataRefresh&lt;/span&gt;&lt;span class="dl"&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="nx"&gt;Refresh&lt;/span&gt; &lt;span class="nx"&gt;Data&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&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;
  
  
  Multiple Events
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nf"&gt;useCustomEventListener&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dataRefresh&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="s1"&gt;userUpdate&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="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Custom event received!&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;h2&gt;
  
  
  Async Callback Support
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nf"&gt;useCustomEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dataRefresh&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;async &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="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetchData&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;updateUI&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;
  
  
  📘 API Reference
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;useCustomEventListener&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;A React hook for listening to one or more custom events.&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;useCustomEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nx"&gt;eventNames&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt;
  &lt;span class="nx"&gt;callback&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="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;void&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;eventNames&lt;/code&gt;: A single event name or array of names.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;callback&lt;/code&gt;: Function to run when the event fires (can be async).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;dispatchCustomEvent&lt;/code&gt;&lt;br&gt;
Dispatches a custom DOM event.&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;dispatchCustomEvent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;eventNames&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧠 Best Practices
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ Use unique, descriptive event names&lt;/li&gt;
&lt;li&gt;✅ Let the hook handle cleanup, no manual work needed&lt;/li&gt;
&lt;li&gt;✅ Prefer multiple event names in one hook to reduce overhead&lt;/li&gt;
&lt;li&gt;✅ Lean into TypeScript for the best DX&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 Contributing
&lt;/h2&gt;

&lt;p&gt;Pull requests welcome!&lt;br&gt;
Check it out on GitHub → &lt;a href="https://www.github.com/MarvelNwachukwu/use-custom-event-listener" rel="noopener noreferrer"&gt;github.com/MarvelNwachukwu/use-custom-event-listener&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;MIT © &lt;a href="https://www.github.com/MarvelNwachukwu" rel="noopener noreferrer"&gt;Marvellous Nwachukwu&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;If you’re building complex React apps that rely on event-driven logic, give this hook a try. It’s intuitive, type-safe, and refreshingly lightweight. Big props to &lt;a class="mentioned-user" href="https://dev.to/marvelcodes"&gt;@marvelcodes&lt;/a&gt; for this solid addition to the React dev toolkit. 🙌&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Happy coding! 🚀&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>javascript</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Amazing Tool</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Tue, 03 Jun 2025 09:27:38 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/amazing-tool-cfc</link>
      <guid>https://dev.to/kelvincode1234/amazing-tool-cfc</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/arindam_1729/i-built-an-ai-agent-that-finds-jobs-for-me-5427" class="crayons-story__hidden-navigation-link"&gt;🤖 I Built an AI Agent That Finds Jobs for Me 🤯&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/arindam_1729" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F965723%2Fe0982512-4de1-4154-b3c3-1869d19e9ecc.png" alt="arindam_1729 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/arindam_1729" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Arindam Majumder 
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Arindam Majumder 
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png"&gt;&lt;/a&gt;
              
              &lt;div id="story-author-preview-content-2530704" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/arindam_1729" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F965723%2Fe0982512-4de1-4154-b3c3-1869d19e9ecc.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Arindam Majumder &lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/arindam_1729/i-built-an-ai-agent-that-finds-jobs-for-me-5427" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 2 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/arindam_1729/i-built-an-ai-agent-that-finds-jobs-for-me-5427" id="article-link-2530704"&gt;
          🤖 I Built an AI Agent That Finds Jobs for Me 🤯
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/python"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;python&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/arindam_1729/i-built-an-ai-agent-that-finds-jobs-for-me-5427" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;131&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/arindam_1729/i-built-an-ai-agent-that-finds-jobs-for-me-5427#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              56&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            10 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>ai</category>
      <category>python</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🌟 The Ultimate Git Reference: All Commands from Beginner to Advanced</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Wed, 21 May 2025 12:07:39 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/the-ultimate-git-reference-all-commands-from-beginner-to-advanced-2e6n</link>
      <guid>https://dev.to/kelvincode1234/the-ultimate-git-reference-all-commands-from-beginner-to-advanced-2e6n</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/hanzla-baig/the-ultimate-git-reference-all-commands-from-beginner-to-advanced-5ch6" class="crayons-story__hidden-navigation-link"&gt;🌟 The Ultimate Git Reference: All Commands from Beginner to Advanced&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/hanzla-baig" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2F62aeb2ca-c228-4b5a-9327-2690358bb8d6.JPG" alt="hanzla-baig profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/hanzla-baig" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Hanzla Baig
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Hanzla Baig
                
              
              &lt;div id="story-author-preview-content-2510636" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/hanzla-baig" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2F62aeb2ca-c228-4b5a-9327-2690358bb8d6.JPG" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Hanzla Baig&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/hanzla-baig/the-ultimate-git-reference-all-commands-from-beginner-to-advanced-5ch6" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 21 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/hanzla-baig/the-ultimate-git-reference-all-commands-from-beginner-to-advanced-5ch6" id="article-link-2510636"&gt;
          🌟 The Ultimate Git Reference: All Commands from Beginner to Advanced
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/discuss"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;discuss&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/git"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;git&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/hanzla-baig/the-ultimate-git-reference-all-commands-from-beginner-to-advanced-5ch6" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;62&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/hanzla-baig/the-ultimate-git-reference-all-commands-from-beginner-to-advanced-5ch6#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              6&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            14 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>git</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>programming</category>
    </item>
    <item>
      <title>Meet Hippoo: The Lightning-Fast CLI Tool Every Dev Needs to Check NPM Package Sizes</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Wed, 14 May 2025 21:33:29 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/meet-hippoo-the-lightning-fast-cli-tool-every-dev-needs-to-check-npm-package-sizes-3nji</link>
      <guid>https://dev.to/kelvincode1234/meet-hippoo-the-lightning-fast-cli-tool-every-dev-needs-to-check-npm-package-sizes-3nji</guid>
      <description>&lt;h2&gt;
  
  
  Introducing Hippoo — a blazing-fast CLI tool that helps you analyze and compare npm package sizes before you install them. Built by &lt;a href="https://github.com/codiejay/" rel="noopener noreferrer"&gt;James Akpan&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;“Don’t just install it. Inspect it.”&lt;br&gt;&lt;br&gt;
— &lt;em&gt;Hippoo’s unspoken philosophy&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the age of bloated bundles and performance-first web apps, &lt;strong&gt;Hippoo&lt;/strong&gt; steps in like a digital bodyguard. — Hippoo is a smart, sleek CLI tool that helps you &lt;strong&gt;check and compare npm package sizes&lt;/strong&gt; &lt;em&gt;before&lt;/em&gt; they enter your codebase.&lt;/p&gt;

&lt;p&gt;No more surprises. No more blind installs.&lt;/p&gt;




&lt;h2&gt;
  
  
  🦛  What is Hippoo?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Hippoo&lt;/strong&gt; (yes, with two o's) is a lightning-fast command-line tool to analyze and compare npm packages — giving you clear insights about:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;📦 &lt;strong&gt;Minified &amp;amp; Gzipped Size&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🧮 &lt;strong&gt;Dependency Count&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🕸️ &lt;strong&gt;Download Time&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🌲 &lt;strong&gt;Tree-shaking Support&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;📈 &lt;strong&gt;Hippoo Score (0–10)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🎯 &lt;strong&gt;Smart Recommendations&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hippoo answers the real dev questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Is this package too heavy?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Should I choose React or Angular?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Will this slow down my app?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Installation
&lt;/h2&gt;

&lt;p&gt;You can install Hippoo globally using either &lt;strong&gt;npm&lt;/strong&gt; or &lt;strong&gt;yarn&lt;/strong&gt;:&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="c"&gt;# Using npm&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; hippoo

&lt;span class="c"&gt;# Using yarn&lt;/span&gt;
yarn global add hippoo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📖 Basic Usage
&lt;/h2&gt;

&lt;p&gt;🔍 Check a single package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hippoo react@18.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ⚖️ Compare multiple packages:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hippoo compare react angular
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ✨ Sample Output (Real Example)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hippoo compare react angular
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;React&lt;/th&gt;
&lt;th&gt;Angular&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Size&lt;/td&gt;
&lt;td&gt;7.4 kB&lt;/td&gt;
&lt;td&gt;181.0 kB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gzipped&lt;/td&gt;
&lt;td&gt;2.8 kB&lt;/td&gt;
&lt;td&gt;62.3 kB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download Time&lt;/td&gt;
&lt;td&gt;1ms&lt;/td&gt;
&lt;td&gt;2ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dependencies&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tree-Shake&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hippoo Score&lt;/td&gt;
&lt;td&gt;8/10 👍&lt;/td&gt;
&lt;td&gt;6/10 👍&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;🔥 Best for Performance-Critical Apps&lt;/strong&gt;: React&lt;br&gt;
&lt;strong&gt;🔥 Best for Feature-Rich Projects&lt;/strong&gt;: Angular&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ Command Reference
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hippoo &lt;span class="o"&gt;[&lt;/span&gt;package-name] &lt;span class="o"&gt;[&lt;/span&gt;options]
hippoo compare &lt;span class="o"&gt;[&lt;/span&gt;pkg1] &lt;span class="o"&gt;[&lt;/span&gt;pkg2] &lt;span class="o"&gt;[&lt;/span&gt;...]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Options&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-v, --version&lt;/code&gt; → Show version number&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-d, --detailed&lt;/code&gt; → Show detailed breakdown&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-j, --json&lt;/code&gt; → Output results in JSON&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-h, --help&lt;/code&gt; → Show help info&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📊 Why Use Hippoo?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📦 Size Analysis&lt;/strong&gt; — Know what you're adding.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;⚖️ Package Comparison&lt;/strong&gt; — Pick the better tool.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🚀 Performance Insights&lt;/strong&gt; — Stay light and fast.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;💡 Smart Recommendations&lt;/strong&gt; — Use the right tool for the task/project.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🌐 Resources
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://hippoo-sigma.vercel.app/" rel="noopener noreferrer"&gt;Official Website&lt;/a&gt;&lt;br&gt;
💻 &lt;a href="https://github.com/codiejay/hippoo" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;br&gt;
📜 &lt;a href="https://github.com/codiejay/hippoo/blob/master/LICENSE" rel="noopener noreferrer"&gt;MIT License&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;Hippoo isn’t just a tool.&lt;br&gt;
It’s a mindset — inspect before install.&lt;br&gt;
Analyze before adding. Optimize before bloating.&lt;br&gt;
Big ups to &lt;a href="https://github.com/codiejay" rel="noopener noreferrer"&gt;@codiejay (James Akpan)&lt;/a&gt; for building something every dev can use. Let’s support, test, and spread the word. 🔥&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Next time you go to install a package, pause and ask: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Did I Hippoo it first?” 👀&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;💬 Feel free to share thoughts, issues, or praise in the comments. And if you're vibing with Hippoo, don’t forget to ⭐ the repo!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>npm</category>
      <category>cli</category>
      <category>discuss</category>
    </item>
    <item>
      <title>🌊 Dive into AquaScript: The Ultimate Playground for Developers! 🧑‍💻</title>
      <dc:creator> Precious Kelvin Nwaogu</dc:creator>
      <pubDate>Sat, 10 May 2025 20:25:28 +0000</pubDate>
      <link>https://dev.to/kelvincode1234/dive-into-aquascript-the-ultimate-playground-for-developers-4kii</link>
      <guid>https://dev.to/kelvincode1234/dive-into-aquascript-the-ultimate-playground-for-developers-4kii</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/aquascript/dive-into-aquascript-the-ultimate-playground-for-developers-16f4" class="crayons-story__hidden-navigation-link"&gt;🌊 Dive into AquaScript: The Ultimate Playground for Developers! 🧑‍💻&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/aquascript"&gt;
            &lt;img alt="AquaScript  logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10695%2Fc2fb2106-5c9c-4e3f-9a1d-e28d221aac4e.png" class="crayons-logo__image"&gt;
          &lt;/a&gt;

          &lt;a href="/hanzla-baig" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2F62aeb2ca-c228-4b5a-9327-2690358bb8d6.JPG" alt="hanzla-baig profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/hanzla-baig" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Hanzla Baig
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Hanzla Baig
                
              
              &lt;div id="story-author-preview-content-2473589" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/hanzla-baig" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2F62aeb2ca-c228-4b5a-9327-2690358bb8d6.JPG" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Hanzla Baig&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/aquascript" class="crayons-story__secondary fw-medium"&gt;AquaScript &lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/aquascript/dive-into-aquascript-the-ultimate-playground-for-developers-16f4" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 10 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/aquascript/dive-into-aquascript-the-ultimate-playground-for-developers-16f4" id="article-link-2473589"&gt;
          🌊 Dive into AquaScript: The Ultimate Playground for Developers! 🧑‍💻
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/discuss"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;discuss&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aquascript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aquascript&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/api"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;api&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/aquascript/dive-into-aquascript-the-ultimate-playground-for-developers-16f4" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/aquascript/dive-into-aquascript-the-ultimate-playground-for-developers-16f4#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>aquascript</category>
      <category>api</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
