Back to selected work

Developer tools · Grounded AI

GitHub Repository Analyzer

Turning a public GitHub repository into an explorable architecture map with evidence-backed explanations.

ReactTypeScriptReact FlowJavaSpring BootSpring AIOllamaPineconeCaffeine
Conceptual illustration of the project approach, not a product screenshot.

The problem

A folder tree tells you where files live, but rarely explains how a codebase fits together. AI summaries are more useful when readers can trace their claims to the actual source and ask follow-up questions in context.

Features

  • Validated public GitHub URL ingestion without cloning
  • Asynchronous analysis jobs with caching and deduplication
  • Interactive repository structure and architecture views
  • Repository- and commit-scoped retrieval for grounded chat

My contribution

Built a repository-analysis tool with a focused folder tree, inferred feature and architecture views, technology summaries, and source-linked chat.

The approach

01

Bound what enters the system

The backend validates the public GitHub URL, then reads repository metadata, the tree, and a focused selection of text files through GitHub’s API. It does not fetch arbitrary user-supplied URLs.

02

Turn files into a navigable explanation

An asynchronous orchestrator sends bounded file groups to Ollama for local summaries. The frontend polls job status, then renders the folder tree, architecture graph, language view, and supporting file links.

03

Keep follow-up answers tied to the source

Local embeddings are indexed in Pinecone under repository and commit keys. Chat retrieves matching chunks before asking Ollama to respond with source links, keeping the conversation tied to the analyzed code version.

The outcome

Local
Model inference with Ollama
RAG
Source-linked chat

The analyzer makes unfamiliar repositories easier to explore while keeping supporting evidence close to the explanation. Its architecture graph is AI-inferred and should be checked against the linked files; model inference runs locally, while vectors are stored in Pinecone.

Next exploration

Built for the rush.