<?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: Jany Martelli</title>
    <description>The latest articles on DEV Community by Jany Martelli (@janym).</description>
    <link>https://dev.to/janym</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2164001%2F794b98c9-0488-4a73-b1b1-c66195e7de91.jpeg</url>
      <title>DEV Community: Jany Martelli</title>
      <link>https://dev.to/janym</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/janym"/>
    <language>en</language>
    <item>
      <title>I Turned My Git History Into a Galaxy</title>
      <dc:creator>Jany Martelli</dc:creator>
      <pubDate>Mon, 05 Oct 2026 11:02:03 +0000</pubDate>
      <link>https://dev.to/janym/i-turned-my-git-history-into-a-galaxy-k71</link>
      <guid>https://dev.to/janym/i-turned-my-git-history-into-a-galaxy-k71</guid>
      <description>&lt;p&gt;You know that kind of tired, where your body has clearly given up for the day but your brain keeps coming up with new ideas anyway? &lt;/p&gt;

&lt;p&gt;I had been working on the same project for 8 months, day and night. It started as a POC for my Computer Science dissertation, just a handful of files to prove a concept, and 8 months later (because obviously I made it into a full SaaS, &lt;a href="https://patcherly.com" rel="noopener noreferrer"&gt;Patcherly&lt;/a&gt;) it turned into a monster with several hundred files, hundreds of dependencies and sleepless nights.&lt;/p&gt;

&lt;p&gt;I was proud of it, but I also couldn't hold every single moving part in my head anymore, it had simply become too big.&lt;/p&gt;

&lt;p&gt;So one night, instead of letting me sleep like a normal person, my brain went: &lt;strong&gt;hey, what if you could actually see each one of those connections? &lt;br&gt;
What if you could watch the whole thing grow, from the very first commit?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, when you are already exhausted, the sensible thing to do is rest... &lt;em&gt;so obviously I started a second project.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I didn't want another dependency graph or a git stat.&lt;/strong&gt; We have all seen those, they either look super boring or like someone dropped a plate of spaghetti on a whiteboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I wanted was more like a film, see my code evolution through time, with pretty colors&lt;/strong&gt;. Every file is a star, every import is a line between two stars, and each top-level folder gets its own cluster, each star shining brighter depending on its importance, every change reverberating depending on code churn.&lt;br&gt;
You press play and the git history runs from the first commit until today, with files showing up on the day they were actually written.&lt;/p&gt;

&lt;p&gt;That's how &lt;strong&gt;&lt;a href="https://github.com/Jany-M/repo-visualizer" rel="noopener noreferrer"&gt;Repo Visualizer&lt;/a&gt;&lt;/strong&gt; was born. There's a &lt;strong&gt;&lt;a href="https://repovisualizer.netlify.app/" rel="noopener noreferrer"&gt;live demo&lt;/a&gt;&lt;/strong&gt; too, in case you'd rather see it in action on a small repo.&lt;/p&gt;

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

&lt;p&gt;And since apparently I didn't have enough to do already, I also gave it 4 themes: Galaxy (my favorite one), Organic, Neural and Minimal (which is also pretty cool and sort of "more serious").&lt;/p&gt;

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

&lt;p&gt;At first I built it for the animation (and also to show my non-dev friends &amp;amp; fam the project I had been obsessing over for months), but let's be honest, I just wanted to look at something &lt;strong&gt;pretty&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Then I added a small thing: &lt;strong&gt;you click on a star and it tells you what that file depends on, and which other files import it&lt;/strong&gt;. &lt;br&gt;
Guess which part I actually use every day now? &lt;br&gt;
Whenever I need to know what's going to break if I touch a file, that's where I go, instead of searching through hundreds of files (there's a search file function too).&lt;/p&gt;

&lt;p&gt;So the tool I made half asleep, out of curiosity and boredom, ended up being useful... which was never the plan.&lt;/p&gt;

&lt;p&gt;If you want to try it on your own repo, it only takes a minute:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone https://github.com/Jany-M/repo-visualizer&lt;br&gt;
cd repo-visualizer&lt;br&gt;
npm install&lt;br&gt;
npm run analyze -- /path/to/your/repo&lt;br&gt;
npm run dev&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It tracks JS/TS, Python, Go, Rust, Java/Kotlin, Ruby, PHP and CSS and you can export the whole thing as a video or a GIF (it makes for a fun way to explain people that have no idea what we're talking about most of the time, that that's what we do all day, sort of... "see I create files, then connect other files to them... and they all work together").&lt;/p&gt;

&lt;p&gt;It's &lt;strong&gt;open source&lt;/strong&gt;, so go ahead and point it at your repo, and if it looks good share the clip!&lt;/p&gt;

&lt;p&gt;Let me know if you like it and happy coding!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>git</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
