erxes is an open source Experience Operating System that unifies marketing, sales, operations, and support into one platform, positioned as an alternative to HubSpot, Zendesk, and Linear. It's built as an Nx monorepo with a plugin architecture, so teams install only the modules they need on top of a shared Core. The name comes from a Mongolian word meaning "galaxy," pronounced "erk-sis," and the project is branded entirely in lowercase.
erxes fits SaaS providers, digital agencies, and internal operations teams that want a single system connecting marketing forms, inbox conversations, sales pipelines, and support tickets, rather than gluing together HubSpot, Zendesk, and Linear with point integrations. Because it's plugin-based, teams can start with only the Core modules and Frontline plugin, then add Operation, Sales, or other plugins as needs grow, without re-architecting what's already running.
The backend combines GraphQL Federation and tRPC microservices on Node.js, TypeScript, MongoDB, Redis, and BullMQ, while the frontend uses React 18 with Rspack and Module Federation, styled with TailwindCSS 4. Standalone applications outside the core plugin system include a Next.js customer portal and a POS client, both connecting back to the same GraphQL Federation gateway as the rest of the platform.
Self-hosting requires Node.js 18+, pnpm 8+, MongoDB, and Redis. After pnpm install and configuring .env, pnpm dev:core-api starts the API Gateway on port 4000 and the Core API on port 3300, pnpm dev:apis starts all plugin APIs, and pnpm dev:uis starts the frontend, accessed at localhost:3001, with Nx handling builds and affected-project testing. Testing and builds can also be scoped to a single service, for example pnpm nx test sales_api, or restricted to only the projects affected by a given change with pnpm nx affected:test, which keeps CI fast on a monorepo this size rather than rebuilding and retesting every plugin on each change made to a single service.