← Back to Portfolio

AI-Powered Portfolio Platform

An end-to-end full-stack application leveraging Retrieval-Augmented Generation (RAG) and Agentic AI to bridge the gap between code repositories and recruiter-friendly portfolios.

Business Context

Recruiters spend less than 10 seconds reviewing a portfolio. Providing an AI chatbot and ATS-optimized bullet points increases interview conversion rates exponentially.

Technical Context

The system ingests GitHub repo data, vectorizes it, and serves it via an LLM to answer user queries with extremely low latency.

Architecture Flow

GitHub
→
Analyzer
→
Gemini
→
RAG Engine
→
Portfolio
→
Recruiter Chatbot

Component Breakdown

  • Client Layer: Next.js 15 for the dashboard and RAG chat interface.
  • Service Orchestrator: FastAPI backend handling JWT auth and GitHub parsing.
  • Intelligence Layer: FAISS Vector Store and Sentence-Transformers for semantic retrieval.
  • LLM Engine: Gemini Pro for text enhancement and Llama 3.1 for RAG querying.

Data Flow

  • GitHub Parser extracts READMEs and repo metrics.
  • Sentence-Transformers chunk and vectorize data into FAISS.
  • User queries the chatbot; backend retrieves top-k vectors.
  • Llama 3.1 synthesizes context and streams the response via SSE.

Infrastructure

ModelsGemini Pro, Llama 3.1 (via Groq), Sentence-Transformers
DatabasesPostgreSQL, FAISS Vector Store, Redis
CachingUpstash Redis
APIsGitHub API, Groq Inference API

Engineering Deep Dive

Challenges

  • LLM Hallucinations: Initial versions of the chatbot invented features the developer hadn't actually built.
  • Latency: Vector search and LLM generation were too slow for a real-time web interface.
  • Data Synchronization: Keeping the vector store updated when underlying GitHub repos changed.

Technical Decisions

Using FAISS over Pinecone

FAISS offered sub-millisecond local retrieval which was critical for minimizing the total round-trip time of the RAG pipeline without network overhead.

FastAPI over Express.js

FastAPI provided native async support and seamless integration with Python-based ML libraries (Sentence-Transformers, LangChain).

Results & Metrics

300 Tok/s
Inference Speed
Achieved via Groq API integration.
Top-3 Hits
Retrieval Accuracy
Semantic accuracy for complex GitHub docs.

Lessons Learned

  • Streaming responses (Server-Sent Events) are mandatory for AI UX; waiting for a block response severely degrades perceived latency.
  • Data quality dictates RAG quality; poorly structured READMEs result in poor chat responses.

Recruiter Takeaways

AI Engineer

Demonstrates full-stack RAG deployment, LLM orchestration, and vector DB management.

ML Engineer

Shows practical understanding of embedding models and retrieval architectures.

Startup Founder

Built a complete, monetizable SaaS product from scratch with auth and a database.

Software Engineer

Clean microservice separation between a Next.js client and FastAPI Python backend.