Chaskiq is a self-hosted, open-source customer communication platform that unifies live chat, video calls, help center, and marketing campaigns into a single system. Designed for teams needing full control over their customer interactions, it replaces proprietary tools like Intercom and Drift with a transparent, extensible alternative built for scalability and compliance.
Built with Ruby on Rails for the backend and React.js for the frontend, Chaskiq uses PostgreSQL for data storage and Redis for caching. It exposes a GraphQL API with OAuth2 support and offers Docker-based deployment, Heroku one-click install, and multi-language support via Crowdin. The platform integrates with WhatsApp, Slack, Zoom, Calendly, Pipedrive, and supports GDPR-compliant data handling.
What You Get
- Web Messenger with Dante2 Editor - A rich-text chat interface supporting animated GIFs, embedded YouTube/Vimeo videos, Oembed webpages, and colorized code blocks via Prism.js.
- Video Calls via RTC - Native peer-to-peer video calling directly within the chat interface without third-party dependencies.
- Triggerable Conversational Bots - Automated chatbots that respond to user inputs with customizable logic and canned responses.
- Help Center with Multilingual Support - A full knowledge base system with article editor, custom domains, and translation management via Crowdin.
- CRM Integration with Pipedrive - Synchronize customer data and conversation history with Pipedrive CRM for unified sales and support workflows.
- API Integrations (WhatsApp, Slack, Zoom, Calendly) - Connect external tools to trigger actions, schedule meetings, or send messages directly from the Chaskiq interface.
- Configurable GDPR Consent & Audits - Enforce data protection policies with user consent tracking and full audit logs for access and record changes.
- Pluggable Dashboard Blocks - Extend the admin dashboard with custom widgets to display external data sources or analytics metrics.
- GraphQL API with OAuth2 - Programmatically access conversations, users, and settings via a secure, documented GraphQL endpoint.
Common Use Cases
- Running a SaaS support portal - A B2B SaaS company uses Chaskiq to offer live chat, video support, and a multilingual help center on their website, reducing ticket volume by 40%.
- Managing high-volume customer service - An e-commerce brand deploys Chaskiq with WhatsApp and Slack integrations to handle 500+ daily inquiries across channels from one unified dashboard.
- Building a knowledge-driven onboarding system - A fintech startup uses Chaskiq’s help center and onboarding tours to guide new users through complex features without live support.
- Scaling support with automated bots - A SaaS provider deploys trigger-based bots to answer FAQs, collect leads, and route high-intent users to human agents automatically.
Under The Hood
Architecture
- Monolithic React and Ruby on Rails architecture with a GraphQL API layer that enforces typed schemas and policy-based authorization, ensuring clean separation between data fetching and business logic
- Frontend organized as a Lerna monorepo with isolated packages for components and state management, enabling reuse and scoped state updates via GraphQL hooks
- Clear layering: Rails handles domain logic and resolvers, while React manages UI state with typed hooks and theming for design consistency
- WebSocket real-time communication powered by AnyCable with Redis pub/sub, eliminating the need for REST polling and enabling live updates
- Modular asset pipeline with TypeScript, Webpacker, and shared type definitions that unify frontend and backend typing
Tech Stack
- Ruby on Rails 7.2.1 backend with GraphQL and policy-based authorization as the core application layer
- React frontend with TypeScript, Emotion, Twin.macro, and HeadlessUI for styling, bundled via jsbundling-rails and Tailwind CSS
- PostgreSQL as the primary database with Redis for caching and real-time features, supported by Active Storage and Sidekiq for media and background processing
- AnyCable with anycable-go for WebSocket real-time communication, integrated with Rails Action Cable and orchestrated via Docker
- Internationalization handled through i18n-js with Crowdin integration for multi-language support across YAML locales
- Full Docker-based development environment with coordinated services and Lerna-managed JavaScript packages
Code Quality
- Limited test coverage with many files lacking meaningful assertions or structured test cases
- Inconsistent error handling across endpoints, relying on generic exceptions rather than structured, user-friendly responses
- Mixed naming conventions between camelCase and snake_case create ambiguity in API contracts and reduce developer clarity
- Weak type safety despite GraphQL schemas, with JavaScript/TypeScript components and Ruby models lacking consistent typing and validation
- Absence of enforced linting, formatting, or static analysis tools, leading to unstructured code and poor maintainability
- Modular intent is evident but undermined by tight coupling between models, controllers, and test helpers
What Makes It Unique
- Native encrypted messenger embedding system that dynamically generates secure, domain-bound JavaScript snippets without third-party auth dependencies
- Unified GraphQL schema for help center content with built-in multi-language support and dynamic image processing
- Real-time user segmentation engine using JSONB queries and Arel operators to evaluate complex rules directly in the database
- Embedded web setup component that auto-generates production-ready messenger code with intelligent protocol detection
- Multi-channel communication platform unifying in-app messages, newsletters, and chat under shared identity and segmentation logic
- Extensible component architecture using Twin.macro and Emotion to enforce design system consistency across reusable UI blocks