Skip to content

Repository files navigation

Nimbus.ai

logo

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.

🎥 Project Walkthrough

Nimbus.AI.Demo.mp4

🌐 Live Demo

Experience Nimbus.ai in action:

🚀 Overview

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

Screenshots 📷

Dashboard Customer Support Dasboard Widget Dashboard Embed Homepage

More can be found here :-

🏗️ Architecture

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 Configuration

📦 Modules

  • web: Next.js dashboard app for customer support operations
  • widget: Next.js chat interface embedded via iframe
  • embed: 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.

🛠️ Development

Prerequisites

  • Node.js 18+
  • pnpm

Quick Start

  1. Clone the repository

    git clone https://github.com/Akash-m-SE/Nimbus.ai.git
    cd Nimbus.ai
  2. Install dependencies

    pnpm install
  3. Environment Variables

  1. Start development servers

    pnpm dev

    This will start all applications:

📋 Available Scripts

Root Level

# 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 clean

Check the scripts section of package.json in root directory for more scripts

📚 Documentation

For more detailed documentation, visit the readme of each of the modules:

About

AI-powered, RAG-based customer support SaaS with embeddable voice/text chat, multi-tenant orgs, and human escalation.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages