Skip to content
Ahmad Affan
Index01Work02Services03Process04About05FAQ06Blog
Open to new projects--:--Rahim Yar Khan · UTC+5Start a project

Have something worth building?

Start a project[email protected]
Ahmad Affan

Full-Stack Developer building web apps, bots and AI agents for founders and small teams worldwide.

Services

  • SaaS platforms
  • Telegram and WhatsApp bots
  • AI voice agents
  • Websites and WordPress
  • Automation and integrations
  • Trading automation

Case studies

  • Appex Market
  • TelegramCopy
  • Appointox
  • VoxPilot
  • All work

Get in touch

  • Email
  • Telegram
  • LinkedIn
  • GitHub
  • Fiverr
Ahmad Affan.
© 2026 Ahmad AffanBack to top ↑
← All work

SaaS · AI voice outreach

An AI outbound-calling control panel that sales teams can run themselves.

AI outbound calling control panel: agents, campaigns, transcripts and live transfers.

My role
Full-stack: React admin UI, Django API, Vapi client, campaign dialer and webhooks
Built with
ReactDjango · DRFVapiCeleryTelegram Bot API
Type
SaaS built for a client
Live site
voxpilot.org
voxpilot.org
VoxPilot website, scrolling preview
Overview

VoxPilot is a private control panel for automated outbound sales and follow-up calls. Staff design AI phone assistants (name, voice, model, system prompt, opening line, transfer destination), upload leads and launch campaigns.

The backend normalises numbers, queues leads and dials through Vapi in controlled batches. Call-end and transfer webhooks feed analytics, structured CRM-style notes, recordings and transcripts, and a Live Transfers board for handing hot calls to a human.

Built for
Reminders, follow-ups, lead qualification
Dial engine
Paced, concurrency-capped
Access
Private, login required
How it works
  1. Design an agent

    Pick a voice, model and prompt, add the opening line and an optional human transfer destination.

  2. Upload leads

    Add leads manually or import CSV and Excel. Numbers are normalised to E.164.

  3. Launch the campaign

    A paced dialer works the queue in batches with a hard concurrent-call cap.

  4. Calls complete

    State moves through queued, dialing, ringing, then completed, failed or retrying.

  5. Webhooks close the loop

    Vapi's analysis populates notes and analytics, and transfers appear live for a human to pick up.

What it does

Paced dialing

Batch size, gaps and a concurrency ceiling keep campaigns inside provider and carrier limits.

Structured call notes

Interest, intent, budget and summary are synced from Vapi's structured analysis.

Live transfers board

Cards for AI-to-human handoffs so a rep can step in with context.

Analytics

Volume, answer rate, transfers and conversions, charted per campaign.

Voicemail handling

Heuristics plus Vapi voicemail settings avoid wasting calls and minutes.

Telegram control bot

Optional alerts, handoff prep notes and chat control.

Tech stack
FrontendReact 18ViteFramer MotionRecharts
APIPython 3.10+Django 4.2Django REST FrameworkSimpleJWT
JobsCeleryThreaded dialerRedis (optional)
IntegrationsVapi.aiTwilio (optional)Telegram Bot API
InfraWindows ServerIIS + ARRWaitressCloudflare SSL
What I built
  • React admin experience and analytics views
  • Django data model, JWT auth and per-user ownership
  • Vapi client, campaign dialer and webhook handlers
  • Telegram bot integration and production deploy
More work
SaaS built for a client
appointox.com
Appointox website, scrolling preview

Appointox

Multi-tenant booking SaaS with subdomain sites, chat bots and an AI phone agent.

ReactFastAPIMongoDBRetell AI
SaaS built for a client
telegramcopy.com
TelegramCopy website, scrolling preview

TelegramCopy

Telegram-to-MetaTrader copy trading with Stripe billing and queued execution.

NestJSNext.jsMQL4 / MQL5Stripe

Want something like this for your business?

Start a project