Day 22: import batches are visible in the CLI.
Batch 1 β 3 leads. Bad ID 999 β no crash.
Gap: new timestamp still clones Jane (ID 11, now also 14). History β lock.
#Python#SQLite#BuildInPublic
Day 21: same cleanup batch canβt import twice.
First: 3 in. Replay: 0 in, 3 skipped. Still 3 leads.
Lock is the batch key, not βemail unique.β
Gap: new timestamp = new batch. Same CSV tomorrow can clone Jane.
#Python#SQLite#BuildInPublic
Day 20: CLEAN rows finally hit SQLite.
3 imported. Status NEW. CREATED activity. CLI sees them.
Broke: python -m app.crm_cli β missing error_handler / database. Needed app. imports.
Gap: run twice = duplicate leads. Skip-by-email is Day 21.
#Python#SQLite#BuildInPublic
Day 19: each cleanup gets its own folder.
output/Client/cleanup_timestamp/
CSV opens first. Missing file = error, no empty folder.
6 files per run. Clients donβt mix.
CLEAN still isnβt in SQLite.
#Python#BuildInPublic
@DataSynthGen Thanks! Honestly, the biggest surprise was how fast small issues tank the score. A few missing fields and duplicate groups can drag down CRM health quickly.
It made me realize data cleaning isnβt just about fixing errors itβs about making the database trustworthy for the team
Day 17: fuzzy duplicates. RapidFuzz, not βAI.β
Same name β same customer.
John Adewale vs Jon Adewale: name 95%, company 86%, email 76%, phone 43% β POSSIBLE DUPLICATE, not merge.
HIGH = same email/phone. MEDIUM = human review. No auto-delete
#Python#RapidFuzz#BuildInPublic
Day 15: status changes now write history.
Before: overwrite the column. Old value gone. Now: save old β new, then update.
CLI kept CONVERTED β LOST. Dashboard un-counted it.
Snapshot β audit trail
Next: first outreach auto NEW β CONTACTED
#Python#SQLite#BuildInPublic
Day 14: added status to a live SQLite CRM without wiping data.
PRAGMA, then ALTER only if missing. Started lead_activities
CONTACTED β CONVERTED. 1/7 = 14.29%.
Status = snapshot. History = audit trail.
Next: first outreach auto NEW β CONTACTED.
#Python#SQLite#BuildInPublic
Day 13 β My CRM dashboard said I converted 100% of leads.
But status breakdown said: CONVERTED: 0.
The bug? One SQL query was counting every lead.
Fixed it with the correct WHERE status = 'CONVERTED'.
Lesson: metrics are only as honest as the SQL behind them.
#Python#SQLite
π Day 12 β AI CRM Automation
Improved lead management.
β Lead status tracking
β Status updates & search
β Sales pipeline stages
β Fixed database mapping
Workflow: Lead β AI β Database β CRM β Status
#Python#AI#CRM#Automation#BuildInPublic#100DaysOfCode#NVIDIA
π Day 11 β AI CRM Automation
Added AI-powered lead analysis.
β NVIDIA AI
β Intent & product detection
β Lead scoring
β Automated summaries
Workflow: Lead β AI β Database β CRM
#Python#AI#CRM#Automation#BuildInPublic#100DaysOfCode
π Day 10 β AI CRM Automation
Improved CRM reliability with error handling.
β Protected AI & database operations
β Added user-friendly errors
β Tested error handling
Workflow: Raw Lead β Validation β AI β Database β CRM
#Python#AI#CRM#Automation#BuildInPublic
π Day 9 β AI CRM Automation
Integrated validation into the CRM.
β Block invalid leads
β Validate before AI & database
β Tested full pipeline
Workflow: Raw Lead β Validation β AI β Database β CRM
#Python#AI#CRM#Automation#BuildInPublic#100DaysOfCode
π Day 8 β AI CRM Automation
Built a validation layer for cleaner CRM data.
β Lead validation
β Email & phone checks
β Priority & score va
β Automated tests
Workflow: Raw Lead β Validation β AI β Database β CRM
#Python#AI#CRM#Automation#BuildInPublic ##100DaysOfCode
π Day 7 β AI CRM Automation
Connected AI processing directly to the CRM.
β Lead creation
β Data cleaning
β Duplicate detection
β AI analysis & scoring
β SQLite storage
Workflow: Raw Lead β AI β Database β CRM
#Python#AI#CRM#Automation#BuildInPublic#100DaysOfCode
π Day 6 β AI CRM Automation
Built CRM lead management.
β View lead by ID
β Update priority & score
β Delete leads safely
β Delete confirmation
β Full CRUD with SQLite
Create β Read β Update β Delete
#Python#AI#CRM#BuildInPublic#100DaysOfCode#NVIDIA
π Day 5 β AI CRM Automation
Built the interactive CRM CLI.
β Menu-driven interface
β View all leads
β Search by email
β Filter by priority
β Lead
β Connected to SQLite
Raw Lead β AI Analysis β Database β CRM CLI
#Python#AI#CRM#BuildInPublic#100DaysOfCode#NVIDIA