<?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: Ryszardo303</title>
    <description>The latest articles on DEV Community by Ryszardo303 (@ryszardo303).</description>
    <link>https://dev.to/ryszardo303</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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png</url>
      <title>DEV Community: Ryszardo303</title>
      <link>https://dev.to/ryszardo303</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ryszardo303"/>
    <language>en</language>
    <item>
      <title>Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)</title>
      <dc:creator>Ryszardo303</dc:creator>
      <pubDate>Sun, 17 Aug 2025 12:34:44 +0000</pubDate>
      <link>https://dev.to/ryszardo303/vnoder-instantly-visualize-your-codebase-graph-unused-cyclic-empty-2gjm</link>
      <guid>https://dev.to/ryszardo303/vnoder-instantly-visualize-your-codebase-graph-unused-cyclic-empty-2gjm</guid>
      <description>&lt;h1&gt;
  
  
  Vnoder – Visualize Your Codebase 🚀
&lt;/h1&gt;

&lt;p&gt;If you've ever joined a large project and thought:&lt;br&gt;&lt;br&gt;
&lt;em&gt;"Where do I even start?!"&lt;/em&gt; — you're not alone.&lt;/p&gt;

&lt;p&gt;When working on codebases with &lt;strong&gt;hundreds of files&lt;/strong&gt;, figuring out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How components are connected
&lt;/li&gt;
&lt;li&gt;Which files are unused
&lt;/li&gt;
&lt;li&gt;Where your dependencies come from
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;... can be &lt;em&gt;painful&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🐛 The Problem
&lt;/h2&gt;

&lt;p&gt;As projects grow, so does complexity.&lt;br&gt;&lt;br&gt;
Even with good folder structures, finding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unused files&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Empty files&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cyclic dependencies&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;... often requires manual searching or running multiple scripts.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 The Solution: &lt;a href="https://vnoder.com" rel="noopener noreferrer"&gt;Vnoder.com&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vnoder.com" rel="noopener noreferrer"&gt;Vnoder&lt;/a&gt; is a free tool that &lt;strong&gt;instantly visualizes your codebase&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
You can upload your local project or connect GitHub, and in seconds you get:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Interactive graph view&lt;/strong&gt; of all files and connections&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;File type filtering&lt;/strong&gt; (components, utils, pages, hooks, etc.)&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Empty / unused / cyclic file detection&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Focus mode&lt;/strong&gt; to analyze just one part of the project  &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%2F6rskx5odxu128tu5xa2i.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%2F6rskx5odxu128tu5xa2i.png" alt="Graph Overview" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠 How It Works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Upload your project folder or link your GitHub repo
&lt;/li&gt;
&lt;li&gt;Vnoder parses all &lt;code&gt;import&lt;/code&gt; / &lt;code&gt;export&lt;/code&gt; statements
&lt;/li&gt;
&lt;li&gt;You get an &lt;strong&gt;interactive dependency map&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Filter, search, and clean your codebase 🚀
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📸 Features in Action
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Full Graph View
&lt;/h3&gt;

&lt;p&gt;See the &lt;strong&gt;entire architecture&lt;/strong&gt; of your project at a glance.&lt;br&gt;&lt;br&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%2F10z3qmsm2wogy03acfza.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%2F10z3qmsm2wogy03acfza.png" alt="Full Graph" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Focus Mode
&lt;/h3&gt;

&lt;p&gt;Click any file to zoom in and see &lt;strong&gt;only its direct connections&lt;/strong&gt;.&lt;br&gt;&lt;br&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%2Fy277vfgrw9jlcjrps1m3.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%2Fy277vfgrw9jlcjrps1m3.png" alt="Focus Mode" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Directory Filtering
&lt;/h3&gt;

&lt;p&gt;Analyze just one folder (e.g., &lt;code&gt;components/&lt;/code&gt;, &lt;code&gt;utils/&lt;/code&gt;).&lt;br&gt;&lt;br&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%2Feva5xkfb8s8sulvgb9s0.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%2Feva5xkfb8s8sulvgb9s0.png" alt="Directory Filter" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Unused Files Detection
&lt;/h3&gt;

&lt;p&gt;Spot files that are never imported anywhere.&lt;br&gt;&lt;br&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%2Fum4p2m60bvkyqw2f6xxn.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%2Fum4p2m60bvkyqw2f6xxn.png" alt="Unused Files" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Empty Files
&lt;/h3&gt;

&lt;p&gt;Highlight forgotten placeholder files.&lt;br&gt;&lt;br&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%2Fvk4o8p7hjc0d38jaed1l.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%2Fvk4o8p7hjc0d38jaed1l.png" alt="Empty Files" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cyclic Dependencies
&lt;/h3&gt;

&lt;p&gt;Catch problematic cycles before they cause bugs.&lt;br&gt;&lt;br&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%2Fggsclehm2p9z13vbmddn.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%2Fggsclehm2p9z13vbmddn.png" alt="Cyclic Dependencies" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 Why I Built It
&lt;/h2&gt;

&lt;p&gt;I was tired of &lt;strong&gt;jumping between files&lt;/strong&gt; just to understand how a project was structured.&lt;br&gt;&lt;br&gt;
Now, I can &lt;strong&gt;see the entire architecture at a glance&lt;/strong&gt; and quickly spot unused or problematic code.  &lt;/p&gt;




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

&lt;p&gt;Vnoder is &lt;strong&gt;free to try&lt;/strong&gt; → &lt;a href="https://vnoder.com" rel="noopener noreferrer"&gt;https://vnoder.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful, let me know in the comments — I’d love feedback and ideas for new features! ✨&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ryszardo303</dc:creator>
      <pubDate>Sun, 17 Aug 2025 08:51:50 +0000</pubDate>
      <link>https://dev.to/ryszardo303/-5d7l</link>
      <guid>https://dev.to/ryszardo303/-5d7l</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__hidden-navigation-link"&gt;Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)&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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" alt="ryszardo303 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ryszardo303" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ryszardo303
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ryszardo303
                
              
              &lt;div id="story-author-preview-content-2774752" 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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ryszardo303&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 14 '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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" id="article-link-2774752"&gt;
          Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/react"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;react&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/typescript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;typescript&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/tooling"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tooling&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" 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/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i#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>react</category>
      <category>typescript</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ryszardo303</dc:creator>
      <pubDate>Sat, 16 Aug 2025 17:38:45 +0000</pubDate>
      <link>https://dev.to/ryszardo303/-2k8k</link>
      <guid>https://dev.to/ryszardo303/-2k8k</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__hidden-navigation-link"&gt;Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)&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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" alt="ryszardo303 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ryszardo303" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ryszardo303
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ryszardo303
                
              
              &lt;div id="story-author-preview-content-2774752" 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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ryszardo303&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 14 '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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" id="article-link-2774752"&gt;
          Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/react"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;react&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/typescript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;typescript&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/tooling"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tooling&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" 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/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i#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>react</category>
      <category>typescript</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ryszardo303</dc:creator>
      <pubDate>Sat, 16 Aug 2025 12:11:21 +0000</pubDate>
      <link>https://dev.to/ryszardo303/-22k9</link>
      <guid>https://dev.to/ryszardo303/-22k9</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__hidden-navigation-link"&gt;Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)&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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" alt="ryszardo303 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ryszardo303" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ryszardo303
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ryszardo303
                
              
              &lt;div id="story-author-preview-content-2774752" 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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ryszardo303&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 14 '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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" id="article-link-2774752"&gt;
          Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/react"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;react&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/typescript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;typescript&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/tooling"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tooling&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" 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/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i#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>javascript</category>
      <category>react</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ryszardo303</dc:creator>
      <pubDate>Fri, 15 Aug 2025 15:40:16 +0000</pubDate>
      <link>https://dev.to/ryszardo303/-39o</link>
      <guid>https://dev.to/ryszardo303/-39o</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__hidden-navigation-link"&gt;Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)&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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" alt="ryszardo303 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ryszardo303" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ryszardo303
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ryszardo303
                
              
              &lt;div id="story-author-preview-content-2774752" 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="/ryszardo303" 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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ryszardo303&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 14 '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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" id="article-link-2774752"&gt;
          Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/react"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;react&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/typescript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;typescript&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/tooling"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tooling&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/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" 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/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i#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>javascript</category>
      <category>react</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ryszardo303</dc:creator>
      <pubDate>Thu, 14 Aug 2025 22:51:06 +0000</pubDate>
      <link>https://dev.to/ryszardo303/-50e7</link>
      <guid>https://dev.to/ryszardo303/-50e7</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/ryszardo303" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2F3436109%2Fbf3d8fdd-189c-46e7-a8df-35d84fe08683.png" alt="ryszardo303"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Visualizing Your JavaScript/React Project Structure in Seconds 🚀&lt;/h2&gt;
      &lt;h3&gt;Ryszardo303 ・ Aug 14&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Vnoder – Instantly Visualize Your Codebase (Graph, Unused, Cyclic, Empty)</title>
      <dc:creator>Ryszardo303</dc:creator>
      <pubDate>Thu, 14 Aug 2025 22:39:42 +0000</pubDate>
      <link>https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i</link>
      <guid>https://dev.to/ryszardo303/visualizing-your-javascriptreact-project-structure-in-seconds-179i</guid>
      <description>&lt;h1&gt;
  
  
  Vnoder – Visualize Your Codebase 🚀
&lt;/h1&gt;

&lt;p&gt;If you've ever joined a large project and thought:&lt;br&gt;&lt;br&gt;
&lt;em&gt;"Where do I even start?!"&lt;/em&gt; — you're not alone.&lt;/p&gt;

&lt;p&gt;When working on codebases with &lt;strong&gt;hundreds of files&lt;/strong&gt;, figuring out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How components are connected
&lt;/li&gt;
&lt;li&gt;Which files are unused
&lt;/li&gt;
&lt;li&gt;Where your dependencies come from
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;... can be &lt;em&gt;painful&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🐛 The Problem
&lt;/h2&gt;

&lt;p&gt;As projects grow, so does complexity.&lt;br&gt;&lt;br&gt;
Even with good folder structures, finding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unused files&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Empty files&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cyclic dependencies&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;... often requires manual searching or running multiple scripts.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 The Solution: &lt;a href="https://vnoder.com" rel="noopener noreferrer"&gt;Vnoder.com&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vnoder.com" rel="noopener noreferrer"&gt;Vnoder&lt;/a&gt; is a free tool that &lt;strong&gt;instantly visualizes your codebase&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
You can upload your local project or connect GitHub, and in seconds you get:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Interactive graph view&lt;/strong&gt; of all files and connections&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;File type filtering&lt;/strong&gt; (components, utils, pages, hooks, etc.)&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Empty / unused / cyclic file detection&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Focus mode&lt;/strong&gt; to analyze just one part of the project  &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%2F6rskx5odxu128tu5xa2i.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%2F6rskx5odxu128tu5xa2i.png" alt="Graph Overview" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠 How It Works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Upload your project folder or link your GitHub repo
&lt;/li&gt;
&lt;li&gt;Vnoder parses all &lt;code&gt;import&lt;/code&gt; / &lt;code&gt;export&lt;/code&gt; statements
&lt;/li&gt;
&lt;li&gt;You get an &lt;strong&gt;interactive dependency map&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Filter, search, and clean your codebase 🚀
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📸 Features in Action
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Full Graph View
&lt;/h3&gt;

&lt;p&gt;See the &lt;strong&gt;entire architecture&lt;/strong&gt; of your project at a glance.&lt;br&gt;&lt;br&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%2F10z3qmsm2wogy03acfza.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%2F10z3qmsm2wogy03acfza.png" alt="Full Graph" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Focus Mode
&lt;/h3&gt;

&lt;p&gt;Click any file to zoom in and see &lt;strong&gt;only its direct connections&lt;/strong&gt;.&lt;br&gt;&lt;br&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%2Fy277vfgrw9jlcjrps1m3.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%2Fy277vfgrw9jlcjrps1m3.png" alt="Focus Mode" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Directory Filtering
&lt;/h3&gt;

&lt;p&gt;Analyze just one folder (e.g., &lt;code&gt;components/&lt;/code&gt;, &lt;code&gt;utils/&lt;/code&gt;).&lt;br&gt;&lt;br&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%2Feva5xkfb8s8sulvgb9s0.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%2Feva5xkfb8s8sulvgb9s0.png" alt="Directory Filter" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Unused Files Detection
&lt;/h3&gt;

&lt;p&gt;Spot files that are never imported anywhere.&lt;br&gt;&lt;br&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%2Fum4p2m60bvkyqw2f6xxn.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%2Fum4p2m60bvkyqw2f6xxn.png" alt="Unused Files" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Empty Files
&lt;/h3&gt;

&lt;p&gt;Highlight forgotten placeholder files.&lt;br&gt;&lt;br&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%2Fvk4o8p7hjc0d38jaed1l.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%2Fvk4o8p7hjc0d38jaed1l.png" alt="Empty Files" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cyclic Dependencies
&lt;/h3&gt;

&lt;p&gt;Catch problematic cycles before they cause bugs.&lt;br&gt;&lt;br&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%2Fggsclehm2p9z13vbmddn.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%2Fggsclehm2p9z13vbmddn.png" alt="Cyclic Dependencies" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 Why I Built It
&lt;/h2&gt;

&lt;p&gt;I was tired of &lt;strong&gt;jumping between files&lt;/strong&gt; just to understand how a project was structured.&lt;br&gt;&lt;br&gt;
Now, I can &lt;strong&gt;see the entire architecture at a glance&lt;/strong&gt; and quickly spot unused or problematic code.  &lt;/p&gt;




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

&lt;p&gt;Vnoder is &lt;strong&gt;free to try&lt;/strong&gt; → &lt;a href="https://vnoder.com" rel="noopener noreferrer"&gt;https://vnoder.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful, let me know in the comments — I’d love feedback and ideas for new features! ✨&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
