An AI-powered personal assistant that answers questions about you — built with React (frontend), FastAPI (backend), and Google Gemini (AI).
Recruiters and visitors can ask anything about your experience, skills, and projects in a natural chat interface.
- Chat interface powered by Google Gemini AI
- English / Turkish language toggle
- Dark / Light theme toggle
- CV download links (Turkish & English)
- Social media & contact section in a collapsible sidebar
- Optional Telegram logging for each query
| Layer | Technology |
|---|---|
| Frontend | React, Vanilla CSS |
| Backend | FastAPI (Python) |
| AI | Google Gemini 2.0 Flash via OpenAI-compatible API |
| Icons | Lucide React |
- Python 3.9+
- Node.js 18+
- A Google Gemini API key
git clone https://github.com/YOUR-USERNAME/personal-cv-assistant.git
cd personal-cv-assistantCopy the example env file and fill in your keys:
cp .env .env.localEdit .env:
GEMINI_API_KEY=YOUR_GEMINI_API_KEY_HERE
Edit bilgi.txt with your own information:
- Name, title, education
- Technical skills
- Work experience and projects
- Contact info
pip install -r requirements.txtuvicorn main:app --reloadThe API will be available at http://127.0.0.1:8000.
cd frontend
npm install
npm startOpen http://localhost:3000 in your browser.
| What | Where |
|---|---|
| Your info & bio | bilgi.txt |
| AI personality & name | main.py → system_prompt |
| Bot name & labels | frontend/src/translations.js |
| Profile photo | frontend/public/profile.png |
| CV PDFs | frontend/public/YOUR_CV_TR.pdf, YOUR_CV_EN.pdf |
| Social & contact links | frontend/src/components/Sidebar.js |
You can receive a Telegram notification for every question asked. To enable:
-
Create a bot via @BotFather and get your token.
-
Get your Chat ID via @userinfobot.
-
Fill in
.env:
TELEGRAM_TOKEN=YOUR_TOKEN
TELEGRAM_CHAT_ID=YOUR_CHAT_ID
personal-cv-assistant/
├── bilgi.txt # Your personal data (AI's knowledge base)
├── main.py # FastAPI backend
├── requirements.txt # Python dependencies
├── .env # API keys (never commit this)
└── frontend/
├── public/
│ ├── profile.png # Your profile photo
│ └── *.pdf # Your CV files
└── src/
├── App.js
├── translations.js
└── components/
├── Sidebar.js
└── ChatArea.js
MIT License — feel free to fork and adapt for your own use.

