Nexa Coverage
A growth CRM with AI assistance inside the pipeline: drafts, call scripts and lead scoring where the rep works.
- 79
- Health score on the example lead
- 2
- AI assistants per lead
- 1 drawer
- To act on a deal
What they came with
Most CRMs are a filing cabinet. They record what already happened and leave the rep to write the follow-up, work out what to say on the call, and guess which open deal deserves the next hour. So the drafting happens in another tab, the lead score is a number nobody can interrogate, and the notes that would have made the message good sit unread further down the deal record. Nexa Coverage puts those three jobs in the record itself: drafts assembled from the deal's own history, scores stored with the reasons behind them, leads routed as they arrive.
What the engagement covered
- Kanban pipeline with lead health scores
- AI email drafter and call script generator per deal stage
- Send and log from the lead drawer, no context switching
- Stage, score, value and owner in one filterable table
- Pipeline value and average score totalled live
- Inactivity flags so leads do not go cold unnoticed
Technical detail
Drafts assembled from deal history
Context for a draft is built server-side from the deal's own timeline — notes, logged calls, stage changes — rather than from whatever the rep pastes into a box. The retrieval is bounded by deal and account id, and the timeline is trimmed oldest-first to fit the token budget, so a long-running deal degrades by losing old context rather than by failing.
Scores stored with their reasons
A score writes its contributing factors and the rule-set version alongside the number in Postgres, so the pipeline can show why a lead ranks where it does and an old score can be read back against the rules that produced it. Changing the scoring rules creates a new version and a re-run rather than overwriting history.
Model calls off the request path
Generation runs as a Celery job on Redis; the pipeline renders a pending draft and polls for the result, so a slow or rate-limited model call never holds a page open. Retries back off on 429s, and a job that exhausts them leaves the deal record untouched instead of writing a half-finished draft.
Routing decided at insert time
Tagging and routing rules are evaluated in a fixed order, first match wins, inside the same transaction that writes the lead. An unassigned lead therefore never exists to be picked up by hand, and a rule change applies to arrivals rather than silently reshuffling the directory.
The stack
Interface
API and data
Generation and jobs
Run and deploy
- Sector
- Growth CRM
- Audience
- Sales teams
- Shape
- Built, shipped and run by us
- Stack
- Next.js, FastAPI, OpenAI
Something like this to build?
Tell us what runs today and where it hurts. An engineer reads it and replies.

