A powerful, embeddable AI-powered chat widget for customer support. This monorepo, managed with Turborepo and pnpm workspaces, contains the entire Nimbus.ai ecosystem, from the frontend applications to the backend services.
The frontend applications are built with Next.js, React, and TypeScript. The UI is crafted with shadcn/ui, Radix UI, and Tailwind CSS, and shared as a local ui package.
The backend is powered by Convex, providing a real-time database, serverless functions, and authentication. It integrates with various services, including Clerk for user management, Vapi for voice capabilities, and AI/RAG features using the AI SDK.
Nimbus.AI.Demo.mp4
Experience Nimbus.ai in action:
- Web Dashboard Demo: Web Demo Link
- Widget Demo: Widget Demo LInk
Nimbus.ai is a complete SaaS solution for customer support that includes:
- AI-Powered Chat Widgets: Intelligent customer support with RAG (Retrieval-Augmented Generation)
- Voice Calling Integration: Voice assistant capabilities
- Knowledge Base Management: Document processing for API's Knowledge
- Multi-Platform Integration: Easy embedding for HTML, React, Next.js, and JavaScript
- Real-time Dashboard: Comprehensive CMS for managing support operations
- Subscription Management: Built-in billing and plan management
More can be found here :-
- Web App - Web Dashboard Screenshots
- Chat Widget App - Chat Widget Screenshots
- Embed App - Embed Screenshots
This project is built as a Turbo monorepo with the following structure:
├── apps/
│ ├── web/ # Main Dashboard (Next.js)
│ ├── widget/ # Chat Widget Interface (Next.js)
│ └── embed/ # Embed Script for testing (Vite)
├── packages/
│ ├── backend/ # Convex Backend (Database + API)
│ ├── ui/ # Shared UI Components
│ ├── eslint-config/ # Shared ESLint Configuration
│ └── typescript-config/ # Shared TypeScript Configurationweb: Next.js dashboard app for customer support operationswidget: Next.js chat interface embedded via iframeembed: lightweight script to inject the widget into customer sites@workspace/backend: Convex-powered backend with real-time DB, AI/RAG, voice, and auth@workspace/ui: shared React component library (shadcn/ui) used by web and widget@workspace/eslint-config: unified ESLint config (extends next + prettier)@workspace/typescript-config: shared TypeScript configurations
All apps and packages are 100% TypeScript.
- Node.js 18+
- pnpm
-
Clone the repository
git clone https://github.com/Akash-m-SE/Nimbus.ai.git cd Nimbus.ai -
Install dependencies
pnpm install
-
Environment Variables
-
Navigate to each module’s directory.
-
Look for a
.env.examplefile (if present). -
Copy it to
.env.localin the same directory and fill in your actual values. -
Modules requiring environment configuration:
web- Web Env Setupwidget- Widget Env Setupembed- Embed Env Setupbackend- Backend Env Setup
-
Start development servers
pnpm dev
This will start all applications:
- Web Dashboard: http://localhost:3000
- Widget: http://localhost:3001
- Embed Demo: http://localhost:3002
- Backend: http://localhost:3210
# Install dependencies
pnpm install
# Start all development servers
pnpm dev
# Build all packages
pnpm build
# Lint all packages
pnpm lint
# Format all files
pnpm format
# Type check all packages
pnpm check-types
# Delete all the temporary files and folders from all the packages
pnpm cleanCheck the scripts section of package.json in root directory for more scripts
For more detailed documentation, visit the readme of each of the modules:
web- Web Dashboard Documentationwidget- Widget Documentationembed- Embed Documentationbackend- Backend Documentation



