# Rwanda Tourist Assistant
Rwanda Tourist Assistant is a RAG-powered (Retrieval-Augmented Generation) AI assistant designed to provide personalized, grounded tourism recommendations for Rwanda. It combines a high-performance React frontend with a serverless backend and a vector database for intelligent discovery.
---
## 🚀 Key Features
- **AI-Powered Discovery:** Interactive AI assistant using **Hugging Face (Qwen2.5-72B)** to recommend experiences based on natural language and user preferences.
- **Grounded Recommendations (RAG):** AI responses are grounded in a curated knowledge base of over 100+ Rwandan destinations and experiences.
- **Advanced Preference Engine:** Filter searches by experience type (Nature, Culture, Adventure), budget (Economy to Luxury), and duration.
- **Multilingual Support:** Fully localized in **English, French, and Kinyarwanda**.
- **Dark Mode Support:** Modern, immersive UI with seamless theme switching.
- **Voice Interface:** Mocked voice assistant with advanced animations and feedback.
- **Chat Persistence:** Saved local chat sessions with intelligent title generation.
- **API Rate Limiting:** Integrated Upstash Redis to prevent LLM API abuse.
---
## đź› Tech Stack
- **Frontend:** React 19, TypeScript, Chakra UI, Framer Motion.
- **AI/Backend:** Vercel Serverless Functions, Hugging Face Inference API.
- **Database (Vector Search):** Supabase Vector (PostgreSQL + pgvector).
- **Rate Limiting:** Upstash Redis.
- **Deployment:** Vercel.
---
## đź“‹ Prerequisites
To develop on this project, you need the following tools installed:
1. **Node.js & npm:** (v18+ recommended)
2. **Git:** For version control.
3. **Vercel CLI:** For local serverless function development.
```bash
npm install -g vercel
```
4. **Supabase CLI:** (Optional, but recommended for database migrations)
```bash
npm install -g supabase
```
5. **GitHub CLI:** For managing PRs and repos from the terminal.
---
## ⚙️ Setup & Installation
### 1. Clone the Repository
` …