0 1 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 0

Halo unifies telephony, WhatsApp, Instagram, Messenger and tickets on one agent screen. Built on FastAPI, Next.js and Asterisk, validated at peaks of 500 calls.

(01).
PROJECT

How do you build a contact center that a full floor of agents leans on all day, without a deployment ever cutting a call in progress?

Halo puts telephony, the whole Meta suite — WhatsApp, Instagram and Messenger — and ticket management on a single agent screen. Voice queues, order taking, live supervision, quality scoring and management reporting, all tied to one case, so a call, a chat and an order stay connected with full history.

The architecture is a modular monolith with a satellite process dedicated to voice, so telephony is isolated from API releases and a deployment never interrupts a live call. It was validated under stress at 60 simultaneous calls with 80 connected users and peaks of 500 calls, with more than 535 automated tests green.

Supervision panel – live

Halo supervision panel with live KPIs, agent states and queues by area
Halo management dashboard with tickets and customer satisfaction
Agent list and active tickets in Halo
Active tickets by channel with assignment and actions

(01)
ABOUT THE PROJECT

What did we build, and what does it take to run a contact center where downtime stops the business?

Eleven modules on one screen: a WebRTC softphone with IVR, queues, hold music, transfers and recording; a unified Meta inbox with approved templates and outbound campaigns; tickets with areas, schedules, assignment schemes and SLA alerts; order taking with screen-pop and a price locked at confirmation; live supervision with listen, whisper and barge-in; a callback queue; QA scoring with CSAT surveys; management reporting; and AI that summarises, classifies and reads sentiment as each ticket closes.

Underneath: FastAPI on Python 3.12 for the API, Next.js and React for the agent browser, Asterisk 20 LTS for voice, PostgreSQL 16 as the source of truth and Redis for presence and real time. Every process runs in its own container, each client gets a dedicated isolated instance, and an event-driven design with a transactional outbox means no business change is lost — not even through a crash.

CSAT scores and minute-by-minute agent activity in Halo
Halo supervision panel with live KPIs, agent states and queues by area
Halo management dashboard with tickets and customer satisfaction
Agent list and active tickets in Halo

(02)
PROJECT GOALS

Put the whole operation on one screen: A call, a WhatsApp message and an order all belong to the same case, with complete history and traceability, so an agent never reconciles three systems to answer one customer.

Build it so it does not fall over: Voice isolated from API releases, hot state in Redis and history in PostgreSQL, slow work moved to workers with retries, and a real-time layer that heals itself — if an agent drops, their tickets go back to the queue on their own.

Active tickets by channel with assignment and actions
CSAT scores and minute-by-minute agent activity in Halo
Halo supervision panel with live KPIs, agent states and queues by area
Agent list and active tickets in Halo

Halo is not sold as software and left behind. It ships as a managed service: we deploy it, back it up and keep evolving it on the client's own isolated instance, and support goes straight to the engineers who built it — no intermediaries, no external call centre in between.

Francisco Gonzalez
Project Manager

NEXT PROJECT

Yard On Time

Web Design