-
Prepare, guide, and follow up: the complete outbound call lifecycle in one privacy-first copilot.
-
During the call, the seller sees one focused playbook recommendation and a clear next action.
-
Seller-side push-to-talk is processed locally; every candidate requires human confirmation.
-
Controlled V10.19 validation: 10/10 scenarios, zero false positives, approved only for a limited pilot.
Inspiration
Charrúa CallPilot started with a very personal problem: I built a software product, and then I had to sell it.
My background is in technology, operations, and reliability engineering—not sales. I could design systems and solve technical problems, but cold calling local businesses felt like improvising every few seconds. I did not know how to open the conversation, which question to ask next, how to handle an objection without sounding scripted, or when to propose a demo.
I did not need another CRM that only recorded what happened after the call. I needed the sales coach I did not have: something that could prepare me before the call, guide me while it was happening, and leave me with a clear next action.
That real need became Charrúa CallPilot.
What it does
Charrúa CallPilot is a privacy-first sales execution copilot for technical founders, independent sellers, junior representatives, and small teams.
Before a call, it imports and organizes leads from XLSX/CSV, brings together business context, location, source, phone history, and previous interactions, and prepares a relevant opening and discovery objective. It can also recommend a calling window while showing the evidence level, confidence, and a safe fallback when the data is weak.
During a call, it turns a sales methodology into an interactive workflow:
Confirm the business
↓
Identify the right person
↓
Explain the reason for the call
↓
Understand the current process
↓
Confirm a real friction
↓
Connect it to the product
↓
Confirm relevance
↓
Schedule the demo or follow-up
The seller always has large manual controls for what the prospect said. The Windows pilot also supports seller-only push-to-talk: it listens only when the seller explicitly records a short phrase, transcribes it locally with whisper.cpp, and proposes a structured event. The seller must confirm that event before CallPilot displays the playbook recommendation. If the event is incomplete or unsafe, CallPilot abstains instead of guessing.
After the call, the system preserves the outcome, contact, callback, demo, and follow-up context so the seller can resume the relationship instead of starting over.
The default product never needs to record the prospect.
How we built it
We built Charrúa CallPilot with Codex and GPT-5.6 as an iterative engineering partner during OpenAI Build Week. The product evolved through small, guarded increments rather than a single large generation.
The core application is a local lead manager and conversation-state engine built with JavaScript, HTML, and CSS. A Tauri 2 desktop shell written in Rust provides a deliberately narrow native boundary. Local speech processing uses a pinned whisper.cpp build and a verified multilingual model. Structured seller intelligence converts only supported phrases into versioned events such as a callback, decision-maker referral, price discussion, or demo preference.
Codex helped us:
- turn an evolving sales playbook into explicit conversation states;
- audit real usability problems and redesign the interface around one action at a time;
- build the Rust/Tauri and Whisper integration;
- create regression tests before expanding microphone access;
- diagnose Windows process crashes and visible console windows;
- evaluate real Spanish calibration results without hiding phonetic errors;
- design safe abstention and mandatory human confirmation;
- distinguish human reading time from actual system latency;
- preserve an incremental Markdown record of every release, test, risk, and next step.
The runtime is intentionally local. The current pilot does not require an OpenAI API call. GPT-5.6 and Codex accelerated product design, implementation, debugging, test generation, safety reviews, and evidence-based iteration.
Challenges we ran into
Building a sales tool while learning sales
The first versions behaved like a script reader. Real calls immediately exposed why that was not enough: people interrupt, ask who is calling, say they are busy, transfer the call, request WhatsApp information, or use a different process than expected. The project had to become a conversation-state engine rather than a linear script.
Avoiding a robotic experience
Long speeches and mixed UI panels distracted the seller. We reorganized the product around a simple contract: show who should act, what to do now, what was heard, and what happens next. The operational practice now keeps the entire scenario in one central workspace.
Helping without recording the prospect
Our original roadmap considered full-call listening. On a cold call, announcing that the prospect is being recorded could damage trust, while covert processing would conflict with the product's values. We redesigned the system around manual controls plus seller-only push-to-talk. That made privacy a product constraint and a differentiator.
Local speech is imperfect
Spanish business names, Uruguayan pronunciation, numbers, and terms such as “Charrúa” or “videollamada” produced phonetic errors. We refused to hide those errors with silent aliases. Voice produces a candidate, never an automatic action, and ambiguity produces abstention.
Measuring the right thing
One human validation initially failed even though every scenario was functionally correct. The “latency” gate had measured how long the seller took to read and click, not how long the system took to respond. We separated human selection time from technical latency and added a negative regression proving that a genuinely slow system still fails.
Windows safety and reliability
We encountered toolchain gaps, Windows Application Control restrictions, a visible console process, and early calibration crashes. Each incident became a regression guardrail. The final pilot keeps the native command surface limited, validates audio format and model hashes, enforces timeouts, and deletes temporary audio even on failure.
Accomplishments that we're proud of
- A working Windows desktop pilot that combines lead context, call guidance, seller-only voice, and follow-up.
- A privacy model that does not require prospect recording or VoIP integration.
- A versioned safety boundary: voice can only create a candidate; the seller must confirm it.
- Safe abstention when an event is incomplete or unsafe.
- A local Whisper supply chain pinned and verified by size and SHA-256.
- An incremental guardrail suite that protects every capability added from V9 through V10.19.
- A controlled human validation with 10/10 scenarios passed, 0 false positives, 0 unconfirmed recommendations, and 0 unexpected errors.
- Median seller-only voice processing of 1.25 seconds and P90 of 1.388 seconds in the validated session.
- Transparent limitations: one positive voice scenario required a safe retry, so the product is approved only for a limited pilot—not production.
What we learned
The hardest part of selling is often not finding a lead; it is knowing what to do in the next ten seconds.
A CRM answers “What happened?” A sales copilot must answer “What should I do now?” without taking control away from the seller.
We also learned that privacy can improve product design. By refusing to depend on prospect recording, we found a simpler workflow that works alongside WhatsApp Desktop and native iPhone or Android calls.
Most importantly, AI recommendations need boundaries. Accuracy alone is not enough. The system must know when to abstain, expose uncertainty, require confirmation for high-impact events, and preserve a reliable manual path.
What's next for Charrúa CallPilot
The next authorized step is a controlled pilot across multiple sessions, devices, and sellers. We need to measure first-attempt recognition, safe-abstention frequency, cognitive load, and whether the on-screen recommendation actually helps the seller move toward a demo.
After that evidence, we plan to add seller-approved call summaries, stronger location-aware preparation, and learning from aggregated outcomes. Prospect recording will remain outside the default product. Full-call intelligence would only be considered as a separate, explicit-consent mode for environments that already manage compliance.
Our long-term goal is simple: give people who understand their product—but do not have a sales team behind them—the structure and confidence of a practical sales coach at the moment they need it.
Built With
- codex
- css
- gpt-5.6
- html
- javascript
- json
- powershell
- rust
- tauri-2
- webview2
- whisper.cpp
- xlsx