A privacy-first, full-stack Kanban web application that uses a local open-source LLM to ingest unstructured sales notes, extract BANT criteria, score leads, and generate customized outreach.
Sales Development Representatives (SDRs) spend hours every week translating unstructured call notes into CRM data and drafting personalized follow-up emails. Furthermore, feeding sensitive prospect data into cloud-based AI tools (like ChatGPT) creates massive data privacy and security risks for enterprise companies.
This application streamlines the SDR workflow using a 100% offline, locally hosted LLM. It provides a frictionless Kanban interface that automatically qualifies leads using the BANT framework (Budget, Authority, Need, Timeline) and generates formulaic email drafts without ever sending proprietary data to a third-party server.
- Environment: Docker & Docker Compose (Multi-container architecture)
- Backend API: Python / Flask
- Database: MongoDB
- Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+ Fetch API)
- AI Inference: Ollama running
llama3.2:1b(Locally hosted) - Data Validation: Pydantic
- Zero Data Leakage: AI inference runs entirely within a local Docker container network, ensuring enterprise data privacy.
- Asynchronous Kanban UI: Drag-and-drop pipeline management with real-time UI metric updates via REST API calls.
- BANT Extraction: Forces strict JSON schemas to extract Budget, Authority, Need, and Timeline from messy text.
- Formulaic Email Engine: Generates customized cold emails based on extracted prospect needs and timelines.
- Soft-Delete State Management: Allows users to safely archive and restore leads without permanently dropping database records.
- Ensure Docker Desktop is installed and running on your machine.
- Clone this repository and navigate to the root directory in your terminal:
git clone https://github.com/05ashton/Lead-Qualifier.git cd Lead-Qualifier - Run the following command to build the environment and pull the AI model:
(Note: On the first run, Docker will automatically download the 1.3GB
docker-compose up --build
llama3.2:1bmodel. Please allow a moment for the Ollama container to initialize.) - Open your web browser and navigate to:
http://localhost:5000 - To gracefully stop the application, press
Ctrl+Cin the terminal, or rundocker-compose down.