Command Palette

Search for a command to run...

Command Palette

Search for a command to run...

Projects

RepoViz interactive repository D3 graph showing file hierarchy and dependencies
Github
Website
Post

RepoViz

Live
RoleFrontend Developer Tool Builder
TeamSolo
TimelineOct 2025

Overview

RepoViz is an AI-assisted developer tool for visualizing a public GitHub repository as an interactive graph. The app accepts a repository URL, asks Gemini 2.5 Flash to return structured JSON, then converts that data into D3 nodes and links representing the repo root, folders, files, languages, and dependencies.

The product is built with React 19, TypeScript, Vite, D3, and @google/genai. The useful part is the workflow: AI turns an unknown repo into a typed graph model, D3 renders it with zoom and drag interactions, and the sidebar gives users practical controls for file visibility, dependency filtering, layout mode, node colors, and link styling.

Architecture

Rendering diagram...
pinch · drag

Challenges & Solutions

1

AI output has to be machine-usable, not just descriptive

The Gemini call uses a response schema so the app receives predictable RepoData with language, dependency, and file-tree fields.

2

Repository graphs get cluttered quickly

The service limits the generated tree depth and the UI adds visibility controls for file nodes and dependency groups.

3

A static graph is not enough for inspection

The D3 view supports zooming, dragging, tooltips, layout switching, custom colors, and custom link styling.

AI-generated repository maps

Input

Repo URL

Users enter a public GitHub repository URL for AI analysis.

Analysis

JSON schema

Gemini returns structured repo metadata, dependencies, languages, and file tree nodes.

Visualization

D3 graph

D3 renders draggable, zoomable nodes with force, radial, and hierarchical layouts.

Features

  • Gemini 2.5 Flash repository analysis through @google/genai
  • Structured JSON schema for repo name, description, language usage, dependencies, and file tree
  • D3 force-directed graph with draggable nodes, zoom, links, labels, and tooltips
  • Node categories for repository root, folders, files, languages, and dependencies
  • Sidebar visibility controls for file tree nodes and dependency groups
  • Layout switching between force-directed, radial, and hierarchical views
  • Customizable node colors and link styling