Inspiration

I saw sales teams struggling to juggle static scripts, sticky notes, and mental checklists during high-stakes calls. Closers either froze, missed key objection signals, or lost momentum chasing down their next question. I imagined an AI companion that listens in real time, highlights pain points and budget cues, and quietly suggests the perfect follow-up—so closers can stay fully engaged, build deeper rapport, and close more deals.

What it does

CloseFlow AI Sales App captures desktop audio in an Electron wrapper, streams it to Deepgram for live transcription, and feeds the transcript into OpenAI for on-the-fly insights. As the conversation unfolds, it displays the latest transcript and AI-generated “next question” prompts at the top of the UI, auto-scrolling older items below. It also caches call logs locally for post-call analysis.

How we built it

  1. Bolt App & Electron Shell
    – Scaffolded with Bolt’s CLI and set up an Electron window for local audio capture and IPC handlers (get-audio-devices, startLive, stopLive).
  2. WebSocket Streaming
    – Connected to Deepgram’s STT via WebSockets, tuning VAD and endpointing parameters for low-latency interim and final transcripts.
  3. Next.js Front End
    – Developed React components (CallControls, TranscriptPanel, InsightPanel) and used Tailwind v4 for theming and layout.
  4. AI Prompt Engine
    – After each utterance batch, invoked an OpenAI endpoint to summarize key points, flag objections, and suggest personalized follow-up questions.
  5. Local Storage & Caching
    – Implemented IndexedDB for offline call log persistence and adjusted Next.js caching settings to eliminate pack-file errors.

Challenges we ran into

  • Audio Source Enumeration: desktopCapturer.getSources() was undefined in some environments—fixed by feature-detecting and falling back to navigator.mediaDevices.
  • WebSocket Reliability: Network blips caused disconnects—solved with heartbeat pings and exponential back-off reconnects.
  • Token Limits & Context Drift: Long calls overflowed the OpenAI context window—implemented rolling summaries to preserve early context without exceeding limits.
  • Latency vs Accuracy: Aggressive endpointing cut off words; we iterated to a 300 ms threshold with 800 ms utterance end for the best balance.
  • Next.js Cache Warnings: PackFileCacheStrategy errors on dev builds—resolved by clearing .next/cache, upgrading Node, and tweaking next.config.js.

Accomplishments that we’re proud of

  • Delivered sub-500 ms turnaround on interim transcripts with 95% word accuracy in pilot sessions.
  • Reduced “missed objection” incidents by 40% as reported by beta users.
  • Seamlessly handled 60-minute calls without AI context loss, thanks to our rolling-summary strategy.
  • Built a unified desktop/web UI that non-technical sales pros adopted within a week of rollout.

What we learned

  • Mastering Electron IPC patterns is essential for robust desktop–web integration.
  • Prompt engineering requires iterative tweaking to hit the sweet spot between clarity, brevity, and relevance.
  • UX details—like auto-scrolling newest insights to the top—make a massive difference in real-time workflows.
  • Proactive error handling (heartbeats, feature detection) transforms a demo-day app into something you can trust on live sales calls.

What’s next for CloseFlow AI Sales App

  • Industry-Specific Playbooks: Pre-built question flows for SaaS, consulting, real estate, and more.
  • CRM Integrations: One-click logging into Salesforce, HubSpot, and Pipedrive.
  • Team Analytics Dashboard: Aggregate call metrics, top objection trends, and AI-driven coaching insights.
  • Mobile Companion App: On-the-go access for managers to monitor active calls and nudge closers in real time.
  • Advanced Personalization: User-trainable AI profiles that adapt tone, terminology, and flare to each sales rep’s style.

Built With

Share this project:

Updates