cossistant

cossistant

Open-source, AI-native support system with fully customizable AI support agents — for developers shipping fast, beautiful SaaS.

Stars: 52

Visit
 screenshot

Cossistant is an open source chat support widget tailored for the React ecosystem. It offers headless components for building customizable chat interfaces, real-time messaging with WebSocket technology, and tools for managing customer conversations. The tool is API-first, self-hosted, developer-friendly with TypeScript support, and provides complete integration flexibility. It uses technologies like Next.js, TailwindCSS, and WebSockets, and supports databases like PlanetScale for production and DBgin for local development. Cossistant is ideal for developers seeking a versatile chat solution that can be easily integrated into their applications.

README:

hero

Open source chat <Support /> widget for React

Issues · Docs · Discord

About Cossistant

Cossistant is an open source chat support widget focused on the React ecosystem. Built for developers who need a flexible, customizable chat solution that integrates with their applications. It provides headless components, real-time messaging, and a complete backend infrastructure.

Features

Headless Components: Collection of unstyled, accessible React components to build your perfect chat interface.
Real-time Messaging: WebSocket-powered live chat with instant message delivery and presence indicators.
Conversation Management: Organize and track customer conversations with persistent chat history.
API-First Design: RESTful and tRPC APIs for complete integration flexibility.
Self-Hosted: Full control over your data with easy deployment options.
Developer-Friendly: TypeScript-first with excellent DX and comprehensive documentation.

Get started

Install dependencies and run the development environment:

bun install --workspaces
bun dev

App Architecture

  • Monorepo
  • Bun
  • React
  • TypeScript
  • Next.js
  • Hono
  • tRPC
  • Drizzle ORM
  • TailwindCSS
  • WebSockets

Database

  • PlanetScale (Production Postgres)
  • DBgin (Local Development)

Services

  • Resend (Transactional Email)
  • Drizzle (Database ORM)
  • Better Auth (Authentication)

Database Setup

Production: PlanetScale Postgres

  1. Create an account on PlanetScale
  2. Create a new Postgres database
  3. Get your connection string from the dashboard

Local Development: DBgin

For local development, use DBgin for a quick PostgreSQL setup.

Configuration

  1. Configure your database connection in the .env file:

    DATABASE_URL=postgresql://[user]:[password]@[endpoint]/[dbname]
    
  2. Run the database migrations:

    cd apps/api
    bun db:migrate
    

Schema Changes

To make changes to the database schema:

  1. Update the schema files in apps/api/src/db/schema
  2. Generate migrations:
    cd apps/api
    bun db:generate
    

License

This project is licensed under the AGPL-3.0 for non-commercial use.

Commercial Use

For commercial use or deployments requiring a setup fee, please contact us for a commercial license at [email protected].

By using this software, you agree to the terms of the license.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for cossistant

Similar Open Source Tools

For similar tasks

For similar jobs