Built an Open-Source SMS Dashboard

Built an Open-Source SMS Dashboard

Built an Open-Source SMS Dashboard That Twilio Should Have Made

You know that sinking feeling when a customer says "I never got your text" and you have no idea why? That's exactly why I built Twilio SMS Tracker - then open-sourced it so everyone can have proper visibility into their SMS infrastructure. Here's what I've learned about SMS infrastructure.

The Dashboard That Shows Everything

Every business sending SMS faces the same black hole: messages go out, but then what? You're left guessing if they arrived, why they failed, or which locations have problems. This changes that completely.

image

πŸ“ˆΒ Real-time KPIs That Matter

  • Total messages sent
  • Actual delivery rate percentage
  • Messages stuck in queue
  • Failed messages with one-click retry
πŸ’‘

When a message fails, you see the exact Twilio error code. Not "delivery failed" but "Carrier violation 30007 - spam detected" or "Invalid phone number format."

πŸ”„ One-Click Retry for Failed Messages

Failed messages aren't dead ends anymore:

// Before: Customer calls, you check Twilio logs, manually resend
// Now: Click retry button, done

No support tickets. No manual re-entry. Just click and retry.

Message Configuration

Configure SMS templates with dynamic variables and automatic review platform rotation.

image

πŸ“Š Automatic A/B Testing

The system automatically rotates between review platforms:

  • 50% of customers β†’ Google Reviews
  • 50% of customers β†’ Trustpilot

After 10,000 messages, you'll know which platform gets more clicks. No spreadsheets required.

Analytics That Drive Decisions

Track performance by dealership, branch, or any custom location parameter.

image

Finally answer questions like:

  • Which location has the best review response rate?
  • What time gets the highest engagement?
  • Which branches have delivery problems?

πŸ“€ Export Everything to CSV

Your data, your format, whenever you need it:

timestamp,phone,status,error_code,dealership,message
2024-01-15 14:23:01,+14155551234,delivered,null,Bay Motors,Review request
2024-01-15 14:23:45,+14155555678,failed,30007,City Auto,Carrier block

The Tech Stack That Just Works

I deliberately chose boring, reliable technology:

Frontend: HTML + JavaScript + Alpine.js (no build step!)
Backend: Node.js + Express + TypeScript
Queue: Bull MQ + Redis (handles failures gracefully)
Database: PostgreSQL (free tier works fine)
SMS: Twilio API
Hosting: Vercel (serverless, scales automatically)

Setting It Up in 5 Minutes

Step 1: Click Deploy

Deploy with Vercel

Step 2: Add Your Credentials

DATABASE_URL=your_postgres_url      # Get free from Neon.tech
TWILIO_ACCOUNT_SID=ACxxxxx         # Your existing Twilio account
TWILIO_AUTH_TOKEN=xxxxxx           # Your auth token
TWILIO_PHONE_NUMBER=+1234567890    # Your Twilio number

Step 3: Send a Test Message

curl -X POST https://your-app.vercel.app/webhook/transaction-complete \
  -H "x-api-key: your-api-key" \
  -d '{"customer_phone": "+14155551234", "customer_name": "Test User"}'

That's it. You now have production SMS infrastructure.

Real Problems This Solves

"Why did those messages fail yesterday?"

Before: Dig through Twilio logs, guess at patterns Now: Filter by date, see error codes, retry in bulk

"Which branch gets the most reviews?"

Before: Manual tracking in spreadsheets

Now: Built-in analytics dashboard

"The customer says they didn't get it"

Before: Check Twilio, probably can't find it, manually resend Now: Search by phone, see status, click retry

"How much are we spending?"

Before: Twilio console, calculator, estimates Now: Real-time cost tracking per message

Why Open Source?

Because infrastructure this critical shouldn't be a mystery. With open source you get:

  • No vendor lock-in - Fork it, modify it, own it
  • Complete transparency - See exactly how messages are processed
  • Community improvements - Users become contributors
  • Free forever - No per-message fees, no seat licenses

Quick Start Commands

# Clone and run locally
git clone https://github.com/rashidazarang/twilio-sms-tracker
cd twilio-sms-tracker
npm install
npm run dev

# Or deploy directly to Vercel
vercel deploy

More about me

My aim is to live a balanced and meaningful life, where all areas of my life are in harmony. By living this way, I can be the best version of myself and make a positive difference in the world. Professionally, I focus on the design and implementation of cognitive infrastructure: systems that make complex enterprise data usable through AI-powered tools and human-like interaction.

About me β†’

Similar blog posts