RepoAI.
A conversation with your codebase.
Ask plain-English questions about a GitHub repository. Get answers grounded in the source.
- My role
- Full-stack development
- Context
- Independent project
- Built with
- React, TypeScript, FastAPI, OpenAI, Pinecone, Tree-sitter
What it does
- I built RepoAI to help developers understand unfamiliar GitHub repositories by asking plain-English questions and receiving answers grounded in the source code.
- Created a retrieval-augmented generation pipeline that uses Tree-sitter to parse code into language-aware chunks, preserving structure for more relevant search results.
- Connected OpenAI embeddings with Pinecone vector storage to retrieve code related to each question and supply context for the generated answer.
- Built a React and TypeScript frontend backed by FastAPI ingestion and query endpoints, with modular services separating parsing, retrieval, and the interface.
- Added SlowAPI rate limiting, Pydantic-based environment configuration, and CORS handling, then deployed the frontend on Vercel and the backend on Render.
The starting point
Understanding an unfamiliar repository usually starts with a lot of searching. RepoAI gives developers another entry point: ask a question, then retrieve relevant context from the code itself.
What I worked on
I built the retrieval pipeline and the interface around it, connecting language-aware code parsing with semantic search and a question-and-answer workflow.
Inside the build
Parse code as code.
Tree-sitter breaks repositories into language-aware chunks, giving retrieval more structure than arbitrary blocks of text.
Find the relevant context.
OpenAI embeddings and Pinecone vector storage connect a natural-language question to semantically related source code.
Connect the whole workflow.
FastAPI exposes ingestion and query endpoints to the React and TypeScript frontend. Modular services keep parsing, retrieval, and the interface separate.
What shipped
The result is an end-to-end way to move from a repository URL to questions about its implementation, with rate limiting, environment configuration, and deployment on Vercel and Render.