automotive / agent systemshipped · updated jun 2026

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.

repo case filegithub / sales1

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.

01
the first version wanted the appointment too badly

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.

02
voice became code

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.

03
inventory fought back

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.

04
narrow the operating lane

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.

05
the bot learned when to disappear

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.

06
Lot Pilot became TextDrive

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.

what stayed

the story is not that a model can answer a Marketplace lead. it is how much dealership knowledge had to be turned into constraints before the answer was worth sending.