written by
Jason Erickson

How We’re Building Shy Car: Automation, AI, and the Future of Selling Stuff

Ideas (in the age of robots) 4 min read

A behind-the-scenes look at how we’re using APIs, AI agents, and webhooks to help humans (awkwardly) sell their cars — and what it means for building in the age of robots.

🧵 Introduction

In the Age of Robots, a lot of people are focused on building large, complex systems. But sometimes, the magic is in building something very small — a tool that does one thing well, over and over, with the help of automation and AI.

Shy Car

That’s what we’re doing with Shy Car — a project that helps people sell their used cars without sleaze, dealerships, or awkward classified ads.

At first glance, it looks like a car-selling tool. But under the hood, it’s a real-time, AI-powered publishing system — dynamically generating car listings tailored for Craigslist, Facebook, and private sale groups using a combination of:

  • VIN decoders
  • webhook triggers
  • prompt chaining
  • dynamic persona shaping
  • and some spicy middleware glue

Here’s how we built it.

🏗️ Step 1: The Core Idea – Human + AI Matchmaking

Most people don’t know how to write a good car listing.

We do. Or, more accurately — the AI does.

The idea behind Shy Car is to create a “dating profile for your car”, based on real-world inputs:

  • VIN (for base data)
  • Images (optional, for human review)
  • Seller goals (speed, price, low hassle)
  • Marketplace targets (Craigslist, Facebook, OfferUp, etc.)

🔌 Step 2: VIN Decoding via API

We use a third-party VIN Decoder API (currently NHTSA for base proof of concept, or commercial providers like VinAudit) to gather:

  • Make, model, year
  • Body type, trim, fuel type
  • Engine spec
  • Manufacturer info

Once a user inputs a VIN, we call the decoder API via GET, and parse the response to a normalized internal vehicle schema, so our AI agent can handle edge cases (like partial data, missing trims, etc.).

Example VIN call:

GET https://vpic.nhtsa.dot.gov/api/vehicles/decodevinvaluesextended/<VIN>?format=json

We use this to populate a simple object like:

{
  "year": 2013,
  "make": "Toyota",
  "model": "Highlander",
  "trim": "XLE",
  "fuelType": "Gasoline",
  "driveType": "AWD"
}

🔁 Step 3: Webhook-Triggered AI Flow

Once VIN data is collected, we trigger a webhook that kicks off the AI writing process.

Our stack:

  • Frontend: JavaScript widget or form inside Brilliant Directories (or standalone React component)
  • Middleware: Pipedream / UChat / Pabbly / custom Flask endpoint
  • AI model: GPT-4o-mini (for fast + cost-efficient generation)

We send a structured payload to the AI agent:

{
  "vehicle": {
    "year": 2013,
    "make": "Toyota",
    "model": "Highlander",
    "trim": "XLE",
    "mileage": "123,000",
    "driveType": "AWD"
  },
  "platform": "Facebook Marketplace",
  "voice": "quirky, honest, lightly awkward"
}

This is routed via webhook to the OpenAI API, with a custom prompt designed like so:

🧠 Prompt Engineering Example:

You are a helpful assistant writing car listings for private sellers.
Write a listing for this vehicle: {{vehicle.make}} {{vehicle.model}} ({{vehicle.year}}).
Platform: {{platform}}
The tone should be honest, human, and a little quirky. Mention highlights (AWD, mileage, etc.) and gently suggest why this car is a great next chapter for someone.
Include a title, description, and 3 hashtags. Do not add contact info.

The result is a context-aware, voice-driven listing, optimized for the platform. We tweak the prompt slightly based on the target channel:

  • Craigslist = more structured + serious
  • Facebook = casual + emoji-friendly
  • Dealers = formal + feature-forward

📬 Step 4: Delivery & Post Options

Once the listing is generated, the system either:

  • Displays it directly in the browser (preview + copy to clipboard)
  • Emails it to the user
  • Saves it to their account in Brilliant Directories
  • Sends it to a Pabbly flow to auto-post (optional)

🧱 Bonus Tools in the Stack

  • Paperform: Front-end lead intake / embedded form styling
  • UChat: AI-based user interactions (coming soon)
  • Pabbly Connect: API orchestration, connecting Brilliant Directories → AI → user response
  • Cloudflare Pages: For hosting edge functions + experimental features

🤖 Why This Matters in the Age of Robots

This is the new indie builder stack.

Instead of:

  • Writing code from scratch
  • Building databases
  • Designing custom UIs

We’re building with APIs, prompts, and agents.

The “product” isn’t just a car listing generator. It’s a tiny AI toolchain:

  • Input → Enrichment → Generation → Delivery
    That’s the new loop.

If you’re a builder, this is the model:

  • Think smaller.
  • Build smarter.
  • Let the robots do the boring parts.

🧪 What’s Next?

We’re expanding Shy Car with:

  • Photo analysis + alt text generation
  • Instant dealership outreach packages (PDFs)
  • VIN-based car ranking tools (e.g. “best years to sell”)

All powered by chained AI actions + pre-trained prompt modules.

We’ll document that as it happens — right here at Age of Robots.


🎉 Final Thoughts

If you’re a builder, remember this:

In the age of robots, it’s not about doing more — it’s about doing the right thing faster, using the tools we have.

Shy Car isn’t a startup. It’s an experiment in automated empathy.

And we’re just getting started.


Want to build something similar?

Drop your questions in the comments, or subscribe for more build logs.


Ideas Bots