Full Time
2000 per month
40
Dec 31, 2025
Hi — thanks for reaching out.
Before we go any further, I want to clearly explain what we’re building right now, how it works, and what “done” looks like.
1) What CallDialer is (layman’s terms)
CallDialer is our high-volume outbound calling machine.
At scale, it does four core things:
Dials millions of phone numbers from lead lists
Uses Answering Machine Detection (AMD) to determine who answers
If a human answers, it plays a message asking them to “Press 1”
If Press-1 is detected, the call is instantly routed/transferred
If a voi
Think of it as a fully automated system that:
Separates humans from machines
Captures real intent via keypress
Converts outbound calls into qualified inbound demand
2) Critical requirement: Answering Machine Detection (AMD)
AMD is non-negotiable and a core success factor.
CallDialer must be able to:
Detect human answer vs voi
Decide in real time whether to:
Play the press-1 message
Leave a prerecorded voi
Hang up and retry later
Why this matters
Without accurate AMD:
You burn carrier reputation
You leave messages where you shouldn’t
You destroy response rates and CPS efficiency
This is not optional — it must be reliable and tunable.
3) Voi
The system must not blindly assume voi
We expect CallDialer to determine voi
CDRs (Call Detail Records)
Call duration thresholds
Audio timing vs voi
Post-call analytics (response rate correlation)
Detection of FAS (False Answering Services)
False Answering Services (FAS)
FAS are systems that:
Answer like a human
Delay speech
Then route to voi
The dialer must be capable of:
Identifying likely FAS patterns
Flagging numbers / routes / carriers with high FAS rates
Adjusting behavior (hang up, retry, exclude, or treat as VM)
This is essential for maintaining true pickup rates and protecting scale.
4) Technical breakdown (how it actually works)
Our repo is already largely built and structured as a production system.
A) API / Orchestrator (Fastify + TypeScript)
The “brain” of the system
Handles:
Campaign execution
Origination logic
CPS throttling
AMD decisioning
DTMF event handling
Transfer triggers
Logging & metrics
Key areas:
apps/api/src/routes/*
apps/api/src/services/*
apps/api/src/telephony/* (ESL client, call state, AMD/DTMF logic)
B) Telephony Engine (FreeSWITCH)
Executes real outbound calls via SIP gateways
Controlled via ESL (Event Socket Library)
Emits real-time events:
Answer
Hangup
DTMF digits
Media state
Call duration
This is where:
AMD signals originate
DTMF digits are captured
Transfers are executed (uuid_transfer, bridge logic, etc.)
C) Optional SIP Proxy (Kamailio)
Present for:
NAT handling
SIP normalization
Future carrier expansion
High-scale routing flexibility
D) Data Layer (Postgres + Redis)
Postgres: campaigns, leads, attempts, CDRs, outcomes
Redis: rate limiting, queues, state coordination at scale
5) Press-1 / DTMF ? Transfer flow (core revenue path)
This must be flawless.
Flow:
Human answers
Message plays
User presses 1
DTMF detected instantly
Call is transferred immediately
All events are logged correctly
Latency, missed digits, or dropped transfers are unacceptable.
6) Carrier connectivity expectations
CallDialer must connect directly to carriers using:
SIP (primary / expected)
Carrier APIs only if absolutely required
This is not Twilio or CPaaS abstraction.
This is real carrier-level dialing.
7) Execution sequence (important)
Phase 1 — Immediate
One carrier
~100 CPS
Max it out
Stabilize AMD, DTMF, voi
Prove reliability
Phase 2 — LCRHV
Only after Phase 1 is stable
Multi-carrier routing for cost optimization
LCRHV is deferred unless required to stabilize Phase 1
Datamanager & CallHub
Part of the ecosystem
Not blockers for CallDialer completion
8) Performance definition (“done” means this)
2,000,000 dials/day sustained
Accurate AMD
Verified voi
FAS detection and mitigation
Clean CDRs and outcome attribution
Reliable real-time press-1 transfers
Production-grade monitoring, retries, and failure handling
9) Required development workflow (non-negotiable)
Work must be done inside Cursor or Antigravity
Manual-only coding workflows are not acceptable
Speed, iteration, and testing velocity matter
10) What to include in your reply
If aligned, reply with:
Experience with FreeSWITCH, ESL, SIP gateways, or large-scale VoIP
Experience with AMD, voi
Experience handling DTMF ? transfer flows
Confirmation you can work fully inside Cursor or Antigravity
Any immediate concerns about scaling to 2M dials/day (and how you’d address them)
If this aligns, we’ll move quickly.
Thanks.