Business Systems

Nexus CRM

Enterprise CRM with AI-Powered Insights

Migrated Nexus CRM from NestJS to Elixir/Phoenix with zero downtime, using the BEAM VM and Phoenix Channels to dramatically increase WebSocket capacity for real-time team collaboration — live at crm.igddev.com.

Nexus CRM hero image

// the problem

Challenge

The original NestJS architecture hit scaling walls with real-time collaboration — WebSocket connections under load caused cascading failures, and Node.js single-threaded limitations bottlenecked concurrent operations across distributed teams.

// what we built

Solution

Migrated the entire backend from NestJS to Elixir/Phoenix, leveraging the BEAM VM for fault tolerance and Phoenix Channels for real-time collaboration at scale. Ecto handles complex relational queries with PostgreSQL, while Elixir processes manage per-user state with massive concurrency.

// shipped

Key features

  • Pipeline management with drag-and-drop stages
  • Real-time team collaboration and activity feeds
  • Virtual office with presence indicators
  • AI-powered lead scoring and recommendations
  • Custom reporting and analytics dashboards
  • Email and calendar integration
  • Role-based access control

// stack.json

Tech stack

The exact tools shipping this product in production.

  • Elixir
  • Phoenix
  • Ecto
  • PostgreSQL
  • React
  • TypeScript
  • PostHog Analytics
  • Phoenix Channels
  • Docker
  • Elixir/OTP

// system.diagram()

Architecture

Elixir/Phoenix architecture with fault-tolerant real-time collaboration

API calls Live updates ML inference Events React Frontend frontend Phoenix API backend Phoenix Channels service PostgreSQL + Ecto database PostHog external AI Engine ai
  • frontend
  • backend
  • service
  • database
  • external
  • ai

// receipts

Results

  • Migrated from NestJS to Elixir/Phoenix with zero downtime
  • Enterprise-scale Elixir codebase with fault-tolerant architecture
  • Dramatically increased WebSocket capacity via Phoenix Channels
  • AI-powered lead scoring and opportunity detection
  • Virtual office with real-time presence tracking
Enterprise-scale Elixir
Codebase
Phoenix + fault-tolerant processes
Architecture
Phoenix Channels at scale
Real-time
NestJS → Elixir with zero downtime
Migration
Live at crm.igddev.com
Status

// faq

Frequently asked questions

Why was Nexus CRM migrated from NestJS to Elixir/Phoenix?

The original NestJS architecture hit scaling walls with real-time collaboration — WebSocket connections under load caused cascading failures, and Node.js single-threaded limitations bottlenecked concurrent operations across distributed teams. Elixir on the BEAM VM solved both issues.

What stack powers Nexus CRM today?

Elixir and Phoenix on the backend (with Ecto and PostgreSQL), Phoenix Channels for real-time PubSub, a React + TypeScript SPA, PostHog for analytics, and Docker for deployment. It runs live at crm.igddev.com.

How was zero-downtime migration achieved?

We migrated feature-by-feature behind a gateway that routed traffic between NestJS and Phoenix, using dual writes during cutover. Each module was validated in production before the old service was retired.

What AI features does Nexus CRM include?

AI-powered lead scoring, opportunity detection, and sales recommendations — surfaced directly inside the pipeline UI to help reps prioritize the highest-value deals first.

What is the virtual office feature?

Phoenix Channels power real-time presence tracking so distributed teams can see who is online, what deals they are working, and collaborate inside shared activity feeds without leaving the CRM.

// next()

Have a project like this?

We build production systems with the same engineering rigor you see here. Let's talk.