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:

  1. discloses that it is an AI research assistant;
  2. asks the frozen questions in order;
  3. may use at most one neutral clarification;
  4. is forbidden from selling, negotiating, discounting, or introducing a new substantive question; and
  5. 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_unknown after 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

Share this project:

Updates