Sales Lead Machine — A CRM Built for Lead Data at Scale
Sales Lead Machine is a production CRM platform for importing, searching and working large volumes of people and company data. It runs live at salesleadmachine.uk, supporting sales teams who buy, build and work lead lists at a scale where spreadsheets stop coping.
Its users spend their day finding the right contacts, organising them into lists and reaching out, so the platform is judged on import, search and outbound rather than on dashboards.
Challenges Faced
Lead data arriving as spreadsheets in inconsistent formats, with no two files sharing a column layout.
Duplicates accumulating with every import, and no reliable way to detect them.
Search that has to stay fast across large record volumes rather than degrading as the database grows.
Data that does not fit a fixed schema, and would be lost if forced into one.
Multiple teams needing isolation from one another data.
Outbound activity — email and SMS — running outside the system that held the contacts.
Event and expo lead capture handled separately from the CRM it should feed.
Our Strategy
Import that copes with real files
Search that holds up
Access control and tenancy
Outbound and events
Transformational Results
Lead lists in any spreadsheet layout imported without manual reformatting.
Duplicates prevented at the point of import rather than cleaned up later.
Search that stays usable as record volumes grow, because it is indexed rather than scanned.
Data that does not fit the schema retained rather than discarded.
Teams isolated from one another by the platform rather than by convention.
Outbound activity recorded against the contact it relates to, instead of living in a sent folder.
Most CRM problems are data problems. A platform that makes contacts easy to add but hard to find, or that silently accumulates duplicates, becomes a place data goes rather than a place work happens. The decisions that matter here are unglamorous: full-text indexes rather than pattern matching, duplicate detection at import rather than as a cleanup job, and keeping the original row so a future question can still be answered from it.