AI-driven Darija assistant bridging citizens and bureaucracy built at HackAI Hackathon by UM6P & 1337AI empowering Moroccans with voice & web-powered access to administrative info.
## 🧠 Project Idea
This project is a **conversational AI assistant** designed to help Moroccan users easily access information about administrative documents and procedures in their own language, **Moroccan Darija**.
### ❓ Why This Idea?
In Morocco, many people struggle to find clear and accessible information about government paperwork — such as what documents are needed for a passport, ID card, or other official procedures. This problem is especially challenging for those who:
- Prefer to communicate in Moroccan Darija rather than formal Arabic or French,
- Have limited experience using digital platforms, or
- Face difficulties navigating complex official websites and bureaucracy.
### ✅ What Does the Project Do?
- The assistant accepts **user questions in Moroccan Darija via text or voice input**.
- It includes **transcription capabilities** that convert voice inputs in Moroccan Darija into text.
- It uses a powerful language model (Google’s Gemini model) combined with a web search tool that fetches current, relevant information from Moroccan websites using SerpAPI.
- It processes and summarizes search results to provide clear, concise answers that are easy to understand.
- It maintains conversation history to offer context-aware responses, supporting follow-up questions and clarifications.
### How It Works (Flowchart Description)
User Input:
The user submits a question or voice input in Moroccan Darija.
Voice Transcription (optional):
If the input is voice, it is transcribed into text.
Query Processing:
The text input is sent to the language model agent.
Search Tool Invocation:
The agent checks if a web search is necessary and uses the custom SearchWebTool to query relevant Moroccan websites through SerpAPI.
Information Retrieval:
The search tool fetches and summarizes relevant documents and procedures.
Response Generation:
The language model composes a clear and context-aware response based on search results and conversation history.
User Output …