All projects
telecrm.sh

TeleCRM

Shipped

Pocket call center for Techgebra — one shared number, 100+ callers, no telephony hardware.

Sole / primary full-stack engineer, Techgebra

telecrm.app
TeleCRM screenshot

// Admin dashboard

telecrm.app
Executive dashboard

// Mobile app

Caller home
Caller home
Leads
Leads
On call
On call
Call forwarding
Call forwarding
Add lead
Add lead
Login
Login

telecrm_case_study.sh

~/projects cat telecrm_case_study.txt

// Problem

Traditional telecaller centers need dedicated hardware — desk phones, PBX racks, and fixed workstations — just to route calls and coordinate a team. Spinning up outbound campaigns for dozens or hundreds of agents is expensive, slow, and tied to physical infrastructure.

// What I built

I built TeleCRM for Techgebra — a complete call-center platform that runs on phones and browsers instead of dedicated telephony equipment. Teams provision one shared call-center number, onboard 100+ callers from the mobile app, upload leads, and place outbound calls directly from their devices. Multiple agents operate on the same number simultaneously, and customers can call back into that same line. Managers and executives oversee operations from a React admin dashboard; field callers work from an Expo app — backed by Express, PostgreSQL, LiveKit, and Plivo for in-app PSTN.

// Architecture

Three-app monorepo: Expo (React Native) mobile app for field callers, Express + TypeScript API with WebSocket real-time updates, and Vite + React + MUI admin dashboard. A single Plivo Zentrunk number is shared across concurrent agents via LiveKit. PostgreSQL via Drizzle ORM stores leads, users, and call state. JWT auth with role-based access (caller, manager, executive). Excel/CSV lead import. Docker Compose for local orchestration.

// Stack

Expo React Native Express TypeScript PostgreSQL Drizzle ORM LiveKit Plivo WebSocket Docker Compose

// Outcomes

  • ▸ Pocket call center — no dedicated telephony hardware required
  • ▸ 100+ concurrent callers on one shared call-center number
  • ▸ Outbound lead dialing and inbound callbacks on the same line
  • ▸ Role-based access for callers, managers, and executives
  • ▸ Excel/CSV lead import with real-time WebSocket updates