An AI-powered, voice-enabled personal portfolio app built with Streamlit, OpenAI GPT-4 + TTS, and interactive UI components. This project turns your CV into an engaging chat-style experience — complete with narrated summaries and interactive buttons for exploring each section.
- ✅ Clean, dark-themed Streamlit UI
- ✅ Voice playback (OpenAI TTS-1) for each section and subsection
- ✅ Third-person summaries powered by OpenAI GPT
- ✅ Bullet-point explanations for clear readability
- ✅ Subsection drilldown for Education, Experience, Projects, and Publications
- ✅ Caching to avoid redundant API calls
- ✅ Responsive layout with smart section toggles
portfolio-voice-agent/
│
├── app.py # Main Streamlit application
├── cv.json # All structured CV content
├── config.yaml # OpenAI credentials (preferred over .env)
├── requirements.txt # Python dependencies
└── README.md # You're reading it!
- CV is parsed from
cv.json - User selects a section (like Education or Projects)
- A third-person summary is generated via OpenAI GPT
- Text-to-speech audio is generated and auto-plays
- The user can click into sub-sections to explore more
- Bullet summaries are shown for all parts
- Clone the repo
git clone https://github.com/shubbham28/portfolio-voice-agent.git
cd portfolio-voice-agent- Install dependencies
pip install -r requirements.txt- Set your OpenAI API key using
config.yaml
# config.yaml
openai_api_key: your_openai_key_here- Run the app
streamlit run app.py{
"name": "Shubham Gupta",
"contact": {
"email": "[email protected]",
...
},
"education": [...],
"experience": [...],
"projects": [...],
"publications": [...]
}- Streamlit
- OpenAI GPT
- OpenAI TTS-1
- Python 3.10+
- 🎨 Improve visual styling and use better graphics/icons for sections
- 📝 Download CV summaries as PDF/audio
- 🗣️ Add voice input to navigate via speech
- 🌐 Add support for multilingual narration
Developed by Shubbham Gupta — a Data Scientist passionate about AI agents, Bayesian modeling, and interactive storytelling with tech.
MIT License — see LICENSE for details.