GitInsight AI is a simple GitHub profile analyzer built with FastAPI, Streamlit, and LangGraph.
Enter a GitHub username and the app reviews the profile using multiple AI-assisted agents, then shows:
- Profile overview
- Repository insights
- README and contribution signals
- Collaboration activity
- Recruiter readiness score
- AI mentor feedback
The app uses an 8-agent workflow:
- Profile Extractor
- Repository Analyzer
- README Evaluator
- Contribution Intelligence
- Code Quality Analyzer
- Open Source Collaboration
- Recruiter Readiness
- AI Mentor
The flow is not fully linear:
Profile Extractorruns firstRepository Analyzercollects repo data- The analysis then fans out to README, contribution, code-quality, and collaboration agents
- Their outputs are combined by
Recruiter Readiness AI Mentorproduces the final summary and next steps
The current Streamlit app includes:
- A simple landing section
- Score cards for readiness, impact, language, and external PRs
- A mentor-first summary block near the top
- Profile metrics and score breakdown charts
- Repository cards with language, stars, forks, and update time
- A workflow panel showing the multi-agent pipeline
- Backend: FastAPI
- Frontend: Streamlit
- Agent orchestration: LangGraph
- LLM: Groq via
langchain-groq - Data source: GitHub REST API
git clone <your-repo-url>
cd GitInsight
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtCreate a .env file in the project root:
GROQ_API_KEY=your_groq_api_key_here
GITHUB_TOKEN=your_github_token_hereNotes:
GROQ_API_KEYis required for the AI-generated code-quality and mentor outputs.GITHUB_TOKENis recommended to avoid strict GitHub rate limits.
Start the FastAPI backend:
uvicorn main:app --reloadStart the Streamlit frontend in another terminal:
streamlit run ui/app.pyOptional:
- Set
GITINSIGHT_API_URLif your backend is running somewhere other thanhttp://127.0.0.1:8000
Example:
export GITINSIGHT_API_URL=http://127.0.0.1:8000
streamlit run ui/app.pyHealth check endpoint.
Runs the GitHub analysis workflow and returns:
profilerepositoriesmetricsdetailsfeedbackworkflowerrors
Demo video:
