The problem
Customer discovery is supposed to reduce uncertainty. In practice, founders can change wording between interviews, pitch when challenged, ignore voicemail/refusal, and reinterpret contradictory answers after the fact.
CounterSignal turns CALL-E customer interviews into a falsifiable experiment. The goal is not to make more calls. The goal is to make it harder for the operator to rationalize bad evidence.
The judge-visible outcome
CounterSignal freezes four things before the first interview:
- target segment
- hypothesis
- exact question set
- decision thresholds
Those inputs produce a deterministic protocol hash. Changing the study means creating a new experiment identity.
The current dogfood rule is 8 / 5 / 3:
- at least 8 valid answered interviews
- provisional support at 5 supporting interviews with zero grounded contradictions
- hypothesis weakening at 3 grounded contradictions
The browser judge console starts from a provisionally supported state, then lets a reviewer add voicemail and contradictions. Voicemail does not inflate the answered denominator. At the third grounded contradiction, the decision flips to hypothesis_weakened while all five supportive interviews remain visible.
That is the core product behavior: CounterSignal is allowed to make the founder less confident.
Demo: https://countersignal.vercel.app
Why CALL-E is necessary
CALL-E is the interview instrument, not the decision maker. On a live run it:
- discloses that it is an AI research assistant;
- asks the frozen questions in order;
- may use at most one neutral clarification;
- is forbidden from selling, negotiating, discounting, or introducing a new substantive question; and
- returns a structured result tied to the exact call.
A completed call is not automatically evidence. CounterSignal requires terminal success, sufficient confidence, exact call/experiment/protocol/recipient binding, and a key quote grounded in recipient-side transcript text. Refusal, voicemail, unreachable, malformed, low-confidence, mismatched, and ungrounded outcomes stay outside the answered denominator.
Technical implementation
- Published CALL-E Python SDK on the live execution path
- Deterministic protocol identity and 8/5/3 state machine
- Strict result schema
- Recipient-side transcript grounding
- Durable SQLite reservation before dispatch
outcome_unknownafter ambiguous provider outcomes, with blind redial blocked- Exact recipient allowlist and explicit live-call enable gates
- Deterministic browser judge mode that requires no credentials or network
PR: https://github.com/CALLE-AI/awesome-phone-call-agents/pull/198
What makes it different
This is not lead qualification and it is not a generic survey bot.
Lead qualification asks whether a person should move toward a commercial next step. CounterSignal asks whether accumulated phone evidence should cause the operator to lose confidence in a pre-registered business hypothesis.
That changes the script, evidence model, denominator, state machine, and final decision authority.
Real-world validation boundary
The next proof is a permission-first dogfood study using opted-in participants. The public result will report:
- invited / permission / answered / nonresponse counts
- supporting and contradictory evidence
- decision sequence
- measured operator time
No product-market-fit or ROI claim will be made until the data supports it.
Why it is worth building
Voice agents can scale bad research just as easily as good research. CounterSignal adds an explicit falsification layer so phone automation can challenge the operator's belief instead of optimizing around it.
Built With
- call-e
- html
- javascript
- pytest
- python
- sqlite
- vercel
Log in or sign up for Devpost to join the conversation.