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
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
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
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.