Inspiration

As a freelance developer, I constantly found myself spending hours manually reviewing code — mine and others'. Code reviews are critical but time-consuming, and solo developers rarely get the luxury of a peer reviewer. I wanted to build a tool that acts like a senior engineer always available to review your code, catch bugs, suggest improvements, and explain issues in plain language.

What I Learned

  • How to build stateful multi-step AI agents using LangGraph
  • Integrating GitHub API to fetch real repository files and diffs
  • Using Groq's ultra-fast inference for near-instant LLM responses
  • Designing agentic workflows where the AI can reason, plan, and act in loops
  • The importance of prompt engineering for structured code analysis output

How I Built It

The system works in a pipeline:

  1. GitHub API fetches the target repository's files or pull request diffs
  2. LangGraph orchestrates an agent graph with nodes for: fetching code → analyzing → generating structured review → formatting output
  3. Groq (LLaMA 3) powers the LLM reasoning at high speed
  4. FastAPI exposes the backend as REST endpoints
  5. React frontend lets users paste a GitHub repo URL and get a full review in seconds

The agent follows a ReAct-style loop — it can re-examine files, cross-reference issues, and produce a final structured report with:

  • 🐛 Bug detections
  • ⚡ Performance suggestions
  • 🔐 Security warnings
  • ✅ Best practice recommendations

Challenges

  • LangGraph state management — keeping context across multiple agent nodes without losing file references was tricky
  • GitHub API rate limits — had to implement smart caching for large repos
  • Prompt tuning — getting the LLM to return consistent structured output (not freeform text) required significant iteration
  • Latency optimization — chaining multiple LLM calls needed careful async handling to keep response times acceptable.

Built With

  • javascript
  • langchain-fastapi
  • python
  • react-groq-api-(llama-3.3-70b)-github-rest-api-supabase-(auth-&-db)-uvicorn
  • typescript-langgraph
Share this project:

Updates