AI-Powered Real-Time Sales Coaching Platform
CloseIQ is an intelligent sales copilot that listens to live sales conversations, analyzes prospect behavior, retrieves relevant knowledge from uploaded documents, and provides real-time coaching recommendations to help sales representatives close more deals.
The platform combines:
- Real-time transcription
- Retrieval-Augmented Generation (RAG)
- Deal-state tracking
- Prospect avatar profiling
- Close probability prediction
- AI-powered coaching suggestions
- Live conversation analysis
- Prospect behavior detection
- Deal-stage tracking
- Objection identification
- Close probability estimation
- Next-action recommendations
CloseIQ generates:
- What To Say
- Why It Works
- Next Move
- Close Probability
during ongoing conversations.
Upload sales playbooks, scripts, SOPs, objection-handling guides, and training materials.
The platform:
- Processes documents
- Creates vector embeddings
- Stores them in ChromaDB
- Retrieves relevant context during conversations
- Grounds AI recommendations using company knowledge
The system continuously builds prospect profiles by analyzing:
- Communication style
- Buying signals
- Objection patterns
- Engagement indicators
- Decision-making tendencies
Supported file formats:
- TXT
- DOCX
Features:
- Upload documents
- Automatic text extraction
- Chunking and embedding generation
- Vector storage
- Metadata tracking
- Secure deletion with vector cleanup
┌───────────────────────────┐
│ React / Electron UI │
│ Real-Time Transcription │
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ FastAPI Backend │
└─────────────┬─────────────┘
│
┌───────┴────────┐
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ RAG Engine │ │ Deal Engine │
└──────┬───────┘ └──────┬───────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ ChromaDB │ │ Intelligence │
│ Vector Store │ │ Modules │
└──────────────┘ └──────────────┘
│
▼
OpenRouter LLM
backend/
├── app/
│ ├── core/
│ ├── models/
│ ├── routers/
│ ├── services/
│ │ ├── deal_engine/
│ │ └── intelligence/
│ └── main.py
│
├── file_metadata/
├── user_files/
├── vector_store/
└── requirements.txt
realtime-transcription-app/
├── public/
├── src/
└── package.json
Retrieval-Augmented Generation powers the coaching system.
Workflow:
Uploaded Documents
↓
Text Extraction
↓
Chunking
↓
Embeddings
↓
ChromaDB
↓
Similarity Search
↓
LLM Context Injection
↓
Sales Recommendation
The deal engine maintains conversation state across the sales call.
Tracks:
- Deal stage
- Objection level
- Payment discussions
- Prospect engagement
- Session memory
Modules:
deal_engine/
├── perception.py
├── decision.py
├── session_store.py
└── state.py
Advanced behavioral analysis modules.
Creates dynamic prospect personas.
Extracts:
- Buying intent
- Trust indicators
- Resistance patterns
- Decision triggers
Predicts likelihood of closing a deal based on:
- Transcript signals
- Deal progression
- Prospect engagement
- Objection severity
- FastAPI
- LangChain
- LangGraph
- ChromaDB
- OpenRouter
- OpenAI-Compatible APIs
- Pydantic
- Uvicorn
- GPT Models via OpenRouter
- OpenAI Embeddings
- Vector Search
- Retrieval-Augmented Generation (RAG)
- React
- Electron
- TailwindCSS
- Supabase Auth
- Deepgram Speech-to-Text
- Docker
- Docker Compose
GET /Response:
{
"status": "ok"
}POST /uploadForm Data:
file
user_id
GET /user/{user_id}/filesDELETE /user/{user_id}/files/{filename}Deletes:
- Physical file
- Metadata
- Chroma vectors
POST /queryExample Request:
{
"user_id": "sales_user",
"conversation_transcript": "...",
"prospect_transcript": "...",
"closer_transcript": "..."
}Example Response:
{
"what_to_say": "...",
"why_it_works": "...",
"next_move": "...",
"deal_stage": 70,
"close_probability": 0.82,
"sources": []
}git clone https://github.com/yourusername/closeiq.git
cd closeiqcd backend
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
pip install -r requirements.txtCreate:
backend/.env
Example:
OPENROUTER_API_KEY=your_key
OPENAI_API_BASE=https://openrouter.ai/api/v1
LLM_MODEL=openai/gpt-4o-mini
EMBEDDING_MODEL=text-embedding-3-small
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_KEY=your_supabase_service_keyuvicorn app.main:app --reloadBackend:
http://localhost:8000
cd realtime-transcription-app
npm installStart:
npm startBuild and run:
docker compose up --buildServices:
| Service | Port |
|---|---|
| Frontend | 8080 |
| Backend | 8000 |
Used for:
- LLM responses
- Embeddings
Website:
Used for:
- Real-time transcription
Website:
Used for:
- Authentication
Website:
- Real-time coaching
- RAG integration
- File knowledge base
- CRM integrations
- Salesforce connector
- HubSpot connector
- Multi-user teams
- Analytics dashboard
- Call scoring system
- Mobile applications
- React Native deployment
- Push notifications
- Fine-tuned sales models
- Organization-wide knowledge graphs
- Enterprise deployment
- API keys stored server-side
- Environment-based configuration
- Vector store isolation per user
- Metadata tracking
- Secure document deletion
- No provider keys exposed to clients
This project was developed as part of a Mobile Application Development project and serves as a foundation for real-time AI-powered sales enablement systems.
Feel free to fork, modify, and extend for educational or research purposes.
Additional project documentation:
SERVICE_SETUP.mdCLOSEIQ_Mobile_Project_Article.mdCLOSEIQ_Mobile_ReactNative_Deployment.md
CloseIQ — Helping Sales Teams Close Smarter, Faster, and More Consistently.