I built this because outbound systems often optimize for producing more messages, not for learning which signals, ICP features, and message angles actually lead to meaningful conversations.
The goal was a closed-loop workflow: research a lead, score it against explicit ICP weights, draft and critique the message, require a human approval lock, and then learn from real outcomes. I also wanted to keep the system trustworthy: deterministic scoring and learning remain outside the LLM, and the repo never auto-sends outreach.
The approach evolved from a simple AI drafting experiment into a more structured pipeline with failover, evidence packs, audit logging, human approval, and a learner that updates both ICP weights and message patterns over time. CrewAI now serves as the drafting brain inside the workflow, rather than being responsible for the decisions that govern readiness or learning.