No Prob Bob — Customer Discovery Agent

A conversational AI agent that guides customer discovery interviews, extracts insights, and saves structured seed documents to Afterburner projects.

https://github.com/davidbmar/bot-customerObsessed-No-Prob-Bob-afterburner  ·  public  ·  shipped

What it is

No Prob Bob is a Python-based conversational AI bot designed to facilitate customer discovery. It uses personality frameworks to ask probing questions rather than jumping to solutions, supporting text chat, push-to-talk voice interaction (STT/TTS), and Google Sign-In. It integrates with the Afterburner ecosystem to save structured insights.

Features

Quickstart

ollama pull qwen3:4b
git clone https://github.com/davidbmar/bot-customerObsessed-No-Prob-Bob-afterburner.git
cd bot-customerObsessed-No-Prob-Bob-afterburner
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pip install "piper-tts>=1.4" "faster-whisper>=1.0" "numpy>=1.24" "scipy>=1.11" "google-auth[requests]>=2.20"
cp .env.example .env
python3 -m bot.server

Architecture

flowchart TD
    User[User Browser] -->|HTTPS/WebSocket| Server[Bot Server]
    Server -->|JWT Verify| Auth[Google Auth Module]
    Server -->|LLM Request| LLM[Ollama/Claude/OpenAI]
    Server -->|STT Request| Whisper[Faster-Whisper]
    Server -->|TTS Request| Piper[Piper TTS]
    Server -->|Read/Write| DB[(SQLite Bot DB)]
    Server -->|Save Insights| Afterburner[Afterburner Memory Index]

How it's built

Built with Python 3.11+, it uses Ollama (default qwen3:4b) or cloud LLMs (Claude/OpenAI) for inference. Voice features rely on Faster-Whisper for STT and Piper-TTS for audio synthesis. Authentication is handled via Google OAuth JWT verification. The server runs on a custom HTTP gateway with SQLite for session management.

How it runs

sequenceDiagram
    participant U as User
    participant B as Browser
    participant S as Bot Server
    participant W as Faster-Whisper
    participant L as LLM Provider
    participant D as SQLite DB
    U->>B: Hold Mic & Speak
    B->>S: POST /api/voice/transcribe (PCM)
    S->>W: Transcribe Audio
    W-->>S: Text Result
    S->>L: Send Prompt + Context
    L-->>S: AI Response Stream
    S->>B: Stream SSE Response
    B->>U: Display Text
    opt Voice Output
        B->>S: POST /api/voice/synthesize
        S->>Piper: Generate Audio
        Piper-->>S: WAV Blob
        S-->>B: Audio Data
        B->>U: Play Audio
    end
    S->>D: Save Session/Insights

How to apply & reuse

Use this bot during the early stages of product development to validate problem statements. Engage it in simulated or real customer interviews to extract structured insights, which are then saved as seed documents for your project's memory index.

At a glance

CapabilitiesConversational InterviewingVoice Interaction (STT/TTS)User AuthenticationInsight ExtractionLocal LLM SupportCloud LLM Support
Componentsbot.serverbot.gatewaybot.authbot.configbot.dbscripts/run.sh
TechPython 3.11+OllamaFaster-WhisperPiper TTSSQLiteGoogle OAuthWebSockets/SSE
Depends onOllamaPython 3.11+piper-ttsfaster-whispergoogle-auth
Integrates withAfterburner EcosystemTelegramGoogle Sign-InAnthropic ClaudeOpenAI ChatGPT
PatternsCustomer DiscoveryConversational AILocal-First AIVoice UIStructured Insight Saving
Reuse tagscustomer-discoveryconversational-aivoice-interfacelocal-llmafterburner-integration

⚠ Needs attention