Legal Tech / Telecom

Twilio TwiML + Postgres-backed queue + Node.js queue manager handle precinct call escalation from operator pools to on-call attorneys to voicemail.
Operator dashboard subscribes via SSE for queue state and uses Twilio's JS SDK for hold, transfer, and conference. No native client required.
Good Call Technologies connects people in police custody with attorneys. I built the Twilio-based voice routing system that powers 24/7 attorney connections from precinct phones, handling call flow logic, queue management, and automatic routing to available operators.
Alongside the phone system, I developed the operator dashboard where staff manage scheduling, handle live calls (hold, transfer, conferencing), and monitor real-time notifications.
People detained in precincts need immediate access to legal counsel, but connecting them to attorneys around the clock is a logistical challenge. The system needed to be reliable, handle call queuing during peak hours, and give operators full control over active calls.
Twilio-powered call flow system with queue management, enabling 24/7 attorney connections from precinct phones with automatic routing to available operators.
Real-time dashboard with scheduling, admin settings, notifications, and full call controls: hold, transfer, and conferencing.
Queue management system that handles peak-hour call volume, routes to available attorneys, and tracks call history for reporting.
This system connects people in police custody to an attorney, around the clock. There is no 'we'll fix it Monday' for someone sitting in a precinct. Every retry, fallback, and escalation rule had to be modeled explicitly, because the cost of a dropped call isn't a bad metric, it's a person without counsel.
24/7 telephony for people in custody, where a dropped or misrouted call isn't a bad metric, it's someone without a lawyer at 3am.
I modeled every retry, fallback, and escalation path explicitly in the queue manager instead of leaning on defaults.
Life-critical systems are unforgiving. If a failure mode isn't written down and handled, it will happen on the worst possible night.
Hold, transfer, and conference are the same three buttons every dashboard has. On paper there's nothing to differentiate.
I optimized the operator dashboard for response speed under peak load rather than piling on more controls.
Operator UX matters more than operator features. Under load, how fast the buttons respond is the whole product.
Twilio makes the call itself easy and quietly leaves the hard parts (failover, audit logging, custody-specific routing) as your problem.
I let Twilio own the media and kept failover, audit trails, and routing rules in my own queue manager.
Don't fight the platform for control of the call. Do own the metadata around it, because that's where compliance and reliability live.