Skip to content

Contributing to the SavvyDealer Product Portfolio

This repo is the master inventory of SavvyDealer products. Its value depends on staying current and accurate. If it drifts, it stops being useful — and teams go back to duplicating work.

When to update this repo

Update immediately when any of these happen:

  • A product ships (moves from Active dev / Prototype to Live)
  • A product is archived or deprecated (moves to Dormant, or gets a "superseded by X" note)
  • A product's deployed URL changes
  • A product changes scope materially (purpose rewrite, new strategy slot)
  • A new product is created in savvydealer-adam
  • A product is retired in favor of another (merge the 1-pagers, note the consolidation in "What NOT to duplicate")

Structure

mkdocs.yml             # Site config + nav
docs/
  index.md             # Coordinated-strategy landing page (what the site is)
  inventory.md         # Master inventory — update the row for any change
  contributing.md      # This file
  products/<category>/ # One markdown 1-pager per product
  teams/               # Team-specific onboarding pages
  assets/              # Hero imagery and generated infographics
Dockerfile             # nginx-based static site build for Cloud Run

1-pager template

Copy this when adding a new product. Keep it ≤80 lines.

# <Product Name>

**Repo:** [savvydealer-adam/<repo>](https://github.com/savvydealer-adam/<repo>) · **Path:** `C:/Users/adam/<path>` · **Owner:** <name>
**Status:** <Live|Active dev|Prototype|Dormant> · **% Done:** <n> · **Last commit:** <YYYY-MM-DD>
**Deployed:** <URL or "not deployed">

## What it is
1–2 sentences. Plain English. Dealer-focused.

## Why it exists
Business reason. What gap in the market or in our stack this fills.

## How it works
Stack + 3–5 bullets on architecture. No code — enough that a new dev clones it and knows what they're looking at.

## What's done
- Bullet list of delivered capabilities.

## What's next
- Known gaps / planned work.

## Where the code lives
- Key entry points, deploy config paths.

## Integrations
Other SavvyDealer products this reads from / writes to.

## Don't rebuild this — extend it
One actionable sentence telling a new team member what category of work belongs IN this repo vs. what should live elsewhere.

Workflow

  1. Make the change — either edit the 1-pager, the README table row, or both.
  2. Update "What NOT to duplicate" in the README if the change affects what teams should/shouldn't build elsewhere.
  3. Update team onboarding pages (teams/*.md) if the change affects a team's scope of work (e.g., a new source for the warehouse team, a new strategy for the India team).
  4. Commit with a clear message. Example: "Lease scraper: status → Live, add Charlotte Nissan dealer".
  5. Push to main. No PR process for now — this is an internal reference doc, not production code.

House rules

  • No emoji in 1-pagers (Adam doesn't use them).
  • No vendor-filler vocabulary in any copy: "optimize / leverage / best practices / move the needle" and similar. Adam rejects this in dealer-facing content — keep the habit here too.
  • Link, don't copy. If a project already has detailed docs in its own repo (CLAUDE.md, PROJECT-STATUS.md), link to them instead of duplicating.
  • Facts only. If you don't know a field, leave it blank or write "unknown — needs audit" rather than guessing.
  • Keep the 1-pager short. 80 lines is a hard cap. If you need more, the detail belongs in the project's own repo.

Gaps in v1

  • Several 1-pagers are skeletons flagged "clone locally to confirm" — repos that weren't cloned on Adam's main machine at inventory time. When a skeleton 1-pager gets audited, replace the flag with real facts.
  • Team placeholders (Kat's notes tool, Kat's slides tool, Brian's Google Ads work, Lucas's form pages) need repo URLs to become real 1-pagers.
  • % Done estimates are rough. When a product ships, replace with a real status.

Who to ask

Adam (support@savvydealer.com). This is his portfolio — when in doubt, ask before adding or renaming.