A curated collection of Generative AI applications, rapid prototypes, and learning experiments built while exploring modern AI technologies.
This repository contains smaller AI projects that focus on experimenting with Large Language Models (LLMs), Retrieval-Augmented Generation (RAG), AI Agents, Prompt Engineering, and Full-Stack AI Development.
Unlike flagship repositories, these projects are intentionally lightweight and exploratory — serving as proof-of-concepts, learning exercises, and rapid prototypes.
- Technologies
- Projects
- Repository Structure
- Getting Started
- Development Journey
- Contributing
- Acknowledgements
| Category | Technologies |
|---|---|
| Languages | Python, HTML, CSS, JavaScript |
| LLMs | Google Gemini 2.0 Flash, Ollama (Llama 3.2), Groq (LLaMA 3 8B) |
| Frameworks | Flask, Streamlit |
| AI/ML Libraries | LangChain, LangChain-Google-GenAI, google-generativeai, Ollama Python SDK, Sentence Transformers, HuggingFace Transformers |
| Vector Databases | ChromaDB, LangChain-Chroma |
| NLP / Embeddings | Sentence Transformers (MiniLM-L6-v2, paraphrase-MiniLM-L6-v2), HuggingFace Embeddings |
| Speech / Voice | OpenAI Whisper, SpeechRecognition, ElevenLabs TTS, Google Speech Recognition, PyAudio |
| Orchestration | LangChain (Chains, Prompt Templates, Memory, Text Splitters) |
| Data & Visualization | Pandas, NumPy, Matplotlib, Seaborn, SQLite |
| External APIs | World Time API, Open Exchange Rates API, Groq API, ElevenLabs API |
| Security | OWASP Top 10 2021, Automated vulnerability analysis |
| Frontend | Streamlit (rapid prototyping), Custom HTML/CSS/JS (production-style UI), Font Awesome, Animate.css |
| Environment | python-dotenv, virtualenv, Flask-CORS |
| Templating | Jinja2 (Flask templates) |
An interactive AI-powered Data Science tutor that provides expert guidance, explanations, and code examples for various data science concepts.
Detailed Documentation: Data Science Tutor AI — Comprehensive Documentation
- Interactive Q&A — Ask any data science question and get detailed, expert responses
- Code Examples — Receive Python code examples for practical implementation
- Conversational Memory — Version 1 maintains chat history for contextual, multi-turn responses
- Wide Coverage — Supporting topics including:
- Machine Learning Algorithms
- Statistical Analysis
- Data Preprocessing
- Python Data Science Libraries (NumPy, Pandas, Scikit-learn, etc.)
- Data Visualization
- Model Evaluation
- Advanced Data Science Techniques
| Area | Details |
|---|---|
| Frontend | Streamlit |
| LLM | Google Gemini 2.0 Flash |
| Orchestration | LangChain (LLMChain, ChatPromptTemplate, ConversationBufferMemory) |
| Key Feature | Conversational memory for multi-turn context |
| Area | Details |
|---|---|
| Frontend | Custom HTML/CSS |
| Backend | Flask |
| LLM | Ollama (Llama 3.2, locally hosted) |
| Key Feature | Fully offline, custom UI, enhanced prompt engineering |
A web-based AI-powered tool that reviews Python code, detects bugs, suggests improvements, and generates human-friendly documentation using language models.
Detailed Documentation: AI Code Reviewer — Documentation
- Bug Detection — Identify potential bugs and errors in Python code
- Code Improvement — Get suggestions for better code quality, readability, and structure
- Corrected Code — Receive fixed versions of submitted code
- Documentation Generation — Generate human-friendly explanations of code functionality
- Context Filtering — Strict prompt rules to only respond to code-related queries
| Area | Details |
|---|---|
| Frontend | Streamlit |
| LLM | Google Gemini 2.0 Flash (via google.generativeai) |
| Config | .env file for API key management |
| Key Feature | Quick prototyping with simple input/output layout |
| Area | Details |
|---|---|
| Frontend | Custom HTML/CSS |
| Backend | Flask |
| LLM | Ollama (Llama 3.2, locally hosted) |
| Key Feature | Offline processing, robust prompt engineering, custom UI |
An advanced semantic search engine that identifies movies based on memorable quotes and dialogue lines using Natural Language Processing and vector embeddings. Includes a Marvel Cinematic Universe subtitle dataset with 23 movies.
Detailed Documentation: Building a Movie Subtitle Search Engine — From AI-Assisted to Self-Coded Development
- Semantic Search — Find movies using natural language queries, not just exact keyword matches
- Vector Embeddings — Uses Sentence Transformers for accurate semantic matching
- Real-time Search — Fast similarity search with confidence scoring
- Audio Support — Convert speech to text for voice-based searches (Version 1)
- Advanced Filtering — Filter by genre, year, language, and sentiment (Version 1)
- Data Visualization — Sentiment distribution and movie analytics (Version 1)
- RESTful API — JSON endpoints for search and health check (Version 2)
- Extensible — Easy to add new movie subtitle files and expand the database
| Area | Details |
|---|---|
| Frontend | CLI / Script-based |
| Embeddings | Sentence Transformers (all-MiniLM-L6-v2) |
| Vector DB | ChromaDB |
| Database | SQLite (in-memory) |
| Speech-to-Text | OpenAI Whisper |
| Visualization | Matplotlib, Seaborn |
| Key Feature | Advanced analytics, audio processing, sentiment filtering |
| Area | Details |
|---|---|
| Frontend | Custom HTML/CSS/JS |
| Backend | Flask |
| Embeddings | HuggingFace Embeddings (paraphrase-MiniLM-L6-v2) |
| Vector DB | ChromaDB (via LangChain-Chroma) |
| Text Processing | LangChain CharacterTextSplitter |
| Key Feature | Clean web UI, RESTful API, efficient chunked search |
AI-powered OWASP Top 10 vulnerability scanner using Ollama and LLaMA for automated code and web security analysis with a Flask interface. Supports both direct code input and URL-based content fetching.
Detailed Documentation: OWASP AI Vulnerability Scanner
- AI-Powered Analysis — Uses LLaMA 3.2 model via Ollama for intelligent vulnerability detection
- OWASP Top 10 Coverage — Comprehensive analysis covering all OWASP Top 10 2021 categories (A01–A10)
- Dual Input Methods — Analyze source code directly or fetch content from URLs
- Risk Assessment — Categorizes vulnerabilities by severity (Critical, High, Medium, Low)
- Detailed Reports — Provides vulnerability descriptions, locations, and remediation suggestions
- RESTful API — JSON API endpoints (
/analyze,/health) for integration with other tools - Interactive Web Interface — Modern, responsive UI with tabbed input, loading states, and expandable results
| Area | Details |
|---|---|
| Frontend | Custom HTML/CSS/JS (inline template) |
| Backend | Flask |
| LLM | Ollama (Llama 3.2, locally hosted) |
| Security Framework | OWASP Top 10 2021 |
| API | RESTful JSON (/analyze, /health) |
| Key Feature | Dual code/URL analysis, severity-based risk badges, structured JSON reports |
An AI-powered travel recommendation app that combines Google Gemini and Ollama to provide personalized destination insights, including restaurants, hotels, attractions, real-time weather, local time, and currency exchange rates.
Detailed Documentation: AI Travel Planner — Technical Documentation
- Travel Recommendations — AI-generated suggestions for restaurants, hotels, attractions, and activities
- Local Information — Current weather, local time, and currency exchange rates for any destination
- Destination Insights — Cultural and contextual information powered by Gemini
- Multi-Model Pipeline — Gemini provides context, Ollama generates personalized recommendations
- Modern UI — Dark-themed, responsive interface with smooth animations (Version 2)
- Safety Tips — Travel safety recommendations and precautions (Version 1)
- Weather API — Dedicated endpoint for location-based weather data
| Area | Details |
|---|---|
| Frontend | Streamlit (dark-themed custom CSS) |
| LLM | Google Gemini 2.0 Flash |
| Orchestration | LangChain (LLMChain, PromptTemplate) |
| Key Feature | Travel options with cost estimates, safety tips, multi-mode transport |
| Area | Details |
|---|---|
| Frontend | Custom HTML/CSS/JS (Font Awesome, Animate.css) |
| Backend | Flask |
| LLMs | Google Gemini 2.0 Flash + Ollama (Llama 3.2) |
| External APIs | World Time API, Open Exchange Rates API |
| Key Feature | Multi-model pipeline, real-time weather/currency, RESTful weather endpoint |
An AI-powered medical receptionist system that handles patient verification calls through both text and voice interactions. Features voice-to-voice conversation with multiple AI voice options, powered by Groq LLaMA 3, ElevenLabs TTS, and Google Speech Recognition.
- Voice-to-Voice Interaction — Full conversational AI with speech recognition and text-to-speech
- Patient Verification — Automated verification against a patient database using name, phone, and date of birth
- Multiple Voice Options — 8 different AI voices (male/female, various tones) via ElevenLabs
- Session Management — Maintains conversation context across interactions
- Real-time Audio — Instant speech synthesis and playback
- RESTful API — Clean endpoints for text chat, voice chat, TTS, audio retrieval, and session reset
- Health Check — Status endpoint with active session count and feature flags
| Area | Details |
|---|---|
| Frontend | Custom HTML/JS (template-based) |
| Backend | Flask, Flask-CORS |
| LLM | Groq LLaMA 3 8B (via Groq API) |
| Text-to-Speech | ElevenLabs API (multilingual v2, 8 voice options) |
| Speech-to-Text | Google Speech Recognition (via SpeechRecognition + PyAudio) |
| Data | JSON-based patient records |
| API | RESTful (/chat, /voice_chat, /speak, /get_audio, /voices, /status, /reset) |
| Key Feature | Voice-to-voice medical receptionist, multi-voice selection, session-based conversation |
GenAI-Playground/
│
├── AI_DS_Tutor/ # Data Science Tutor AI
│ ├── version_1/
│ │ └── AI_DS_Tutor.py # Streamlit + LangChain + Gemini app
│ ├── version_2/
│ │ ├── app.py # Flask application entry point
│ │ ├── utils/
│ │ │ └── functions.py # Ollama integration & prompt logic
│ │ └── templates/
│ │ └── index.html # Custom HTML/CSS frontend
│ ├── requirements.txt # Combined dependencies
│ └── README.md # Project-specific documentation
│
├── AI_code_reviewer/ # AI Code Reviewer
│ ├── version_1/
│ │ ├── app.py # Streamlit + Gemini API app
│ │ └── .env # Google API key config
│ ├── version_2/
│ │ ├── app.py # Flask application entry point
│ │ ├── utils/
│ │ │ └── functions.py # Ollama integration & review logic
│ │ └── templates/
│ │ └── index.html # Custom HTML/CSS frontend
│ └── README.md # Project-specific documentation
│
├── Advanced-Semantic-Search-Engine/ # Movie Subtitle Search Engine
│ ├── version_1/
│ │ └── AI_SEO.py # Sentence Transformers + Whisper + ChromaDB
│ ├── version_2/
│ │ ├── app.py # Flask + LangChain-Chroma app
│ │ ├── templates/
│ │ │ └── index.html # Custom HTML/CSS/JS frontend
│ │ ├── subtitles/ # Movie subtitle files (.txt) — 23 MCU films
│ │ └── app.ipynb # Jupyter notebook demo
│ ├── requirements.txt # Combined dependencies
│ └── README.md # Project-specific documentation
│
├── owasp-ai-vulnerability-scanner/ # OWASP AI Vulnerability Scanner
│ ├── app.py # Flask app with inline HTML template
│ └── README.md # Project-specific documentation
│
├── Travel_planner/ # AI Travel Planner
│ ├── version_1/
│ │ └── Travel_Planner.py # Streamlit + LangChain + Gemini app
│ ├── version_2/
│ │ ├── app.py # Flask + Gemini + Ollama app
│ │ ├── .env # Gemini API key config
│ │ └── templates/
│ │ └── index.html # Dark-themed HTML/CSS/JS frontend
│ ├── requirements.txt # Combined dependencies
│ └── README.md # Project-specific documentation
│
├── Voice_agents/ # Medical Receptionist Voice Agent
│ ├── main.py # Flask + Groq + ElevenLabs app
│ ├── templates/
│ │ └── index.html # Web interface for chat & voice
│ └── README.md # Project-specific documentation
│
└── README.md # ← You are here
- Python 3.8+
- Google API Key (for Streamlit/Gemini versions) — Get one here
- Ollama (for Flask/local LLM versions) — Download here
- Groq API Key (for Voice Agent) — Get one here
- ElevenLabs API Key (for Voice Agent TTS) — Get one here
git clone https://github.com/MONARCH1108/GenAI-Playground.git
cd GenAI-PlaygroundVersion 1 — Streamlit + Gemini
# Install dependencies
pip install streamlit langchain langchain-google-genai
# Set your Google API key
export GOOGLE_API_KEY="your-api-key" # Linux/Mac
set GOOGLE_API_KEY=your-api-key # Windows CMD
$env:GOOGLE_API_KEY="your-api-key" # Windows PowerShell
# Run the app
streamlit run AI_DS_Tutor/version_1/AI_DS_Tutor.pyVersion 2 — Flask + Ollama
# Install dependencies
pip install flask ollama
# Pull the Llama 3.2 model (requires Ollama running)
ollama pull llama3.2:latest
# Run the app
python AI_DS_Tutor/version_2/app.pyThe application will be available at http://127.0.0.1:5000/
Version 1 — Streamlit + Gemini
# Install dependencies
pip install streamlit google-generativeai python-dotenv
# Set your Google API Key in .env
echo GOOGLE_API_KEY=your_key_here > AI_code_reviewer/version_1/.env
# Run the app
streamlit run AI_code_reviewer/version_1/app.pyVersion 2 — Flask + Ollama
# Install dependencies
pip install flask ollama
# Make sure Ollama is installed and the model is pulled
ollama pull llama3.2:latest
# Run the app
python AI_code_reviewer/version_2/app.pyThe application will be available at http://127.0.0.1:5000/
Version 1 — Python Script + Whisper
cd Advanced-Semantic-Search-Engine
# Install dependencies
pip install -r requirements.txt
# Run the search engine
python version_1/AI_SEO.pyVersion 2 — Flask + ChromaDB (Recommended)
cd Advanced-Semantic-Search-Engine
# Install dependencies
pip install flask langchain-chroma langchain-huggingface chromadb sentence-transformers
# Add movie subtitle files (.txt) to version_2/subtitles/ directory
# A Marvel Cinematic Universe dataset (23 films) is included
# Run the app
python version_2/app.pyThe application will be available at http://localhost:5000/
Setup & Run
cd owasp-ai-vulnerability-scanner
# Install dependencies
pip install flask requests
# Make sure Ollama is installed and running
ollama pull llama3.2:latest
ollama serve
# Run the app
python app.pyThe application will be available at http://localhost:5000/
Health check endpoint: http://localhost:5000/health
Version 1 — Streamlit + Gemini
cd Travel_planner
# Install dependencies
pip install streamlit langchain langchain-google-genai
# Set your Google API key
export GOOGLE_API_KEY="your-api-key" # Linux/Mac
$env:GOOGLE_API_KEY="your-api-key" # Windows PowerShell
# Run the app
streamlit run version_1/Travel_Planner.pyVersion 2 — Flask + Gemini + Ollama
cd Travel_planner/version_2
# Install dependencies
pip install flask ollama google-generativeai python-dotenv requests
# Create .env file with your Gemini API key
echo GEMINI_API_KEY=your_key_here > .env
# Pull the Llama 3.2 model (requires Ollama running)
ollama pull llama3.2:latest
# Run the app
python app.pyThe application will be available at http://localhost:5000/
Setup & Run
cd Voice_agents
# Install dependencies
pip install flask flask-cors requests python-dotenv elevenlabs speechrecognition pyaudio
# Create .env file with API keys
echo GROQ_API_KEY=your_groq_key_here > .env
echo ELEVENLABS_API_KEY=your_elevenlabs_key_here >> .env
# (Optional) Create data.json with patient records — sample data is used by default
# Run the app
python main.pyThe application will be available at http://localhost:5000/
Each project follows a dual-version architecture (where applicable) that documents a deliberate learning progression:
| Phase | Version 1 (Assisted Build) | Version 2 (Self-Built) |
|---|---|---|
| Approach | Built with guidance from ChatGPT and tutorials | Developed independently from scratch |
| Frontend | Streamlit / CLI (rapid prototyping) | Custom HTML/CSS/JS (production-style) |
| LLM / ML | Google Gemini API (cloud), Whisper | Ollama + Llama 3.2 (local), HuggingFace, Groq |
| Architecture | Single-file, API-dependent | Modular Flask app with utils & templates |
| Key Learning | API calls, prompt structuring, quick prototyping | Full-stack development, backend routing, HTML templating, local LLM deployment |
This dual-implementation approach demonstrates:
- Different architectural choices for AI-powered applications
- Progression from cloud APIs to locally-hosted models
- Growth from assisted development to independent full-stack builds
- Enhanced prompt engineering and error handling in self-built versions
- Exploration of vector databases and semantic search pipelines
- Application of AI to cybersecurity (OWASP vulnerability scanning)
- Multi-model pipelines combining cloud + local LLMs (Travel Planner)
- Voice-to-voice AI agents with TTS and speech recognition
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- LangChain — LLM orchestration framework
- Streamlit — Rapid ML/AI app prototyping
- Flask — Lightweight Python web framework
- Google Gemini API — Cloud-hosted large language model
- Ollama — Run open-source LLMs locally
- Meta Llama 3.2 — Open-source language model
- Groq — Fast AI inference API
- ElevenLabs — AI text-to-speech platform
- ChromaDB — Open-source vector database
- Sentence Transformers — State-of-the-art text embeddings
- HuggingFace — ML model hub and transformers library
- OpenAI Whisper — Speech-to-text model
- OWASP — Open Web Application Security Project
- World Time API — Timezone and local time data
- Open Exchange Rates — Currency exchange rate API