DevInsight AI is a full-stack Retrieval-Augmented Generation developer assistant. Upload a codebase or technical document, then ask practical engineering questions such as:
- "Explain this project"
- "Find bugs"
- "What does this function do?"
- "Where are the API routes defined?"
The app reads your files, chunks the content, embeds the chunks into FAISS, retrieves the most relevant context for each question, and sends that grounded context to an LLM for a structured developer-focused answer.
| Layer | Technology |
|---|---|
| Backend | Python, FastAPI, Uvicorn |
| RAG | LangChain, RecursiveCharacterTextSplitter |
| Vector Store | FAISS |
| LLM + Embeddings | Gemini API via langchain-google-genai |
| Frontend | React, Vite, TailwindCSS |
| HTTP Client | Axios |
| DevOps | Dockerfile, GitHub Actions CI |
Note: The original architecture is provider-agnostic through LangChain. This repository is currently configured for Gemini because it works without an OpenAI API key. You can swap the embedding/chat services to OpenAI if preferred.
User -> Upload -> Chunk -> Embed -> FAISS -> Query -> Retrieve -> LLM -> Answer
React + Tailwind UI
|
| Axios
v
FastAPI API
|
| Load zip/source/doc files
v
RecursiveCharacterTextSplitter
|
| Gemini embeddings
v
FAISS vector index
|
| similarity_search(top-k)
v
Prompt + Gemini chat model
|
v
Answer + retrieved source context
- Upload
.zip,.py,.js,.jsx,.ts,.tsx,.txt,.md,.json,.yaml,.css, and.htmlfiles. - In-memory zip processing to avoid Windows/OneDrive upload file locks.
- Structure-aware chunking with LangChain.
- Local FAISS vector storage.
- Senior-developer system prompt for architecture explanations and bug analysis.
- Optional retrieved-context toggle in the chat UI.
- Dark, responsive, recruiter-friendly interface.
- Error sanitization so API keys are not leaked in frontend messages.
- Dockerfile for backend deployment.
- GitHub Actions CI for backend import and frontend build.
devinsight-ai/
βββ backend/
β βββ app/
β β βββ routes/
β β βββ services/
β β βββ utils/
β β βββ config.py
β β βββ main.py
β βββ Dockerfile
β βββ requirements.txt
β βββ .env.example
βββ frontend/
β βββ public/screenshots/
β βββ src/
β β βββ components/
β β βββ api.js
β β βββ App.jsx
β βββ package.json
βββ .github/workflows/ci.yml
βββ .gitignore
βββ LICENSE
βββ README.md
git clone https://github.com/pun33th45/RAG-Based-Developer-Assistant.git
cd RAG-Based-Developer-Assistantcd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtCreate backend/.env:
GOOGLE_API_KEY=your_gemini_api_key_hereRun the API:
uvicorn app.main:app --reloadBackend:
http://localhost:8000
Health check:
http://localhost:8000/health
Swagger docs:
http://localhost:8000/docs
cd frontend
npm install
npm run devFrontend:
http://localhost:5173
Uploads and indexes a supported source/document file or zip archive.
{
"message": "Upload indexed successfully.",
"filename": "repo.zip",
"documents": 12,
"chunks": 48
}Asks a question against the indexed project context.
{
"question": "Find potential bugs",
"k": 5
}Response:
{
"answer": "The project has a possible authentication issue...",
"sources": [
{
"source": "app/auth.py",
"file_type": ".py",
"content": "..."
}
]
}cd backend
docker build -t devinsight-ai-backend .
docker run --env-file .env -p 8000:8000 devinsight-ai-backend- "Explain this project"
- "Explain the architecture"
- "Find bugs"
- "What does this function do?"
- "How can this codebase be improved?"
- Multi-project indexes and index reset controls.
- Streaming responses.
- Authentication and per-user workspaces.
- Pinecone or hosted vector database option.
- GitHub repository ingestion by URL.
- Syntax-highlighted retrieved context.
Built by Puneeth Raj.


