Chaskiq
Self-hosted live chat, video calls, help center, and marketing automation — a full-stack Intercom alternative you run on your own infrastructure.
Chaskiq is an open-source customer communication platform that brings live chat, video calling, help center, mailing campaigns, onboarding tours, and conversational bots under a single self-hosted system. Built as a direct alternative to Intercom, Drift, and Crisp, it gives engineering teams full ownership of customer interaction data without locking into a SaaS pricing model.
The platform is built on Ruby on Rails for the backend and React for the frontend, with a GraphQL API serving both the admin dashboard and the embeddable messenger widget. PostgreSQL stores all customer and conversation data, Redis handles caching and real-time pub/sub, and AnyCable provides production-grade WebSocket connections for instant message delivery.
Chaskiq supports deep integrations with WhatsApp, Slack, Zoom, Calendly, and Pipedrive, and ships with a pluggable app package system that lets teams add custom channels and dashboard widgets. The built-in help center can run on a custom subdomain or be deployed as a standalone Next.js site on Vercel. GDPR consent management, composable role permissions, and full audit logging are included out of the box.
Deployment options include Docker Compose for self-hosted setups, a one-click Heroku button, and a commercial SaaS offering at chaskiq.io for teams that prefer a managed environment. The platform supports multi-language interfaces via Crowdin integration and covers modern browsers, tablets, and mobile devices.
What You Get
- Embeddable Web Messenger with Dante3 Editor - A sandboxed iframe-based chat widget with rich text editing via Tiptap/ProseMirror, supporting animated GIFs, embedded YouTube/Vimeo videos, Oembed pages, and code highlighting via Prism.js.
- Video Calls via WebRTC - Native peer-to-peer video calling directly within the messenger interface, without requiring any third-party video service dependency.
- Triggerable Conversational Bots - Rule-based chatbots that activate on user actions or segments, handling FAQs, lead capture, and routing to human agents automatically.
- Help Center with Multilingual Support - A built-in knowledge base with a full article editor, custom domain support, and Crowdin-powered translation management, deployable as an independent Next.js site.
- Mailing Campaigns & Onboarding Tours - Send targeted email campaigns and in-app product tours to segmented user groups based on real-time behavioral and attribute data.
- Real-Time User Segmentation Engine - JSONB-powered Arel query builder that evaluates custom user attributes and behavioral predicates live in PostgreSQL — no separate analytics pipeline needed.
- App Package Plugin System - An extensible marketplace of integrations (WhatsApp, Slack, Zoom, Calendly, Pipedrive) that contribute UI blocks to both the messenger widget and the admin dashboard.
- GDPR Consent & Audit Logging - Configurable data protection consent screens, full access audit trails, and composable role-based permissions for compliance-sensitive deployments.
- GraphQL API with OAuth2 - A typed GraphQL endpoint with policy-based field authorization and Auth0 support, enabling programmatic access to all conversations, users, and app settings.
Common Use Cases
- SaaS customer support portal - A B2B software company deploys Chaskiq on their own infrastructure to provide live chat and a multilingual help center, keeping all support conversation data in-house under their own security policies.
- Multi-channel inbox for high-volume teams - An e-commerce operation connects WhatsApp, Slack, and the web messenger to a single Chaskiq inbox, letting support agents handle 500+ daily inquiries from one dashboard without per-seat SaaS costs.
- Automated lead qualification and routing - A marketing team configures segment-targeted bots to qualify inbound leads by company size and intent, routing high-value prospects directly to sales agents and logging interactions to Pipedrive CRM.
- Self-service onboarding with in-app tours - A fintech startup uses Chaskiq’s onboarding tour engine to guide new users through complex setup flows, reducing support load by surfacing contextual help center articles based on the user’s current page.
- GDPR-compliant customer engagement - A European SaaS company uses Chaskiq’s configurable consent screens and audit logging to meet data protection requirements while running their full customer messaging stack on servers within their own jurisdiction.
- White-label customer messaging for agencies - A digital agency deploys Chaskiq as shared infrastructure for multiple clients, using per-app isolation and the pluggable dashboard to tailor each tenant’s workspace without separate installations.
Under The Hood
Architecture Chaskiq is a layered monolith where Rails handles all domain logic, background processing, and GraphQL resolvers, while the React frontend is organized as a Yarn workspace split into isolated packages — an embeddable messenger widget, an admin dashboard component library, a Redux-based store, and a documentation site. Communication flows through a fully typed GraphQL API with policy-based authorization enforced at every resolver boundary using action_policy-graphql. Real-time features bypass Rails Action Cable in favor of AnyCable with a dedicated Go binary and Redis pub/sub, delivering production-grade WebSocket throughput. The messenger widget is deployed as a sandboxed iframe that communicates with the parent page via a cross-origin custom event bus, enabling embedding on any domain without style or global variable leakage. The segmentation engine pushes complex behavioral filtering directly into PostgreSQL via Arel-built JSONB predicate queries, keeping segmentation logic co-located with data rather than in application memory.
Tech Stack The backend is Ruby on Rails 7.2.1 with PostgreSQL as the primary data store and Redis for caching, pub/sub, and background job queuing via Sidekiq. GraphQL 2.1 is the sole API layer, extended with action_policy-graphql for field-level authorization and goldiloader for automatic batch loading. The frontend is React with TypeScript, styled through Emotion, HeadlessUI, and Tailwind CSS, bundled via esbuild through jsbundling-rails. The rich text editor is Dante3 — built on Tiptap/ProseMirror — which replaced the deprecated DraftJS engine in a migration across over one million serialized messages. Real-time communication runs through AnyCable with a standalone Go binary alongside the Rails server. Authentication supports both Devise sessions and Auth0 OAuth. Internationalization uses i18n-js with Crowdin integration for crowd-sourced translations across YAML locale files. The entire stack deploys via Docker Compose with Propshaft for asset serving.
Code Quality
Testing exists at multiple layers: RSpec covers models, controllers, services, and mailers using factory-based fixtures, while Cypress provides end-to-end integration tests and Jest covers JavaScript package behavior. CI runs the Ruby suite against a Postgres and Redis service matrix, with Rubocop enforcing Ruby code style. However, TypeScript discipline is inconsistent — numerous components carry explicit @ts-ignore suppressions and broad any types, limiting the type system’s effectiveness. GraphQL error handling relies on schema-level rescue blocks rather than typed result objects, producing generic error responses in edge cases. JavaScript-side linting is not enforced beyond a Prettier config, and comment density is moderate in Ruby files but sparse across the React packages, creating an uneven developer experience between the two layers.
What Makes It Unique Chaskiq’s most architecturally distinctive decision is the two-frame messenger design: the widget renders inside a sandboxed iframe connected to the host page via a custom DOM event bus, providing genuine style and script isolation that most embedded chat widgets achieve only partially. The segmentation engine’s use of Arel to compose live JSONB predicate queries against PostgreSQL supports arbitrary custom user attributes without schema migrations — a capability that typically requires a dedicated analytics store in comparable platforms. The plugin marketplace system allows third-party app packages to register as OAuth integrations and inject custom UI blocks into both the messenger and the admin dashboard at runtime, enabling genuine extensibility without forking the core. The Dante2-to-Dante3 editor migration — executed as a single Rails task across the full serialized message corpus — demonstrates unusually mature data pipeline thinking for an open-source project of this scale.
Self-Hosting
Chaskiq is released under the GNU Affero General Public License v3 (AGPL-3.0) with an additional Commons Clause restriction. The Commons Clause means you cannot sell the software itself — for example, offering Chaskiq as a managed hosting service to paying customers would require a separate commercial license from Chaskiq Inc. Standard self-hosting for your own organization’s internal use is permitted under AGPL-3.0, though the copyleft terms require that any modifications you distribute or run as a network service be made available under the same license. A commercial license is available from chaskiq.io for teams that need to keep their modifications proprietary or build paid offerings on top of the platform.
Running Chaskiq yourself is a substantial operational commitment. The stack requires PostgreSQL, Redis, Sidekiq workers, an AnyCable Go binary, and a Rails application server (Puma) — all of which need to be deployed, monitored, and kept in sync across upgrades. Active Storage requires a file storage backend such as S3 or a compatible service for attachments. Your team is responsible for database backups, SSL termination, environment variable management, and scaling each layer independently as conversation volume grows. Docker Compose simplifies local setup, but production deployments will benefit significantly from an orchestrator like Kubernetes or a managed PaaS.
Compared to the hosted Chaskiq SaaS tier, self-hosting means you handle all infrastructure maintenance, software updates, and data backups yourself — there is no SLA, managed upgrade path, or support channel included. The SaaS offering at chaskiq.io adds managed uptime, automatic version updates, and direct support access. Teams evaluating self-hosting should weigh the full operational burden against the benefit of data sovereignty and the absence of per-seat or message-volume pricing.
Related Apps
Odoo
ERP · CRM · Productivity
The open source ERP platform that integrates CRM, accounting, inventory, manufacturing, and 60+ business apps into one seamlessly connected suite.
Odoo
Othertwenty
CRM
The open-source CRM you build, ship, and version like the rest of your stack — with customizable objects, AI agents, and a TypeScript SDK.
twenty
OtherChatwoot
Customer Support
Open-source omnichannel customer support platform with AI-powered agents, live chat, and self-hosting — a full Intercom and Zendesk alternative.