<?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: Me</title>
    <description>The latest articles on DEV Community by Me (@shivang2607).</description>
    <link>https://dev.to/shivang2607</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%2F3840251%2F897243c5-f905-41b0-975e-e0f882a81568.png</url>
      <title>DEV Community: Me</title>
      <link>https://dev.to/shivang2607</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivang2607"/>
    <language>en</language>
    <item>
      <title>I built an AST-powered visualizer for Reactjs, Next.js to solve my own architectural debt (and 50+ devs just joined the waitlist)</title>
      <dc:creator>Me</dc:creator>
      <pubDate>Mon, 18 May 2026 21:06:42 +0000</pubDate>
      <link>https://dev.to/shivang2607/i-built-an-ast-powered-visualizer-for-reactjs-nextjs-to-solve-my-own-architectural-debt-and-50-1h08</link>
      <guid>https://dev.to/shivang2607/i-built-an-ast-powered-visualizer-for-reactjs-nextjs-to-solve-my-own-architectural-debt-and-50-1h08</guid>
      <description>&lt;p&gt;We’ve all been there. &lt;/p&gt;

&lt;p&gt;You open a Reactjs, Next.js project that started small. But after a few weeks of shipping fast, you have a sprawling network of Server Components, Client Components, nested routes, custom hooks, and state managers. &lt;/p&gt;

&lt;p&gt;Worse yet, if your team is using AI tools to assist with writing code, your repository is likely growing 10x faster than anyone can actually read it. &lt;/p&gt;

&lt;p&gt;A few months ago, I hit a breaking point. I found myself spending more time doing mental gymnastics trying to figure out how files were connected than actually writing code. I would merge a Pull Request, only to realize later that a small change in a server action completely broke a seemingly unrelated component on the other side of the app.&lt;/p&gt;

&lt;p&gt;So, I decided to build a solution: &lt;strong&gt;Devlens&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem with Generic AI Visualizers
&lt;/h2&gt;

&lt;p&gt;When I looked at existing codebase visualizers, I noticed two major flaws:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;They were completely generic and didn't understand the intricacies of modern meta-frameworks like Next.js (e.g., the complex bridge between Server and Client layers).&lt;/li&gt;
&lt;li&gt;They relied entirely on AI to map out the codebase, resulting in frequent hallucinations about how files were structured, while costing a fortune in API tokens.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I wanted something different. I wanted a &lt;strong&gt;deterministic GPS for my code&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97u2d4vb3zvf2zb8pal3.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%2F97u2d4vb3zvf2zb8pal3.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How Devlens Works Under the Hood
&lt;/h2&gt;

&lt;p&gt;Devlens uses a dual-layered approach to provide architectural intelligence without the guesswork:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. 100% Accurate AST Parsing
&lt;/h3&gt;

&lt;p&gt;Instead of asking an LLM to guess your architecture, Devlens walks the &lt;strong&gt;Abstract Syntax Tree (AST)&lt;/strong&gt; of your JavaScript/TypeScript files locally. It mathematically extracts every component, hook, utility, API route, and data store, mapping out every import, function call, and state mutation with zero hallucination. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Context-Aware Graph Layering
&lt;/h3&gt;

&lt;p&gt;Once the map is generated, it applies a multi-pass scoring algorithm to determine which files act as the true bottlenecks or core pillars of your system. Only &lt;em&gt;after&lt;/em&gt; the graph structure is locked does it pass the nodes to an LLM to generate highly concise technical summaries. &lt;/p&gt;

&lt;p&gt;Because it feeds the graph's connections as structural context to the LLM, token usage is slashed drastically—analyzing a large repository uses fewer tokens than a single chat session with standard tools.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Killer Feature: Finding the "Blast Radius"
&lt;/h2&gt;

&lt;p&gt;The absolute main use case I built into Devlens—and what has kept me from breaking production builds—is &lt;strong&gt;Blast Radius detection and Developer Onboarding&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The PR Review "Blast Radius":&lt;/strong&gt; Instead of blindly merging PRs, it visually overlays your code changes and shows you exactly what other routes, hooks, or components will break across the repo before you hit merge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Friction Dev Onboarding:&lt;/strong&gt; Drop a new hire into a massive, unfamiliar Next.js repository. They can explore the interactive graph, read contextual summaries of the modules, and understand the core architecture in hours instead of weeks of manual KT.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
[ Your Modified Component ]
│
├──► Affects: Custom Hook (useAuth)
│        │
│        └──► Breaks: Profile Page Route (/profile)
│
└──► Affects: Server Action (updateUser)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Before you approve a Pull Request or run a major refactor, Devlens calculates the ripple effect of a change. It makes code reviews incredibly straightforward because you aren't guessing what might break anymore; you can see it layout on an interactive graph.&lt;/p&gt;




&lt;h2&gt;
  
  
  From Side Project to Validation
&lt;/h2&gt;

&lt;p&gt;I open-sourced the local core engine, and a few days ago, I opened up a waitlist for a Cloud version that automates visual PR summaries and adds a &lt;strong&gt;Graph-Aware AI Chat interface&lt;/strong&gt; (an LLM that reads your graph metadata to answer architectural questions without hallucinating your folder layout).&lt;/p&gt;

&lt;p&gt;Within 60 days of launching the basic open-source version, &lt;strong&gt;50+ developers joined the cloud waitlist&lt;/strong&gt; completely organically. &lt;/p&gt;

&lt;p&gt;For a framework-specific developer tool, this small milestone means the world to me. It validates that architectural debt, onboarding headaches for new hires, and PR review blindness are universal pains we are all fighting.&lt;/p&gt;




&lt;h2&gt;
  
  
  Check it out (It's Open Source!)
&lt;/h2&gt;

&lt;p&gt;If you are currently wrestling with a growing React/Next.js/Node.js codebase, I would love for you to try out the engine and give me your harshest feedback.&lt;/p&gt;

&lt;p&gt;⭐ &lt;strong&gt;GitHub Repo:&lt;/strong&gt; &lt;a href="https://github.com/devlensio/devlensOSS" rel="noopener noreferrer"&gt;github.com/devlensio/devlensOSS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🚀 &lt;strong&gt;Cloud Beta Waitlist:&lt;/strong&gt; &lt;a href="https://devlens.io" rel="noopener noreferrer"&gt;devlens.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Have you worked with tools to handle codebase mapping before? How does your team currently prevent breaking changes during massive refactors? Let’s talk in the comments!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>ai</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title># I Built a Tool That Turns Your React/Nextjs Codebase into a 2D Graph (No AI Mapping)</title>
      <dc:creator>Me</dc:creator>
      <pubDate>Mon, 23 Mar 2026 14:14:32 +0000</pubDate>
      <link>https://dev.to/shivang2607/-i-built-a-tool-that-turns-your-reactnextjs-codebase-into-a-2d-graph-no-ai-mapping-1mda</link>
      <guid>https://dev.to/shivang2607/-i-built-a-tool-that-turns-your-reactnextjs-codebase-into-a-2d-graph-no-ai-mapping-1mda</guid>
      <description>&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;Lately, I’ve been noticing a shift.&lt;/p&gt;

&lt;p&gt;AI and agents are making development faster than ever. They can write large chunks of code, sometimes entire features. But there’s a tradeoff that doesn’t get talked about enough:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You slowly lose a deep understanding of your own codebase.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And honestly, that’s something I hate.&lt;/p&gt;

&lt;p&gt;I don’t use agents inside my IDE. I do use LLMs—but only for small pieces of logic or quick help. I still want to &lt;em&gt;understand&lt;/em&gt; what I’m building.&lt;/p&gt;

&lt;p&gt;That got me thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If codebases are getting more complex—and we’re relying more on automation—how do we actually &lt;em&gt;see&lt;/em&gt; and understand the system?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I started looking for a graph-based visualization tool that could map out a React/Next.js codebase in a meaningful way.&lt;/p&gt;

&lt;p&gt;I didn’t find what I wanted.&lt;/p&gt;

&lt;p&gt;So I built it.&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%2Fa6iz9db9khtaro1tflri.jpeg" 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%2Fa6iz9db9khtaro1tflri.jpeg" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;This tool maps your entire React/Next.js codebase into a &lt;strong&gt;3D graph&lt;/strong&gt;, showing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How components connect&lt;/li&gt;
&lt;li&gt;How data flows&lt;/li&gt;
&lt;li&gt;What depends on what&lt;/li&gt;
&lt;li&gt;And most importantly—what breaks if you change something&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this is built using &lt;strong&gt;AST analysis (no AI for mapping).&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔗 AST-Based Graph (No AI Mapping)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Nodes and edges are extracted directly from code&lt;/li&gt;
&lt;li&gt;No hallucinations, no guesswork&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧠 Deep Code Understanding
&lt;/h3&gt;

&lt;p&gt;Detects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routes&lt;/li&gt;
&lt;li&gt;JSX components&lt;/li&gt;
&lt;li&gt;Hooks&lt;/li&gt;
&lt;li&gt;Redux / Zustand / Jotai stores&lt;/li&gt;
&lt;li&gt;Function calls, reads, writes, and more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(10+ edge types supported)&lt;/p&gt;




&lt;h3&gt;
  
  
  💥 Blast Radius Analysis
&lt;/h3&gt;

&lt;p&gt;Pick any node → instantly see:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“If I change this, what else is affected?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Perfect for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PR reviews&lt;/li&gt;
&lt;li&gt;Refactoring&lt;/li&gt;
&lt;li&gt;Debugging side effects&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📊 Node Scoring System
&lt;/h3&gt;

&lt;p&gt;Each node gets a score based on:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How much of your app depends on it&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is powered by a &lt;strong&gt;custom algorithm (not AI)&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  📄 Smart Summaries
&lt;/h3&gt;

&lt;p&gt;For each node, you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business summary&lt;/li&gt;
&lt;li&gt;Technical summary&lt;/li&gt;
&lt;li&gt;Security insights&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because the graph provides context, summaries are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More accurate&lt;/li&gt;
&lt;li&gt;Token-efficient&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧩 Code + Commit Insights
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;View code directly from the graph&lt;/li&gt;
&lt;li&gt;Compare commit differences between nodes&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tested on &lt;strong&gt;2,500-node project&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Graph built in &lt;strong&gt;~22 seconds&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Summaries generated in &lt;strong&gt;~25–30 minutes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Total token usage: ~2M (very efficient due to graph context)&lt;/p&gt;




&lt;h2&gt;
  
  
  Real Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  👥 Teams
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Faster onboarding (no more “read the whole repo”)&lt;/li&gt;
&lt;li&gt;Easier knowledge transfer&lt;/li&gt;
&lt;li&gt;Visual PR reviews&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧑‍💻 Solo Developers
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Understand complex logic faster&lt;/li&gt;
&lt;li&gt;Catch hidden issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In one test, the tool detected:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sensitive payment data being logged in server logs of a popular public project&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  🌍 Open Source Maintainers
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Share graph → contributors understand instantly&lt;/li&gt;
&lt;li&gt;Reduce onboarding friction&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why This Matters (Especially Now)
&lt;/h2&gt;

&lt;p&gt;As more developers rely on AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code gets written faster&lt;/li&gt;
&lt;li&gt;But understanding gets weaker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This tool is built to solve exactly that:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bring back clarity and control over your codebase&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Limitations (For Now)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Best support for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Next.js&lt;/li&gt;
&lt;li&gt;Node.js / Express&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Edge accuracy: ~95% (some misses possible)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Route scoring still needs improvement&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  What’s Coming Next (Cloud Version)
&lt;/h2&gt;

&lt;p&gt;Alongside the open-source version, I’m building a cloud version with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chat with your graph (LLM-powered navigation)&lt;/li&gt;
&lt;li&gt;Shareable graphs&lt;/li&gt;
&lt;li&gt;Team collaboration features&lt;/li&gt;
&lt;li&gt;GitHub integration&lt;/li&gt;
&lt;li&gt;Visual PR review workflows&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;The demo video shows a graph built on the &lt;strong&gt;Keystone&lt;/strong&gt; repo (a well-known headless CMS).&lt;/p&gt;

&lt;p&gt;Demo =&amp;gt; &lt;a href="https://www.youtube.com/watch?v=G27jKbVUsTo" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=G27jKbVUsTo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even in such a mature project, the tool was able to surface potential security issues.&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/devlensio/devlensOSS" rel="noopener noreferrer"&gt;https://github.com/devlensio/devlensOSS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Waitlist: &lt;a href="https://devlens.io" rel="noopener noreferrer"&gt;https://devlens.io&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;This started as a personal problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I don’t want to lose understanding of my own code.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Turns out, it might be a bigger problem than I thought.&lt;/p&gt;

&lt;p&gt;If you’ve ever:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Felt lost in a large codebase&lt;/li&gt;
&lt;li&gt;Struggled with onboarding&lt;/li&gt;
&lt;li&gt;Worried about hidden side effects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might find this useful.&lt;/p&gt;

&lt;p&gt;Would love to hear your thoughts 👇&lt;/p&gt;

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