A full-stack, production-grade Question Answering Chatbot built using Gemini API, Python Flask, and Bootstrap. This app mimics the ChatGPT-style UI by rendering structured Markdown responses from Gemini, including code blocks, headers, and lists.

Layer | Technology |
---|---|
Frontend | HTML, CSS, Bootstrap 5, Vanilla JS |
Backend | Python, Flask |
AI/LLM | Google Gemini Pro (via google-generativeai ) |
API Key Mgmt | python-dotenv |
Markdown Rendering | markdown Python library |
- ✅ ChatGPT-style Markdown rendering (code blocks, headings, lists)
- ✅ Gemini-powered accurate responses using
gemini-pro
- ✅ Clean Bootstrap UI with responsive design
- ✅ JavaScript-powered asynchronous chat (no page reload)
- ✅ Error-handling for broken requests
- ✅ Easily extensible to include login, memory, tools, etc.
gemini_chatbot/
├── app.py # Flask backend
├── .env # API keys (not shared)
├── requirements.txt # Dependencies
├── templates/
│ └── index.html # Frontend UI
├── static/
│ └── style.css # Optional custom styles
git clone https://github.com/<your-username>/gemini-chatbot.git
cd gemini-chatbot
GEMINI_API_KEY=your_gemini_api_key_here
🔐 Keep this file private and never share your API key publicly.
pip install -r requirements.txt
If you don’t have requirements.txt
, manually install:
pip install flask google-generativeai markdown python-dotenv
python app.py
Then visit: http://127.0.0.1:5000
Prompt | Response Style |
---|---|
Give for loop code in Python |
Code + explanation |
What is a dictionary in Python? |
Bullet points + example |
Write HTML code for a login form |
Rendered code block |
Explain AI in 3 bullet points |
Structured Markdown |
You can easily extend this app into:
- 🔐 User authentication system
- 💬 Persistent chat history (local DB / SQLite)
- 🧠 LangChain or Agentic AI integration
- 🧾 Export conversation to PDF or Markdown
- 🌐 Deploy on Render, Vercel, or Railway
- 📲 Mobile-responsive design
Platform | Status |
---|---|
Render.com | ✅ Easy Flask deploy |
Railway.app | ✅ One-click deploy |
Heroku (legacy) | |
Docker | ✅ Production-ready container |
This project is licensed under the MIT License. Feel free to fork, modify, and use in commercial or educational projects. ⭐
🔗 Developed by Md Emon Hasan 📧 Email: iconicemon01@gmail.com 💼 GitHub: Md-Emon-Hasan 📱 WhatsApp: +8801834363533