A bot that helps you navigating major cities in Kenya Aligning with SDG11.
# MtaaAgentProject
A comprehensive Kenyan city survival assistant that helps users navigate, survive, explore, and relocate in Kenyan cities through intelligent data scraping, AI-powered recommendations, and personalized itinerary generation.
## 🏗️ Project Structure
```
MtaaAgentProject/
├── agent/
│ ├── __init__.py
│ ├── scraper.py # All web scraping logic
│ ├── prompt_templates.py # Prompt templates for HuggingFace model
│ ├── agent_runner.py # Core class running agent tasks
│ ├── cache.py # Caching scraped results (diskcache)
│ ├── itinerary.py # Itinerary generation logic
│ └── [existing files...] # Other existing agent files
│
├── models/
│ └── hf_model.py # HuggingFace transformer interface
│
├── ui/
│ ├── style.css # Custom Streamlit styling
│ └── components.py # Shared UI components (cards, loaders)
│
├── cache/ # Auto-generated cache directory
├── main.py # Main Streamlit entry point
├── example_usage.py # Example usage demonstration
├── requirements.txt # Dependencies
└── README.md # This file
```
## 🚀 Quick Start
1. **Install Dependencies**
```bash
pip install -r requirements.txt
```
2. **Run the Streamlit App**
```bash
streamlit run main.py
```
3. **Try the Example Script**
```bash
python example_usage.py
```
## 🧩 Key Components
### AgentTaskRunner
The core orchestrator class that coordinates all agent functionality:
```python
from agent.agent_runner import AgentTaskRunner
runner = AgentTaskRunner(city="Nairobi", budget=50000, goal="Survive")
results = runner.run_all_tasks()
```
### HuggingFace Model Interface
AI-powered responses using transformer models:
```python
from models.hf_model import ask_model
response = ask_model("What are good areas to live in Nairobi?")
```
### Smart Caching
Persistent caching for scraped data:
```python
from agent.cache …