How jayanthcsv/complete_portfolio works
This repository is a Flask-backed personal portfolio with a resume-question chatbot. A visitor uses the portfolio UI to submit a question; the browser posts it to Flask, which retrieves relevant resume content and returns a concise answer from an LLM. The backend’s document loading, chunking, embedding, indexing, retrieval, prompt, and response-chain stages are visible in app.py. The README also describes responsive navigation, project cards, and chatbot styling; their detailed markup and styling interactions were not sampled.
Main entry points: app.py Flask Chat Endpoint · script.js Browser Interactions · chatbot_data.pdf Resume PDF · index.html Portfolio Page
Components 16
Portfolio UI
- Portfolio Page
index.html - Responsive Styles
style.css - Media Styles
mediaqueries.css - Browser Interactions
script.js
Chat API
- Flask Chat Endpoint
app.py
Resume RAG
- Resume PDF
assets/chatbot_data.pdf - PDF Loader
app.py - Text Splitter
app.py - Embedding Model
app.py - FAISS Index
app.py - Retriever
app.py
Answer Generation
- Retrieval Chain
app.py - Document Chain
app.py - Answer Prompt
app.py - Groq Chat Model
app.py
Other components
- Visitor
Connections 17
- Visitor → Portfolio Page: views
README.md - Visitor → Browser Interactions: uses chat
README.md - Browser Interactions → Flask Chat Endpoint: posts query
script.js - Flask Chat Endpoint → PDF Loader: loads PDF
app.py - Resume PDF → PDF Loader: provides resume
app.py - Flask Chat Endpoint → Text Splitter: splits documents
app.py - Flask Chat Endpoint → Embedding Model: creates embeddings
app.py - Flask Chat Endpoint → FAISS Index: builds index
app.py - Flask Chat Endpoint → Retriever: creates retriever
app.py - FAISS Index → Retriever: provides search
app.py - Flask Chat Endpoint → Document Chain: creates chain
app.py - Flask Chat Endpoint → Retrieval Chain: creates and invokes
app.py - Retriever → Retrieval Chain: supplies documents
app.py - Document Chain → Retrieval Chain: combines documents
app.py - Flask Chat Endpoint → Answer Prompt: configures chain
app.py - Flask Chat Endpoint → Groq Chat Model: configures chain
app.py - Retrieval Chain → Flask Chat Endpoint: returns answer
app.py