07

Good Call Technologies

Legal Tech / Telecom

RoleSoftware Engineer
Timeline2024
ClientGood Call Technology
Good Call Technologies screenshot

Overview

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 — 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.

Challenge

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.

Tech Stack

Next.jsTypeScriptTwilioNode.jsPostgreSQL

Architecture

Twilio TwiML routes incoming precinct calls into a Postgres-backed queue. A Node.js queue manager assigns calls to available operators based on schedule + capacity; the operator dashboard subscribes via Server-Sent Events for live state and uses Twilio's JS SDK for hold/transfer/conference. Failover is layered — if no operator is available, calls escalate through a configured fallback chain (different operator pools, on-call attorneys, voicemail). Call history is logged for compliance reporting.

Key Features

01

Voice Routing

Twilio-powered call flow system with queue management, enabling 24/7 attorney connections from precinct phones with automatic routing to available operators.

02

Operator Dashboard

Real-time dashboard with scheduling, admin settings, notifications, and full call controls — hold, transfer, and conferencing.

03

Call Management

Queue management system that handles peak-hour call volume, routes to available attorneys, and tracks call history for reporting.

What I Learned

  • 24/7 telephony is unforgiving. Every retry strategy, fallback path, and escalation rule has to be modeled explicitly — there's no 'we'll fix it Monday' for someone in custody.
  • Operator UX matters more than operator features. Hold, transfer, and conference are the same three buttons every dashboard has — what differentiates ours is how fast they respond under load.
  • Twilio's SDK abstracts the easy parts; the hard parts (failover, audit logging, custody-specific routing rules) live in your own queue manager. Don't fight Twilio for control of the call; do own the metadata around it.
Next ProjectForge BI