The guide

10 AI agents I built while I sell cars for a living.

Twenty years in automotive retail. No tech background. No computer science degree.

Agents running
22
Hosting
Under $50/mo
Revenue
Pre-revenue
Method
Build in public

I sell cars for a living. I have been on a dealership floor for 20 years.

In the margins of a real job I shipped 22 production AI agents that route work, write content, parse my voice, close tickets, and report on what is actually working. They run for less than $50 a month in hosting. Pre-revenue. Built in public.

This is what 10 of them actually do. Not what they could do. Not what they will do once I add the next module. What they did last week.

If you have a day job and you watch AI Twitter and feel like you are behind, you are not behind. You are on a different track. The people on that track who finish are the ones who pick a workflow they hate doing on their phone in line at the drive-thru, and build the smallest possible thing that handles it.

That is how I started. This is what came of it.

How to read this

Each agent gets the same five lines. What it does, in plain language. Why I built it. What it is made of. One concrete receipt. And what it honestly cost me in operator hours.

No income claims. There is not a single dollar I made from any of this in here, because there are none yet. That is the point.

The 10 agents.

/01

AVO Cockpit

Voice first. Phone first. Everything else after.

What it does
I open one web page on my phone. I tap a microphone button. I speak the work I just got off a call about. The cockpit transcribes it, parses what I said into structured fields, and commits a work flag to a private GitHub repo. From there the rest of my agents pick up the work.
Why I built it
I had eight Claude chats running my businesses. I was losing context every time I switched between them on my phone between a test drive and a service walk. I needed something I could speak into between greetings.
Stack
Next.js on Vercel. Auth is a single password with an HMAC-signed cookie. The mic uses MediaRecorder negotiating whatever codec the phone supports. Whisper handles the speech. GPT-4o in JSON mode parses it into flag fields and routes to the right destination chat.
Last week's receipt
Cost per voice submission runs about $0.01 to $0.02, verified in the milestone commit. I voice a flag from the parking lot. The flag commits. The agent on the receiving end picks up the work. I never opened the chat.
What it cost me
Evenings and lunches, across five iterative milestones. The voice layer was the last layer. Auth before voice. Form before mic. Flag commit before intent parsing. The order mattered more than the speed.
/02

Paperclip

The boring plumbing.

What it does
A routing layer that lets a single Claude conversation reach nine different tools through one auth surface. Gmail, the CRM, Calendar, Drive, Canva, and the rest. One server. One conversation. Nine tools.
Why I built it
Most AI agent demos break the moment you ask the agent to do something across your actual business. Read this thread, find the matching contact, log a note, schedule the follow-up. Without something like Paperclip that prompt does not work. With it, it is a one-liner.
Stack
Python and FastAPI on Railway, built on the MCP server pattern. Each tool authenticates separately through whichever flow that vendor uses.
Last week's receipt
One prompt, four tools, a result in under a minute. I asked it to pull the last week of email threads with a client, find the matching contact, summarize what we owe him, and create a Drive folder for the report. It produced the folder and a six-line action list. I did not click between tabs.
What it cost me
Evenings and weekends. The OAuth flow for one provider took longer than the rest of the code combined. The boring parts always do. Anyone telling you that part is fast is selling you something.
/03

Sofia

Content and visual production.

What it does
Sofia writes brand voice guides, drafts social captions in the formats each platform actually rewards, drafts long-form in a brand's locked voice, and proposes visual directions for campaign work.
Why I built it
I was the bottleneck on every piece of copy. Every post, every caption, every nurture email came through my hands. That math does not work when you have a day job. The constraint was never creative. It was time on the keyboard.
Stack
CrewAI on Railway. System prompt anchored to each brand's brand kit, with image generation wired in. She reads the latest brand voice document at runtime.
Last week's receipt
Last week Sofia drafted a brand voice guide for a client journal brand, locked from the client's own discovery doc, plus long-form page copy and a founder video script in the client's voice. Three deliverables, drafted on a Tuesday between dealership shifts.
What it cost me
Sofia is a long arc. The lesson is not build Sofia. The lesson is build the brand kit Sofia reads from. Her output only became publish-ready once the brand kit underneath her locked tight.
/04

Marcus

Research, with a real toolkit.

What it does
Comp-brand research, trend extraction, and platform-specific content audits across TikTok, Instagram, Facebook, YouTube, and Google. He runs through Paperclip routing.
Why I built it
I kept paying for marketing audits that came back as a PDF two weeks later. Two weeks is too long for the work in front of me. I needed comp research the same day I asked for it.
Stack
CrewAI with the KeyAPI toolkit. Outputs a structured audit with per-channel findings, comp brand patterns, and an opportunity list with the underlying screenshots.
Last week's receipt
A comp audit across three competitor brands for a client, delivered as multi-section markdown with platform-specific findings. Marcus produced it while I was running a deal in F&I.
What it cost me
The integration was a weekend. The system-prompt iteration was longer. The real cost was learning what good comp research even looks like. The first Marcus surfaced research that read smart and meant nothing.
/05

Carlos

Analytics and reporting.

What it does
Carlos pulls performance data from GA4, ad platforms, and CRM tables, then generates the weekly client reports in the brand's voice, and standardizes the internal pulse.
Why I built it
I was hand-building monthly client reports. Each one was three to five hours of pulling data, writing prose, recording a walkthrough, and emailing the package. Across the clients on monthly reporting that is most of a workday, every week, before I do any new work.
Stack
CrewAI. Direct GA4 API through a service account. Multi-property by flag. Outputs the report, the Drive folder, the email body, and the walkthrough outline.
Last week's receipt
The Worden Welding monthly report shipped at full delivery standard. PDF in the client Drive folder, a walkthrough, and an email body with the link. The same standard I built for one client now runs on the same template for every client.
What it cost me
The first report was hand-built. I wrote the template the moment I shipped it. The second used the template. The third used Carlos. Wait until you have shipped the human version three times before you automate it, or you will automate the wrong thing.
/06

Brenda

B2B sales-ops pitch writer.

What it does
Brenda drafts cold outreach for premium B2B targets. Target profile, candidate companies, pitch angle, pricing model, and why it works. She does not send. She drafts. The send happens in a separate human-reviewed lane.
Why I built it
I had a queue of verticals I wanted to pitch and one Saturday a month to write the outreach. The math was bad. Brenda gives me a starting point on Saturday morning. I edit on Saturday afternoon.
Stack
CrewAI, fed by the same research toolkit Marcus uses, with a system prompt holding B2B pitch patterns. Output is a structured doc with five sections per target.
Last week's receipt
Five premium-target pitches drafted in one pass, each naming the target profile, the candidate companies inside it, the angle, why it works, and the pricing model. I edited them Saturday and sent the first batch Tuesday.
What it cost me
Brenda is still calibrating. Every time I edit her output, the edit becomes her next instruction. The cost is the editing, not the build. Anyone telling you cold outreach is fully automatable has not done enough of it to know what gets read.
/07

close_flag.sh

The smallest agent. The most leverage.

What it does
196 lines of bash. No LLM. No AI. It takes five arguments, pulls the latest telemetry repo, removes a flag block from a source file by fingerprint, appends a closed entry to the closer's own file, commits both changes, and pushes. Autostash lets several chats run it at once without stepping on each other.
Why I built it
Before this script, every flag closure came through me. Eight chats, dozens of flags a week, and I was the bottleneck on routine bookkeeping.
Stack
Bash 3.2, because the target is macOS. Git for the actual writes. A case statement rather than an associative array, because the shipped macOS bash does not support the latter.
Last week's receipt
Eight chats now close their own flags without routing through me. I have not manually closed a flag in over a month. The repo log shows chats closing flags concurrently with no conflicts.
What it cost me
Three evenings. The hard part was the autostash and rebase sequence for the case where another chat is mid-edit. The lesson is not learn bash. The lesson is that the most useful agent I built does not use AI at all. It just removes me from a step I was never needed in.
/08

The voice intent parser

Small agent. Compounding leverage.

What it does
It takes a transcript like the one I speak in the parking lot and returns structured fields. Source chat, target chat, what, why now, by when. The cockpit takes those fields and commits the flag.
Why I built it
The cockpit's voice layer was bringing in raw transcripts, and a raw transcript is not a flag. I needed a small, cheap, reliable parser that turns natural operator speech into the exact structure the flag system expects.
Stack
GPT-4o in JSON mode, with a system prompt carrying explicit per-chat context for what each chat actually handles, plus a handful of few-shot examples of how an operator really talks.
Last week's receipt
About $0.01 to $0.02 per submission, verified in the milestone notes. I voiced a flag in plain language from the parking lot. It inferred the source chat, inferred the target, pulled the deadline out of the sentence, and correctly left the why-now blank, because I never said one.
What it cost me
A few hours, mostly prompt iteration. The leverage is large because it sits between every voice flag and every downstream agent.
/09

Wade

The content router.

What it does
Wade is the Paperclip-routed agent that takes the content and marketing flag handoffs. When a flag posts, Wade picks it up. When Wade finishes, the flag closes.
Why I built it
Same reason I built every router. So that I am not the router.
Stack
CrewAI on Paperclip routing, tied to the same toolkit Sofia and Marcus use, scoped to the Agent Empire channels.
Last week's receipt
Honest receipt. Wade exists and Wade is wired. Wade is not running the channels yet, because the visual brand work he would need is not finished. He can handle copy and content today. The channel cadence waits.
What it cost me
A weekend to wire the agent. The bigger cost is the gap between an agent existing and an agent earning. Most demos hide that gap. I am naming it.
/10

The cockpit-bridge poller

The one that makes the rest autonomous.

What it does
It polls the telemetry repo on an interval, picks up new flag rows, and inserts them into the handoff table where the agents pick up the work. It closes the loop from a voice flag posted to an agent doing the work, with nobody in between.
Why I built it
Without it, every voice flag I post sits in the repo until I open the chat and ask an agent to look. With it, the agent looks on its own.
Stack
A Python service inside Paperclip. Short polling interval in development, longer in production. It verifies a flag is in an agent's scope before inserting it.
Last week's receipt
Honest receipt. The bridge is in flight and the merge is still pending. Until it lands, my voice flags wait in the repo for me to look. The most important agent on this list is the one I have not finished, and I would rather say that out loud than pretend otherwise.
What it cost me
Still costing. A few hundred lines so far. The open question is the polling cadence, not the code.

Where to start if you have a day job.

Rule one

Do not start with an LLM. Start with the workflow you hate doing on your phone in line at the drive-thru. That is your highest-leverage agent. Mine was a voice flag system. Yours might be an inbox triage script, or a check on whether a payout landed, or something that closes a ticket.

Rule two

Build the boring plumbing before the glamorous demo. The routing layer matters more than the agent. Without it, every demo breaks the moment your business asks the agent to do something across tools.

Rule three

Telemetry beats intelligence. The 196-line bash script that closes flags removed more friction from my week than any prompt ever did. Sometimes the right answer is no AI.

Rule four

Ship in evenings and lunches. Five small milestones, not one big launch. Auth first, form second, the smart part last. That is the boring path. It is also the only one that finishes.

What this guide does not say.

  • No income claims. There are none. Pre-revenue.
  • No anonymized client-X-did-Y cases. The client I name, I name with their knowledge.
  • No lessons I did not actually learn. The I-ran-the-wrong-file-for-two-weeks kind is real. The I-10x-ed-my-business kind is not, and is not here.
  • No 7-step blueprint. There is no blueprint. There is the workflow you hate, the small thing you build to handle it, and then the next small thing.

What is next if you want more of this.

I run a community on Skool where I post the actual builds. The code, the errors, the parts that broke. I record weekly long-form on YouTube. No course. No pitch. Just the work.

Michael