CRM Empire
Functional DemoCentral CRM that unifies a cluster of home-service apps under one role-based platform.
Multi-tenant SaaS command center that parallel-dials opted-in leads and routes only answered calls to available agents.

Outbound calling teams waste money on idle agents, blind managers, and legacy dialers that either underutilize agents or create compliance risk through reckless over-dialing. Legacy platforms are heavy, hard to configure, and enterprise-priced. Teams need to raise calling volume without adding headcount while staying compliant.
Built for Outbound calling teams — sales teams, appointment setters, contractors, service businesses, call centers, lead buyers, and agencies.
RoundRobin Dial OS places high-volume parallel outbound calls to opted-in leads and instantly routes every live, human-answered call to an available agent. Dial volume is a computed value — the minimum of human capacity, campaign ceilings, answer-probability budget, routing capacity, abandonment budget, provider limits, and compliance gating — never a raw admin input. Managers get a live sales-floor control tower and admins a command center for teams, campaigns, numbers, compliance, and analytics. It is compliance-aware by design with consent tracking, opt-out management, call-window rules, and audit trails.
A deterministic adaptive-pacing engine expressed as documented state machines for campaigns, leads, agents, and calls, driving a real-time dial loop. Telephony sits behind an adapter (mock by default, Twilio when configured), answered calls route over Socket.IO in real time, and background work runs through BullMQ, with encrypted provider secrets and webhook signature verification.
This is not a dumb dialer. It is an adaptive outbound routing platform where dial volume is a computed minimum of every safety constraint — never the maximum a manager typed.
Pacing EnginePrime Rule of Dial Volume
Computes recommended new dials as the minimum of all constraints each tick, with risk level and throttle reason.
Campaign State Machine
Eight-state campaign lifecycle with only legal transitions, all audited and evented.
Agent State Machine
Agent presence states where only Available agents are selectable for a routed call.
Lead Eligibility Engine
AND of eleven conditions — consent, DNC, window, attempts, retry delay — re-verified before each dial.
Lead ReservationAtomic reservation
Atomic acquire with TTL that guarantees exactly one dial per lead and self-heals on worker crash.
Dialing Modes
Preview, Progressive, Power, and Predictive — each with its own ratio and abandonment profile.
Answered-Call Routing
Deterministic answered-call routing to exactly one Available agent, or an abandoned/fallback path.
Routing Strategies
Round Robin, Longest Idle, Weighted Round Robin, and Skill-Based selection with logged decisions.
Call Outcome Engine
Every call ends in exactly one stored outcome that drives lead status, metrics, and retry.
Retry Scheduler
Outcome-driven retries that honor max attempts, delay, window, consent, suppression, and campaign status.
Opt-Out & DNC SuppressionOrg-wide suppression
Org-wide permanent suppression by phone number that overrides every other rule.
Disposition Engine
Configurable dispositions with note requirements, conversion, and opt-out triggers, deterministic once set.
Live Dashboard
Event-driven, near-real-time deltas that reconcile with underlying event counts.
Analytics Event Pipeline
Immutable, tenant-scoped, idempotent events ordered per correlation for accurate lifecycle metrics.
Leaderboards
Reproducible, tie-broken, time-zoned rankings derived from analytics events.
Failure Handling
Idempotent recovery for provider, worker, and webhook failures with no silent data loss.
Audit Log
Immutable, append-only, attributable entries for every sensitive action.
Recommended new dials
Based on available human agent capacity.
Calls-per-available-agent and max concurrent — a ceiling, not a target.
How many answers the pool can safely absorb.
Agents able to take answered calls right now.
Headroom under the compliance abandonment threshold.
Provider CPS and concurrent-call caps.
Calling window, consent, and DNC gating.











A pnpm/Turbo monorepo with a Next.js web app and an Express API, a Prisma + Postgres data model, Redis for sessions/presence and BullMQ queues, and Socket.IO for the live floor; telephony providers are pluggable and Docker Compose runs the stack.
Central CRM that unifies a cluster of home-service apps under one role-based platform.
Visual jobsite handoff and project timeline platform for construction crews and management.
Central analytics and management console for a suite of home-services sub-apps.
Start a project and reference this one — the conversation begins with what you have already seen.
Start a project