Wenqu AI is a voice-first, multimodal AI commerce platform built for African SMEs.
Wenqu AI
The Autonomous AI Sales Agent for Kenyan Small Businesses
## 🌍 Overview
**Wenqu AI** bridges the gap between modern conversational AI and local African commerce. Built for the modern Kenyan merchant, it equips any small business with a fully autonomous, voice-capable AI sales agent that can showcase products, "see" via the camera, answer questions, and finalize orders directly via **M-PESA**.
No technical expertise required. Merchants just upload their products, and Wenqu handles the sales.
---
## 📸 Platform Previews
### Storefront & Chat Interfaces
### Merchant Dashboard
---
## ✨ Key Features
- 🎙️ **Sub-Second Voice Shopping**: Powered by **Google's Gemini Multimodal Live API**, users can naturally talk to the storefront as if they were speaking to a human shopkeeper.
- 👁️ **Wenqu Eye (Vision AI)**: Customers can turn on their camera or upload an image to ask *"Do you have this exact shoe?"* The AI "sees" the product and performs a semantic search across the store's inventory.
- 💳 **M-PESA & Paystack Integration**: Seamless STK Push checkouts. Subaccount routing instantly splits payments between the platform (SaaS fee) and the merchant.
- ✉️ **Automated Brevo Emails**: Transactional receipts, abandoned cart reminders, and merchant lifecycle notifications sent automatically via BullMQ background workers.
- 📱 **Telegram Bot Storefronts**: Every store gets an automated Telegram bot interface, allowing users to query products and checkout directly from their chat app.
- ☁️ **Robust Edge Infrastructure**: Protected and accelerated by Cloudflare CDN, with dynamic Traefik reverse-proxying.
---
## 🏗️ System Architecture
Wenqu AI leverages a highly scalable Node.js + Next.js architecture, heavily utilizing WebSockets for real-time AI audio streaming.
```mermaid
flowchart TB
%% Styling
classDef user fill:#0f172a,stroke:#334155,color:#fff,stroke-width:2px
classDef edge fill:#f97316,stroke:#c2410c,color:#fff,stroke-width:2px
classDef frontend fill: …