MCPSERV.CLUB
Dittofeed

Dittofeed

Self-Hosted

Open‑source omni‑channel customer engagement platform

Active(100)
2.5kstars
1views
Updated 8 days ago
Dittofeed screenshot 1
1 / 4

Overview

Discover what makes Dittofeed powerful

Dittofeed is an open‑source, omni‑channel customer engagement engine designed to replace commercial platforms such as OneSignal or Customer.io. From a developer standpoint, it exposes a rich REST API and a set of well‑documented SDKs that allow you to ingest user data, define segments, craft templates, and orchestrate journeys programmatically. The core of the system is a **reactive event bus** that routes incoming events (webhooks, Segment pushes, or internal triggers) to the appropriate messaging pipeline. This event‑driven architecture makes it trivial to plug in new channels or modify existing workflows without touching the UI layer.

Backend

Database

Messaging

Frontend

Overview

Dittofeed is an open‑source, omni‑channel customer engagement engine designed to replace commercial platforms such as OneSignal or Customer.io. From a developer standpoint, it exposes a rich REST API and a set of well‑documented SDKs that allow you to ingest user data, define segments, craft templates, and orchestrate journeys programmatically. The core of the system is a reactive event bus that routes incoming events (webhooks, Segment pushes, or internal triggers) to the appropriate messaging pipeline. This event‑driven architecture makes it trivial to plug in new channels or modify existing workflows without touching the UI layer.

Architecture

The stack is deliberately lightweight yet modern.

  • Backend: Node.js (TypeScript) powered by NestJS, which provides a modular structure and built‑in dependency injection.
  • Database: PostgreSQL for relational data (users, segments, templates) and Redis for transient state (rate limits, message queues).
  • Messaging: A Kafka‑like broker (NATS or RabbitMQ) handles event propagation; each channel (email, SMS, WhatsApp, Slack) runs as a separate micro‑service that consumes from the bus.
  • Frontend: A single‑page React dashboard built with Vite, featuring a low‑code template editor that compiles MJML to responsive HTML.
  • Containerization: All services are exposed via Docker Compose, with optional Helm charts for Kubernetes deployments. The repo includes a fully‑functional docker-compose.yml that spins up the entire stack with minimal configuration.

Core Capabilities

  • Segment Engine: Users can define complex, operator‑rich segments using a JSON DSL; the engine evaluates these against the user profile store in real time.
  • Journey Builder: A visual drag‑and‑drop canvas stores journey definitions in the database; at runtime a state machine evaluates triggers, delays, and branching logic.
  • Template API: Exposes CRUD endpoints for MJML or plain HTML templates, along with a preview endpoint that renders the final output.
  • Channel Adapters: Each outbound channel implements a standard sendMessage interface; developers can contribute new adapters via the plugin registry.
  • Analytics: Webhooks to external BI tools and a GraphQL endpoint for on‑demand reporting.

Deployment & Infrastructure

Dittofeed is engineered for self‑hosting in production. It requires a PostgreSQL instance, Redis cluster, and at least one message broker node. The Docker Compose stack scales horizontally by replicating the micro‑services and leveraging Redis Pub/Sub for load balancing. Kubernetes users can deploy via Helm, with configurable resource limits and auto‑scaling policies. The application exposes a headless React component that can be embedded in any web app, allowing developers to surface the journey builder or broadcast UI without a full redirect.

Integration & Extensibility

  • Webhooks: External systems can trigger journeys by POSTing to /api/events.
  • SDKs: Official Node, Python, and Go SDKs wrap the REST API for common patterns (user sync, segment evaluation).
  • Plugins: The core supports a plugin system where new channel adapters or custom segment operators can be dropped into the plugins/ directory and auto‑discovered.
  • OpenAPI Spec: The entire API is documented in OpenAPI 3.0, enabling automatic client generation and Swagger UI integration.

Developer Experience

The codebase follows strict linting, unit testing (Jest), and CI/CD pipelines. Documentation is hosted at docs.dittofeed.com with a dedicated “Contributing” section that walks through running the app locally, adding new channels, and writing tests. The community is active on Discord and GitHub Issues; most pull requests receive feedback within a few hours. Configuration is driven by environment variables, with sensible defaults for local development (docker compose up --build). The project’s open‑source license (MIT) removes vendor lock‑in, while the paid closed‑source add‑ons (multi‑tenancy, white‑labeling) are clearly separated.

Use Cases

  • Startup MVPs: Quickly bootstrap a messaging layer for email, SMS, and Slack without paying per‑message fees.
  • Enterprise On‑Prem: Deploy the self‑hosted stack behind a corporate firewall, integrate with existing LDAP or SSO, and retain full data control.
  • Embedded SaaS: Embed the headless React component into a product’s admin panel, giving end‑users an in‑app journey builder.
  • Data‑Driven Marketing: Use Segment or Reverse ETL to feed user events, let Dittofeed compute segments in real time, and push targeted campaigns via any channel.

Advantages

  • Performance: The event‑driven microservice design ensures low latency, with each channel running in isolation.
  • Flexibility: Developers can write custom adapters or extend the segment DSL without modifying core code.
  • Cost‑Effectiveness: No per‑message billing; you pay only for the infrastructure you run.
  • Open Source: Full visibility into data flows, compliance with GDPR or CCPA, and the ability to audit all logic.
  • Rapid Iteration: The low‑code template editor and journey builder let marketers iterate quickly, while the API keeps developers

Open SourceReady to get started?

Join the community and start self-hosting Dittofeed today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
development-tools
License
MIT
Stars
2.5k
Technical Specs
Pricing
Open Source
Docker
Community
Supported OS
LinuxDocker
Author
dittofeed
dittofeed
Last Updated
8 days ago