Skip to content
Stephan.

03Freelancing

Auto-Calling System

Automated Communication Platform

Automated voice outreach for a non-profit, integrating Twilio with a Firebase backend for contact management and call scheduling.

Company
Freelance Client
Role
Freelance Full-Stack Developer
Category
Full-Stack
012400×1000

/images/work/auto-calling-system/cover.webp

Full-bleed project cover. Wide editorial crop of the interface or its subject matter.

01Impact

By the numbers.

Twilio

Voice integration

Auto

Scheduled campaigns

Server

Credentials isolated

Log

Per-call outcomes

02Overview

The brief.

Community outreach by hand does not scale past a few dozen contacts. This system manages a contact list, schedules calls, and places them through Twilio, with Cloud Functions handling the telephony so API credentials never reach the browser.

Problem

Reaching a community list manually costs hours per campaign and produces no record of who was actually contacted. Any automated replacement has to handle telephony credentials safely and cope with calls that fail or go unanswered.

Solution

Firebase Cloud Functions act as the trusted boundary: the client requests a campaign, the function holds the Twilio credentials and places calls server-side, writing outcomes back to Firestore so every attempt is recorded.

03Features

What it does.

01

Contact management

Contact lists as structured records rather than an imported spreadsheet per campaign.

  • Firestore
  • React
02

Twilio voice integration

Programmatic call placement through Twilio, invoked server-side.

  • Twilio
  • Cloud Functions
03

Call scheduling

Campaigns queued to run at a chosen time rather than requiring someone present.

  • Cloud Functions
  • Firestore
04

Credential isolation

Twilio keys live only in the Cloud Functions environment — the client never holds them.

  • Firebase Cloud Functions
05

Call outcome logging

Each attempt writes its result back, so a campaign has an auditable record.

  • Firestore

04Architecture

How it's built.

frontend

  • React
  • Campaign interface
  • Contact management

backend

  • Firebase Cloud Functions
  • Firestore

telephony

  • Twilio Voice API
  • Server-side placement

security

  • Environment-scoped credentials
  • Firebase Auth

05Challenges

What was hard.

01

Telephony credentials must never reach the client

All Twilio calls routed through Cloud Functions, with keys held in the function environment rather than shipped to the browser.

02

Calls fail, and a campaign still has to be accountable

Per-call outcomes written back to Firestore so failures are visible rather than silent.

06Gallery

A closer look.

021600×1200

/images/work/auto-calling-system/01.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

031600×1200

/images/work/auto-calling-system/02.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

041600×1200

/images/work/auto-calling-system/03.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

051600×1200

/images/work/auto-calling-system/04.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

07Stack

Built with.

  • React
  • Firebase
  • Twilio
  • Cloud Functions
  • Firestore

Outcomes

  • Manual outreach replaced with scheduled campaigns
  • Telephony credentials isolated server-side
  • Every call attempt recorded against its contact