Working notes

Market analysis

Where this is going and what to do next, then the record it rests on: whether a listing fee could ever have worked, what every competitor charges, and the outside analysis the strategy came from. Ask questions of it at the bottom of the page.

Where this is going

Written 2026-09-23, one day after feasibility.md, market.md and strategy.md. Those three are the record and nothing here overturns their verdict: listing is free, nobody holds sale money, the family gate is the product. But a day of building changed the money question, the trust question and the AI question enough that the page needed a fourth tab. Outside numbers below are marked as such and carry the same warning as the other docs: verify before quoting any of them to a client.

Written to be read by Trip as much as by Benson or Richard. Nothing in it is softened, but it is written in the direction of what can actually be done, because plenty can.


1. What Trip wants, read from what he keeps asking for

Nobody asked Trip for a strategy memo, so this is inferred from the ideas that arrived, all of them through Richard, all of them in the last two days:

  • A TikTok-style feed of the walkaround videos, or a CarsNearU TikTok that posts them.
  • Ambassador garages: real shops, a special inspection rate, and a referral fee for every buyer sent their way.
  • A site he runs himself, from a phone, in the minutes between classes.
  • Cool cars. The strategy doc says the first-car lane is a Corolla; the car he lights up about is a GT-R. That tension is in every one of the outside analyses too.

Read together, that is a coherent instinct, and it is a good one. He is not asking for a better classified ad. He is asking for a place with content (video), relationships (garages) and a voice (a channel, not just a domain). Those are exactly the three things Facebook Marketplace structurally cannot have, and they are the three things a sixteen- year-old can build without capital.

Where the instinct needs steering, and only steering:

  • The channel is right, the feed is early. Gen Z genuinely searches on video: a Google-run survey of 18-24s found roughly 40% reach for TikTok or Instagram before Google; later eMarketer data has 43% of US Gen Z adults starting searches on TikTok and 42% on YouTube, against about a fifth of adults overall (sources at the end). So posting the cars where his own cohort looks is not a gimmick, it is distribution. An in-site scrolling feed of twelve videos, though, loops in twenty seconds and reads as empty. Post the videos by hand first; build the feed when there are a hundred cars.
  • The GT-R and the Corolla are not in conflict, they are two lanes. The code already has first_car and first_fun lanes. The enthusiast car is where his taste and his credibility live ("he knows what a GT-R buyer asks" is in the TODO); the first car is where the parent and the money live. A site can have a personality and still sell Corollas. Run both.

2. What changed the math: a third payer

The feasibility doc's whole argument was two-sided: sellers (charge nothing, they have free alternatives) versus buyer households (charge later, only when inventory justifies it). Both of those are still true. What arrived yesterday is a third party who is a business, not a neighbour, and who pays for a service actually rendered, not for exposure.

Who pays What for In code today Collectible?
Seller Listing a car $0, seller-free, the only live: true plan n/a - free on purpose
Buyer household Family pass $25 / 60 days modelled, live: false, ships free Later, at a few hundred listings
Garage A buyer we sent who booked an inspection $25 default per referral (garages.referral_fee_cents), Stripe Checkout invoice, marked paid by webhook Yes, now
Seller Photo pack (Trip shoots the car) $35 modelled, live: false Yes, in person, for labour

Why the garage row is the most collectible money in this business after the photo pack:

  1. No attribution problem. The feasibility doc killed the $100-on-close idea because a seller can always say "it sold on Facebook." A garage cannot say "the buyer never came" - the buyer either booked or did not, and the garage knows. The invoice goes out only after someone marks the referral inspected, which the garage itself has every reason to confirm (they want the next one).
  2. The payer is a business with a card. Not a parent being asked for 1.7% of a Civic, not a teenager chasing an adult for money. A shop paying $25 for a customer it would otherwise never have met is a normal cost of doing business, and the code bills it through the same Stripe Checkout flow the listing fee was written for.
  3. The unit economics make sense for the garage, if the rate is set right. Outside number: a pre-purchase inspection runs roughly $100-$250 at an independent shop and $150-$300+ from the national mobile services (Lemon Squad, POMCAR and the like). A shop offering CarsNearU buyers $79-$89 and paying $25 back is giving up margin on one job to win a customer who will need brakes, tires and an oil change for the next four years. That is how every local shop already thinks about a first visit.
  4. It makes the site more trustworthy every time it fires. A completed referral flips the listing's inspected flag - the "Inspected" badge that nobody can buy, only earn. Revenue and trust from the same event. No other line in the model does that.

The honest caveats, so nobody mistakes this for done:

  • There are zero real garages in the database. The two in there are named after sitcoms.
  • $25 is a number we made up. The first real garage owner will tell us what it actually is.
  • Somebody has to mark a referral inspected by hand. There is no webhook from a garage's own shop. This is a five-minutes-between-classes job, which is the whole operating model, but it is a job.
  • National mobile inspection services are not competitors to this, they are the alternative a parent already knows about. The pitch is not "cheaper than Lemon Squad"; it is "a shop ten minutes from the car, that we have met, at a rate a parent will actually pay."

The niche, in one line: the pre-purchase inspection you can walk into, at a price a parent will pay, from a shop we vouch for - and a badge on the listing afterward.


3. AI assistance: the one place a school project can be ahead

This section exists because the question keeps coming up and the answer changed today.

What is running. The assistant is Claude Haiku, in ai.rs. Two jobs exist: listing triage with vision (reads the photos and the text, recommends publish / fix / refuse to whoever runs the review queue - it recommends, it never publishes), and the general help widget (assist.rs), which is built to hand off to a person rather than guess. Both were switched off until this afternoon because every API key on disk was revoked; as of today a live key is in place and both work. The first real question we asked it - "tell me about the AMC Gremlin you have for sale" - it handed off, correctly, because the general widget is not given any one car's facts. That is the gap, and it is a deliberate one, not a bug.

What the incumbents have, and why theirs cannot do what ours should. Research supplied 2026-09-23, verified against the companies' own claims:

  • CarGurus "Discover," Autotrader "Ask AI" and Cars.com "Carson" are all conversational search: describe a car, get listings back. CarGurus says Discover traffic roughly tripled quarter over quarter in Q3 2025. It is working for them - as a way to surface inventory.
  • Autotrader "DealerAssist" and CarGurus "Dealership Mode" go further and are designed to help close a sale while the buyer is standing on the lot.
  • Cars.com's own survey of its AI users is the interesting number: about three quarters like having questions turned into search results, but two thirds want more - specifically a personal assistant that can answer a direct question about one specific vehicle. Their own customers are asking for the thing they have not built.
  • Carvoy is the exception, and it proves the rule: the buyer pays it, so it can flag accidents, branded titles and overpricing. It is general-purpose and it sells negotiation help from $99, not a per-listing read.

The structural reason none of them will build honest per-car critique: they are paid per lead or per dealer subscription. An assistant that says "don't buy this one" costs them money on the sentence it says it. Ours is not paid per lead - listing is free, there is no success fee, and the only placement products are reviewed badges that are switched off. The business model chosen in September for other reasons happens to be the only one under which an AI can afford to be honest. That is worth saying out loud on the site, because it is true and because it is the whole pitch.

Three things to build, in order, and none of them need "training":

  1. "Ask about this car" on the listing page. Same assistant, one more thing in its prompt: that listing's year, make, model, mileage, price, the seller's description, the tags, the spec fields. The whole listing fits in one prompt. This is context, not fine-tuning; there is no model per car. Rule carried over from the general widget: if the listing's own facts do not answer the question ("has it ever flooded" when the seller never said), say so and hand off to the seller. Never guess past what the seller wrote.
  2. An independent read per car, unprompted. A short critique generated once at publish, the same for every visitor, labelled plainly: not written or reviewed by the seller, does not affect ranking or fees. It has to be free to say "this listing doesn't tell you much" or "priced above similar cars nearby," or it is a sales tool wearing a disguise. The triage pipeline already reads photos and text; this is the same pipeline asked a different question - "what would a straight-shooting friend say" instead of "is this safe to publish."
  3. Two answers from one listing. No competitor talks to two people about the same car. The household code (family.rs, parent and driver seats) already knows who is asking. The kid asks "is it cool, what's it like to drive"; the parent asks "crash ratings for this year and trim, what does it cost to insure a 16-year-old on it, what breaks at 120k." Same listing, two honest answers, then help them agree. That is the product a first-car site should be, and it is not a feature anyone above is building.

Cost: pennies per question on Haiku. Risk: the one that matters is the assistant inventing something about a real car for sale. The hand-off rule is the entire mitigation, and it is already how the general widget behaves.


4. Front end versus back end: what the fees actually say today

Benson asked for this comparison directly. The rule the code is built on is "one source, so nothing can drift" (cn-core/src/pricing.rs). Here is where it holds and where it does not.

Fee Back end (pricing.rs) Front end Agree?
Listing a car $0, seller-free, live: true Home: "Free to list, no commission." About: "Free." Yes
Listing a car $0 /sell hero: "A hundred dollars. That is the whole fee." No
Extra slots, small lot, featured, badges, banner bundles Priced, all live: false, charge $0 About: modelled price + "Not switched on - free for now" Yes, and honestly
Family pass $25 / 60 days, live: false About: "$25 / 60 days" + "Not switched on - free for now" Yes
Photo pack $35, live: false About, same treatment Yes
Garage referral fee Not in pricing.rs at all - lives on garages.referral_fee_cents, default $25, billed from /admin/garages Nowhere on the public site yet Not covered
Account page buy buttons (bundles, slots) Would charge $0 while not live; Stripe not keyed locally Buttons exist and work Consistent, and inert

Four findings, in order of how much they matter:

  1. The /sell page still sells the $100 fee that every other document, the pricing code, the home page and a unit test all say is dead. It is the one place a seller lands with intent to list, and it tells them the opposite of what the checkout will do. Fix the copy: it is free, two at a time, no commission. This is a ten-minute change and it is the most important line in this section.
  2. The pricing guard test is failing, and has been since the bundles were added. no_plan_charges_a_percentage_or_a_hundred_dollars asserts every plan is under $100; banner-credits-10 is exactly $100.00. The test's intent is "never BaT's price on a first car," and a ten-credit bundle for a small lot is not a first-car fee - so either price the bundle at $99 or scope the assertion to per-listing plans. Either is fine; a permanently red test is not, because it means the next real regression will be ignored too.
  3. The garage fee lives outside the "one place." That is defensible - it is a B2B rate per garage, not a plan a person picks - but the About page currently says nothing about garages paying us. Once the first real garage is live, the site should say so plainly, next to the Inspected badge: "the garage pays us a referral fee; the buyer pays nothing extra; the badge cannot be bought." Independence is only worth something if it is stated.
  4. The project CLAUDE.md still opens with "Sellers pay a flat $100 listing fee." Internal only, but it is the first line the next session reads.

5. Feasibility, updated honestly

What is now proven, in code, end to end: a seller can list from a phone with a guided shot list; a person reviews before publish; a VIN is spot-checked against the NICB registry; a household can run Want / Approve / Not this one with the gate enforced server-side; a garage can be listed, matched by ZIP, referred to, invoiced and marked paid; a completed inspection earns a badge nobody can buy; and every fee in the model is switched off except the free one. The software is real.

What is still unproven, and still the binding constraint: anybody showing up. The two tests in feasibility §4 - five households asked one question, twenty listings gathered in one school radius at $0 - have not been run. Nothing built since changes that. It does change what the tests are worth: there is now more to show the five households (the gate, the inspection badge, a garage they could actually book) and more reason to walk the neighbourhood (a listing now comes with a free PPI discount attached).

Outside context, hedged. The US used-vehicle market ran about 38-39 million units in 2025 (Cox Automotive tracks the monthly SAAR; IMARC puts the 2025 total at 38.6 million). IMARC's breakdown has "unorganized vendors" - private party, independent lots, buy-here-pay- here - at roughly 42% of that, or on the order of 16 million cars a year moving through channels that are not franchised dealers. Even one metro is thousands of first cars a year. The demand was never the problem; being found is. On the parent side, the number that justifies the whole insurance-first idea from strategy §8: adding a 16-year-old to a family policy runs roughly $3,700-$4,500 a year on 2026 averages, more than doubling most policies, and varying by state from under $2,000 to over $7,000. A parent choosing between two $9,000 cars is really choosing between two insurance bills, and no listing site shows them that.

The feasibility verdict, restated for today: the $100 fee is still dead; the family gate is still the product; charging nobody in v1 is still right. What is new is that the business now has a payer who is not a parent and not a neighbour, a trust object that cannot be bought, and an AI position the incumbents cannot copy without changing their business model. That is a better hand than the one dealt on the 22nd. It is still a hand that has to be played in one town first.


6. Niches, ranked by "can Trip actually do this"

  1. The ambassador garage network. New, and the strongest because it is the one thing on this list that is a walk-in conversation, not software. Three shops within twenty minutes of his school. Script: "I send you buyers who are about to spend real money on a used car. You give them a straight inspection at $79. If they book, you pay me $25. You get a customer for the next four years." The admin console is built for the day one of them says yes.
  2. Honest AI, per car, and two answers for two people. The open lane described in §3. It is software, it is cheap, the key is live, and the incumbents' business models forbid it.
  3. Video as distribution, by hand, before anything else. Post the five best walkaround videos to a CarsNearU TikTok. Free, one evening, and it answers whether his cohort cares before a line of feed code is written. If it moves anything, the in-site feed and the "mark this postable" queue (TODO.md) come next; if not, nothing was built for nothing.
  4. School-radius inventory. Carried from strategy §8, still the most defensible thing a national app cannot care about. He can seed it on foot.
  5. Insurance-first search. Carried, and now with a number behind it (§5). Even a crude high / medium / low by make and year is a filter no parent has anywhere else.
  6. The hand-me-down lane. Carried. "Grandma's Camry, 89k, records in the glovebox" is different inventory from Marketplace flips, and parents trust it.
  7. The First Car lane refuses what a parent would refuse. Salvage, no VIN, three blurry photos, lowered and tuned. Partly built already (the lane rules in cn-core). Kids will hate it; it is what the parent is paying for.

Deliberately not on the list: beating Facebook on free volume, beating CarGurus on search, beating BaT on auctions, any fee on the sale. Same as the 22nd. Those are still lost.


7. What to do next, in order

  1. Fix the /sell hero. Free, two at a time, no commission. Ten minutes.
  2. Fix or scope the failing pricing test. Ten minutes.
  3. Sign one real garage. Then two more. The console is waiting for them.
  4. Post five walkaround videos to a TikTok, by hand, and watch for a fortnight.
  5. Run the two feasibility §4 tests. They are conversations, they cost nothing, and they now have more to show.
  6. Build "ask about this car." The key is live and the listing data is already in one place.
  7. Keep charging nobody. The photo pack and the garage referral are the only money that should move in v1 - both are payment for something that actually happened.

Where this is going, in one sentence: a local first-car marketplace where the kid picks, the parent approves, a shop we know inspects it, and the AI works for the family instead of the dealer. Nobody else is building that. A high schooler with a phone and a neighbourhood can start it this month.


Sources for the outside numbers