TextDrive
A portable AI lead desk built by repeatedly teaching the agent how car sales actually works.
the problem
A fast reply matters in car sales, but a fast reply that invents inventory, sounds robotic, over-promises, asks for the appointment too aggressively, or mishandles a finance question is worse than no automation at all.
what i built
An AI lead-catcher over SMS and Messenger with inventory tools, qualification, follow-up, appointment handoff, boss commands, seller-acquisition mode, inventory ingestion, Marketplace tooling, team assignment, post-sale nurture, and an append-only audit trail.
current state
Built through a dense series of operating revisions and regression tests. the interesting artifact is less the chatbot than the dealership-specific constraint system around it.
i tried to build an AI car salesman, then spent most of the project teaching it not to act like one.
the first commit was already ambitious: a 24/7 SDR over SMS and Messenger with inventory tools, qualification, follow-up, appointments, alerts, and boss commands. the next two days of commits are basically a dealership veteran arguing with the bot until it learned the difference between a demo and a lead desk.
the agent was built as a closer, then immediately told to calm down.
the history swings between softer conversation and sharper word tracks because the problem was not simply capability. it was pacing: when to ask, what to capture, when to hand off, and how not to sound like a script wearing a language model.
yes, there is literally an em-dash scrubber.
name-drop discipline, banned process narration, promise guardrails, fixed appointment windows, and a code-level em-dash scrubber accumulated because tiny language habits were enough to make customer messages feel fake. gold transcripts and regression tests eventually protected those behaviors.
the dealership website blocked the elegant solution.
server-side scraping ran into bot protection, so the project tried a browser bookmarklet, JSON-LD capture, VIN upserts, CSV exports, vAuto-style files, and eventually native PDF extraction. large PDFs then forced streaming extraction. the inventory pipeline became a bigger engineering problem than the chatbot pitch suggested.
used cars only. real store hours. real CPO rules.
the system was narrowed toward used inventory, dealership hours, actual appointment timing, budget respect, whole-lot cross-shopping, and finance boundaries. it also grew seller-acquisition mode, missed-call text-back, QR stickers, Marketplace listing help, and post-sale nurture because those are parts of the same real lead lifecycle.
good automation ends with a human handoff.
the lead freezes when a real appointment or high-stakes finance question needs the desk. boss commands can pause, resume, confirm, block, and inspect history. AI identity behavior was revised repeatedly, but direct questions always had to be answered honestly.
the repo ended up closer to a portable lead desk than a chatbot.
assignment, KPIs, CRM handoff, inventory lifecycle, owner follow-up, audit history, translation, health checks, and a reorganized console accumulated around the agent. the product identity moved too, eventually landing on TextDrive in the later commits.