The self-hosted, Arabic-native CRM built for UAE businesses.
Close deals over WhatsApp · AI thread summaries · Full RTL Arabic UI · PDPL-compliant
Live Demo: masaar.dynamicweblab.com · Built by Dynamic Web Lab FZE LLC
Features · Why Masaar · Quick Start · Architecture · API Reference · Contributing
Masaar is a free, open-source CRM designed specifically for UAE businesses. Most CRM software was built for Western markets with Arabic added as an afterthought. Masaar is different — WhatsApp-first, Arabic-native, and fully self-hosted so your customer data never leaves the UAE.
Who is it for?
- UAE SMEs that close deals over WhatsApp
- Sales teams that need a bilingual (Arabic/English) CRM
- Businesses subject to UAE PDPL data residency requirements
- Developers who want a self-hosted alternative to Salesforce, HubSpot, or Zoho
| Masaar CRM | Salesforce / HubSpot / Zoho | |
|---|---|---|
| Cost | Free, open-source. No per-user fees. | $25–300+/user/month |
| Data Residency | Self-hosted in UAE. Your data never leaves. | Hosted in US/EU. PDPL risk. |
| Arabic Support | Native RTL UI. Built for Arabic first. | Arabic bolted on as an afterthought |
| WhatsApp Integration | First-class. Inbound + outbound + AI drafts. | Limited or requires third-party add-ons |
| VAT Compliance | Out-of-the-box 5% UAE VAT invoicing. | Requires custom configuration |
| AI Privacy | Local Ollama LLM. PII never leaves server. | Data sent to external AI providers |
| Deployment | One docker compose up. Any UAE cloud. |
Vendor lock-in. Complex migration. |
Bottom line: Masaar gives you a production-grade CRM without monthly subscriptions, without your customer data leaving the UAE, and without compromising on Arabic language support.
| Feature | Description |
|---|---|
| Dashboard Overview | Real-time stats: total contacts, active leads, open WhatsApp threads, pipeline value, won revenue |
| WhatsApp Inbox | Receive and manage inbound WhatsApp messages from Meta Cloud API |
| WhatsApp Outbound | Send text, media (images/video/documents), and predefined templates via WhatsApp |
| AI Draft Reply | One-click AI-generated draft replies to WhatsApp threads using local Ollama |
| AI Buyer Profile | Extract structured buyer requirements from WhatsApp conversations |
| Sales Pipeline | Kanban board with drag-and-drop stage management (New → Won/Lost) |
| Lead Notes | Click any pipeline card to view and edit per-lead notes inline |
| AI Thread Summaries | One-click AI summarization via local Ollama LLM — data never leaves your server |
| Deals & VAT Invoicing | Deal tracking with PDF invoice generation including UAE 5% VAT |
| Contact Management | Unified contact profiles linked to WhatsApp numbers and leads |
| User Settings | Per-user password change and language preference (Arabic/English) |
| Role-Based Access | Three roles: Admin, Agent, Viewer — enforced on every API route |
| Real-time Notifications | Personal WebSocket-powered notifications |
| Full RTL Support | Complete Arabic interface — layout, typography, and date direction |
| Audit Log | Immutable activity log for UAE PDPL compliance |
| Self-Hosted | Single Docker binary — deploy to Moro Hub, G42, or any UAE cloud |
Masaar CRM is built to align with the UAE's AI Vision 2031 strategy and national data sovereignty goals:
- Local AI Processing — All AI features (thread summaries, lead scoring, draft replies) run on Ollama, a local LLM that keeps customer data on your infrastructure. No PII is sent to external cloud AI providers.
- Data Sovereignty — Self-hosted architecture ensures compliance with UAE PDPL and supports the national priority of keeping sensitive data within UAE borders.
- Arabic-Native AI — Ollama models (llama3, mistral) support Arabic language processing natively, enabling AI-powered CRM features without relying on English-first external services.
- UAE Cloud Ready — Deploy on Moro Hub, G42, or any UAE-based cloud provider to meet data residency requirements while leveraging local AI infrastructure.
By running AI locally, Masaar contributes to the UAE's goal of building a sovereign AI ecosystem that serves national interests while protecting citizen data.
Masaar CRM integrates with BuyOrSell24 by Dynamic Web Lab — the UAE's real estate data API — to add market intelligence directly into your CRM workflow.
- Property Search — Natural language queries: "2BR apartments in Marina" returns recent transactions, comparable prices, and market trends
- Transaction History — Filter by area, property type, price range — see all recent sales/rentals in one click
- Building Directory — Quick autocomplete for projects, buildings, and nearby amenities (schools, gyms, metro stations)
- Yield Analysis — Investors get rental vs. sales comparison for ROI calculations
- Market Intelligence — Price trends, transaction volume, per-sqm analytics
Step 1: Get Your API Key
- Visit https://dynamicweblab.com/products/real-estate-data-api/
- View pricing tiers and features
- Contact us to set up your account
Step 2: Configure in Masaar
# In your .env file:
BOS24_API_TOKEN=your-api-token-received-from-setupStep 3: Start Using
- Agents search properties directly in leads: "Market data for 2BR Dubai Marina"
- Auto-enriched lead cards show comparable sales and price insights
- Investors analyze rental yields in seconds
- All data stays in your self-hosted Masaar instance
Full API Documentation: https://data.buyorsell24.com/redoc
Masaar CRM is part of a growing ecosystem of UAE-focused business tools by Dynamic Web Lab:
| Product | Description |
|---|---|
| Masaar CRM | Open-source WhatsApp-first CRM for UAE businesses |
| BuyOrSell24 | UAE real estate data API — transactions, buildings, yield analysis |
| Pause POS | UAE POS system (coming soon) |
Masaar integrates directly with BuyOrSell24 for real estate market intelligence, and future integrations with Pause POS will enable end-to-end property transaction management.
Try it at masaar.dynamicweblab.com
Resets every 24 hours. Do not enter real customer data.
Requirements: Docker and Docker Compose.
git clone https://github.com/Dynamic-Web-Lab/masaar-crm.git
cd masaar-crm
cp .env.example .env
docker compose up| Service | URL |
|---|---|
| Dashboard | http://localhost:3000 |
| API | http://localhost:8080/api/v1 |
| Swagger UI | http://localhost:8080/docs |
Default login: admin@masaar.local / changeme
┌─────────────────────────────────────────────────────────┐
│ Your Server (UAE) │
│ Moro Hub / G42 / On-prem │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐│
│ │ Next.js │──▶│ Fiber │──▶│ PostgreSQL ││
│ │ (RTL/LTR)│ │ (Go) │ │ ││
│ └──────────┘ │ │──▶│ Redis ││
│ │ │ └──────────────────────┘│
│ ┌──────────┐ │ │ ┌──────────────────────┐│
│ │ WhatsApp │──▶│ /webhooks│──▶│ Ollama (local LLM) ││
│ │ Meta API │ │ │ │ llama3 / mistral ││
│ └──────────┘ └──────────┘ └──────────────────────┘│
│ │ │
│ ┌────▼─────┐ │
│ │ WS Hub │◀── Real-time Notifications │
│ └──────────┘ │
└─────────────────────────────────────────────────────────┘
↑ Single Docker binary — no external dependencies
| Layer | Technology |
|---|---|
| Backend | Go 1.22 + Fiber |
| Frontend | Next.js 14 + Tailwind CSS |
| Database | PostgreSQL 16 + pgvector |
| AI | Ollama (llama3 / mistral) |
| Real-time | WebSockets (native Fiber) |
| Cache / Sessions | Redis |
| Migrations | goose |
| Auth | JWT (HS256) + bcrypt |
masaar-crm/
├── cmd/server/ # Server entry point
├── internal/
│ ├── api/ # HTTP handlers and middleware
│ ├── domain/ # Models and business types
│ ├── repo/ # PostgreSQL repositories
│ ├── ws/ # WebSocket hub
│ └── ai/ # Ollama integration
├── migrations/ # SQL schema (goose)
├── web/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # React UI components
│ ├── store/ # Zustand state management
│ ├── context/ # Language context (AR/EN)
│ └── lib/ # API client, auth helpers
└── docs/ # OpenAPI / Swagger spec
All protected routes require Authorization: Bearer <token>. Full interactive docs at /docs.
| Method | Path | Description | Roles |
|---|---|---|---|
POST |
/api/v1/auth/login |
Authenticate, get token pair | Public |
POST |
/api/v1/auth/refresh |
Refresh access token | Public |
DELETE |
/api/v1/auth/logout |
Invalidate session | Auth |
GET |
/api/v1/stats |
Dashboard overview metrics | Auth |
GET |
/api/v1/users/me |
Current user profile | Auth |
PATCH |
/api/v1/users/me/password |
Change password | Auth |
PATCH |
/api/v1/users/me/lang |
Update language preference | Auth |
GET |
/api/v1/contacts |
List contacts (search + paginate) | Auth |
POST |
/api/v1/contacts |
Create contact | Agent, Admin |
PATCH |
/api/v1/contacts/:id |
Update contact | Agent, Admin |
DELETE |
/api/v1/contacts/:id |
Delete contact | Admin |
GET |
/api/v1/leads |
Kanban board (all stages) | Auth |
POST |
/api/v1/leads |
Create lead | Agent, Admin |
PATCH |
/api/v1/leads/:id/stage |
Move lead to stage | Agent, Admin |
PATCH |
/api/v1/leads/:id/notes |
Update lead notes | Agent, Admin |
GET |
/api/v1/threads |
List WhatsApp threads | Auth |
GET |
/api/v1/threads/:id |
Get single thread | Auth |
GET |
/api/v1/threads/:id/messages |
Thread messages | Auth |
POST |
/api/v1/threads/:id/close |
Close thread | Agent, Admin |
POST |
/api/v1/threads/:id/send-message |
Send WhatsApp text message | Agent, Admin |
POST |
/api/v1/threads/:id/send-template |
Send WhatsApp template | Agent, Admin |
POST |
/api/v1/threads/:id/send-media |
Send media (image/video/doc) | Agent, Admin |
GET |
/api/v1/threads/:id/outbound-messages |
Sent outbound messages | Agent, Admin |
POST |
/api/v1/ai/draft-reply/:thread_id |
AI-generated draft reply | Agent, Admin |
POST |
/api/v1/ai/extract-buyer-profile/:thread_id |
Extract buyer profile from conversation | Agent, Admin |
GET |
/api/v1/deals |
List deals | Auth |
POST |
/api/v1/deals |
Create deal | Agent, Admin |
PATCH |
/api/v1/deals/:id/stage |
Update deal stage | Agent, Admin |
GET |
/api/v1/invoices/:id |
Get invoice | Auth |
POST |
/api/v1/invoices |
Create VAT invoice | Agent, Admin |
POST |
/api/v1/invoices/:id/send |
Send invoice via WhatsApp | Admin |
GET |
/api/v1/notifications |
List notifications | Auth |
PATCH |
/api/v1/notifications/:id/read |
Mark notification read | Auth |
POST |
/api/v1/ai/summarize/:thread_id |
AI thread summary | Agent, Admin |
GET |
/ws/notifications |
Real-time notification stream | Auth (WS) |
| Real Estate Market Data (Dynamic Web Lab) | Optional integration; requires API key | ||
POST |
/api/v1/properties/search |
Search properties (natural language) | Agent, Admin |
GET |
/api/v1/properties/transactions |
List transactions with filters | Agent, Admin |
GET |
/api/v1/properties/buildings |
Search/autocomplete buildings | Agent, Admin |
GET |
/api/v1/properties/buildings/:id |
Building details | Agent, Admin |
GET |
/api/v1/properties/yield-analysis |
Rental yield analysis | Agent, Admin |
GET |
/api/v1/properties/schools/nearby |
Nearby schools & amenities | Agent, Admin |
Contributions are welcome. Please open an issue first to discuss significant changes.
We especially welcome contributions that address UAE-specific needs:
- Payment Gateway Integrations — PayBy, Network International, Stripe UAE, Tabby, Tamara
- Government Integrations — Ejari registration, DEWA, ADDC, DED trade license verification
- AI Model Optimization — Arabic language model fine-tuning, local LLM performance improvements
- WhatsApp Enhancements — Template management, bulk messaging, chatbot workflows
- Reporting — RERA-compliant reports, FTA VAT exports, custom analytics
# Fork the repo, then:
git clone https://github.com/YOUR_USERNAME/masaar-crm.git
cd masaar-crm
cp .env.example .env
docker compose up -d postgres redis ollama
go run ./cmd/serverPlease read CONTRIBUTING.md before submitting a pull request.
Masaar CRM is submitted to the following curated directories:
Masaar CRM is licensed under the MIT License. Free to use, modify, and self-host.
Need more for your UAE enterprise? The Enterprise edition adds:
| Feature | Description |
|---|---|
| Multiple Pipelines | Sales, HR, Ops — separate pipelines per team |
| ZATCA E-Invoicing | UAE FTA compliant with QR code & tax signing |
| AI Automation | Auto lead scoring and auto-replies |
| WhatsApp Bots | AI-powered chatbots and auto-replies |
| Advanced Templates | Multi-language template management and analytics |
| War Room | Team live leaderboard dashboard |
| Semantic Search | AI-powered similarity search across conversations |
| SSO / SAML | Enterprise authentication |
| Emirates ID | UAE government ID verification |
Contact: dynamicweblab.com · info@dynamicweblab.com
Built by Dynamic Web Lab FZE LLC · UAE 🇦🇪
Keywords: open source CRM UAE · WhatsApp CRM · Arabic CRM software · self-hosted CRM · PDPL compliant CRM · CRM for UAE businesses · Go CRM · bilingual CRM Arabic English
مصنوع بعناية للسوق الإماراتي