← AWS Motor Club
🛞 TireGuard · ScreenGuard · GlassGuard · v0.18.0

AWS MOTOR CLUB

Coverage, claims and roadside service for TireGuard, GlassGuard & ScreenGuard — one app for the customers, the dealership and the team, replacing a spreadsheet pipeline that ran on hope.

8,136
CUSTOMERS
10,717
LIVE REGISTRATIONS
6,283
ACTIVE COVERAGE
$3.20M
DEALER PROFIT GENERATED
AWS Motor Club v0.18.0 · live at aws-motor-club.pages.dev · source of truth: APP_BREAKDOWN.md
⚖️ The shift

From an AppSheet spreadsheet pipeline to a real system.

Dealer sheets used to be copy-pasted through staging spreadsheets into a master sheet, with formulas deciding who was covered.

😰 Before

  • Registrations arrived as spreadsheet rows and were pasted onward by hand
  • Term length and dealer profit lived in sheet formulas that quietly went stale
  • Claims and notes chased through memory and text threads
  • Nothing searchable — and no way to answer “is this customer covered?” fast
  • 💚 With the Club

  • One master list in a real database, searchable ten ways
  • Term, expiry and profit computed by code on every deal — never typed
  • Claims with a status pipeline and a paid-out ledger per tire
  • Every call, text and note logged on the customer, in the app
  • 🛡 The three products

    Coverage that knows its own expiry date.

    🛞
    TireGuard — the tire repair & replacement program. Damage after the product is applied gets repaired or replaced, tracked down to which tire (LF / RF / LR / RR / spare).
    🪟
    GlassGuard — windshield protection. One-year term by product default.
    📱
    ScreenGuard — a touchscreen-radio screen protector. One-year term, like GlassGuard. (Mercedes-Benz of South Orlando had sold it under the GlassGuard name; those sales were moved here in v0.10.0 with a logged, undoable click.)
    📐
    Term comes from dealer cost — TireGuard at $299 = 3 years, $199 = 1 year; GlassGuard and ScreenGuard = 1 year. Rules are table rows, so a new product or price is data, not code.
    💵
    Price is set per dealership. The dealer sells for whatever they choose; profit = sale price − dealer cost, rolled up for the program report.

    Coverage is active through the expiry date and expired the day after — and an expired customer is impossible to miss: full-width red banner, red-tinted coverage panels, uppercase EXPIRED badges.

    🧭 What's inside

    Seven sections, one job each.

    📊
    Dashboard — customers, registrations, active coverage, open claims, claims paid, dealer profit, per-product active/expired.
    👥
    Customers — the full master list, always visible: sortable columns, coverage / product / open-claim filters, linkable views, 50 a page.
    🧾
    Claims — pipeline from new → in progress → awaiting customer → approved → closed, with a per-item repair/replace ledger.
    💬
    Comms — chat-style thread per customer; calls, texts, emails and notes logged in-app, never bounced to another app.
    🏢
    Dealerships — the report builder plus per-dealership program pricing.
    🚨
    Road Rangers — operators who drive to the stranded customer.
    🔧
    Tire Shops — fixed drop-off shops, for when the vehicle still drives.
    📖
    Living breakdown — /breakdown renders from the live config and database, so the doc can't drift from the app.
    🚨 Roadside

    Two problems, two directories.

    A stranded customer and a driveable car need opposite answers, so they are separate sections that cross-link.

    🚨 Road Rangers

  • They come to the vehicle — mobile tire, tow, spare swap, on-site repair
  • Searched wide by default (60 mi) because rangers travel
  • Rated and noted from our own experience, with times-used
  • 🔧 Tire Shops

  • The vehicle comes to them — fixed drop-off tire & repair shops
  • Ranked by distance so small independents beat the big chains
  • 40 mi default, same save-to-directory flow
  • 🔎
    Discovery finds them for you. Google Places plus two OpenStreetMap engines run together and merge — every result arrives with a verified phone, rating and distance, one tap from saving.
    🚧
    Category gates keep it clean. Every result from every engine must prove it is on-location vehicle help — a mobile computer repair shop can't sneak into Road Rangers.
    🗺
    List ⇄ Map. Customer pin, dashed search-radius ring, green saved vendors, blue discovered — tap any dot for phone, distance and save.
    📈 For the dealership

    Any cut of the program, printable.

    Click a dealership and build the report you actually want to send them — no export, no spreadsheet.

    6
    Ways to group — month, quarter, year, F&I manager, product, or manager × product.
    🎚
    Filters — date range, product, specific F&I manager; sortable columns and a totals row.
    🧑‍💼
    F&I performance — units, retail sales and dealer profit per manager, profit-ranked.
    🖨
    Print → PDF — the chrome strips away and it becomes a clean program overview.

    Mercedes-Benz of South Orlando today: 9,715 units, $2.84M in dealer profit, 14 F&I managers on the board.

    ✨ v0.5.0 · The New Look

    The gloss-black shield theme.

    The design language the Appolis suite proved out — depth, glow, chrome-gradient numbers, glass panels, green-gradient buttons — rendered entirely in AWS's own brand: gloss black, silver chrome, bright green.

    ↩
    Classic is one click away in the sidebar foot, and the revert is total — every rule is gated, so nothing leaks between themes. The choice persists per device.
    🎨
    The palette editor on /breakdown still drives Classic and is untouched by the new theme.
    🔴
    Re-tuned for dark without losing the point: cards, inputs, dialogs and comms bubbles all went dark, badges were re-balanced, and expired stays unmissable red.

    This deck is drawn in the same palette.

    📱 Anywhere

    Built for the phone it gets opened on.

    ☰
    Drawer navigation under a fixed top bar below 840px; tables shed low-value columns instead of squeezing.
    👍
    Thumb-sized — 16px inputs so iOS stops zoom-jumping, 40px+ targets, scrollable dialogs, safe-area insets.
    🏠
    Add to Home Screen — manifest, icon and theme colour, so it launches standalone like a native app.
    🐛
    Report a bug from anywhere — the 🐛 button takes a note, the device basics and a screenshot, and files it straight to the board.

    Hosted on Cloudflare Pages + D1, behind a device access key. A version badge sits bottom-left, and a refresh chip appears the moment a newer build ships.

    📜 Changelog · to v0.18.0

    Every version, one page.

    .18.0
    v0.18.0 — 📇 The desk card, the small sticker, the install link. Each dealership gets a card for the finance manager's desk: the customer scans it before they leave, puts AWS on their home screen, and learns their coverage shows up within 24 hours. The door-jamb sticker is smaller — just the logo and the QR. Glass pros install the app straight from the GlassGuard link. The demo now has sample vehicles for every coverage answer and shows every email the app sends, and a new checklist lists what to find out from a dealership and from PCMI.
    .17.0
    v0.17.0 — 🏷 One sticker per product, one GlassGuard link. The stickers are now AWS black and lime with the real GlassGuard logo — one for GlassGuard, TireGuard and ScreenGuard, the same at every dealership. The GlassGuard sticker opens one link for every dealership: the glass pro picks the dealership, and the phone picks it for them when it is standing there. At Home's weekly list can be split into repairs or replacements, the logos and GlassGuard sales pieces live on a new Stickers & brand page, and a 🎬 Demo tour walks a meeting through all 7 steps from one page.
    .16.0
    v0.16.0 — 🎬 Demo mode and the GlassGuard sticker. A demo link runs the glass form, the claim and the customer portal without saving anything. The dealer page now shows a designed GlassGuard sticker with the dealership’s QR, ready to download for a printer. The windshield drawing is now seen from the front of the car: driver on the right.
    .15.0
    v0.15.0 — 📷 Scan the VIN. The glass-pro form, Start a claim and the customer portal now have a Scan the VIN barcode button: point the phone at the door-jamb barcode and the VIN fills itself in and is looked up. It works on iPhone and Android, and a photo works when the camera is blocked. Also fixed: buttons and badges that sat on top of other things on the screen.
    .14.0
    v0.14.0 — 🔌 The dealer-feed landing spot. A dealership's system (or PEN, or an F&I menu) can send contracts straight into the app with a private key instead of a login. Each contract is checked first, filed exactly once even if it is sent again, and logged under Import statements › Dealer feeds. No dealer system is connected yet.
    .13.0
    v0.13.0 — 🔑 The customer portal. Customers can now look after themselves at /portal: they type their VIN, last name and one more detail — the contract number on their AWS paperwork (or the last 4 of their phone, or their ZIP) — and see only their own products with a clear Active / Expiring / Expired badge, their claims and what happened on each, and how many windshield repairs they have used this year. A Start a claim button opens the claim page already filled in. No password, no account to create, and it never opens the admin app. Nothing is emailed or texted yet.
    .12.0
    v0.12.0 — 📣 Start a claim. A customer with windshield damage opens one page on their phone, picks their dealership, and sends their VIN, details and photos — including their driver's license, which only signed-in AWS staff can open and which is deleted 90 days after the request closes. At Home inside sales gets a HOT LEAD email with the coverage and how many repairs are left this year, calls the customer, and books the repair or replacement from a private link; the appointment lands on the claim. A new Leads page tracks every request. Nothing is emailed yet — it all waits in the Outbox.
    .11.0
    v0.11.0 — 🪟 The GlassGuard inspection form. A glass pro scans the dealership's QR sticker, inspects a windshield on their phone — damage types, a drawing, photos, repair or replacement — and submits. AWS gets the copy in the Outbox, a claim opens by itself when the customer is covered, and replacement jobs collect on a weekly walk-in sheet for At Home. Nothing is emailed yet.
    .10.0
    v0.10.0 — 🏷 ScreenGuard. The touchscreen protectors Mercedes-Benz of South Orlando sold under the GlassGuard name now live under their own product, ScreenGuard. The Imports page has a Data fixes box: check first (nothing is saved), then one confirmed click moves them; dates, prices and coverage end dates never change, every move is logged, and an Undo button puts it all back. The dealership's future "GG" sheets file as ScreenGuard on their own, and the Program Numbers deck shows three products.
    .9.0
    v0.9.0 — 🧱 Outbox + media + the public-form shield. Groundwork for the windshield leg: an Outbox where every email the app wants to send waits until you copy it out or a provider is connected, a safe photo store with a locked place for licence images, a guard for the coming public forms, and a private QR sticker link for each dealership on its page. Nothing new is open to the public yet.
    .7.1
    v0.7.1 — 🔒 Two belt-and-braces security tightenings from a five-point audit: looking something up can never quietly save anything anymore, and the practice server's file-serving rules got stricter. Neither was reachable by an outsider — closed on principle, each with a test that sounds the alarm if it ever comes back.
    .7.0
    v0.7.0 — 📥 Import statements. Drop in the spreadsheet the dealership emails and the app reads it: every customer, vehicle, price and F&I manager, straight into the system. It shows you exactly what it will add or change before anything is saved, spots cancelled deals so they never count as sales, quietly fixes dates the dealer's Excel wrote back-to-front, and checks its own maths against the cheque total on the sheet — refusing to import if the two disagree. Upload the same month twice and nothing doubles up.
    .6.3
    v0.6.3 — vehicles exist: all 9,715 registrations backfilled with year/make/model from their VINs. AppSheet notes imported and matched, junk contact cells cleaned.
    .5.2
    v0.5.2 — bug reporter takes a screenshot and passes it through to the intake.
    .5.1
    v0.5.1 — the 🐛 report button: broken-or-idea popup with device basics, filed to the board.
    .5.0
    v0.5.0 — ✨ the New Look, with Classic one click away.
    .4.x
    v0.4.x — Cloudflare + real data, the report builder, roadside discovery and the map, the split into Road Rangers vs Tire Shops, Google Places and the category gates, and the mobile build-out.
    .1
    v0.1–v0.3 — born as GuardHQ, renamed to AWS Motor Club; both master lists imported; comms hub and expired-coverage treatment.

    Full detail — every version, every number — lives in APP_BREAKDOWN.md §10.

    🛣 What's next

    Open on the board.

    📞
    Grasshopper — the comms hub logs everything today; wiring real send/receive is the next big piece. Everything stays in-app.
    🚨
    Seed the Road Rangers directory with the operators saved on the team's phones — better than anything auto-discovery finds.
    🔐
    Auth model — one shared device key today; per-user logins when the team grows.
    🧾
    Claim-time intake polish — capture the address, update the customer and open the claim in one pass.
    📊
    Program Numbers deck (v0.8.0) — open 📊 Present on a dealership's report and the numbers become a full-screen slideshow: arrow keys, fullscreen, PDF, live figures, no customer names.
    📅
    Deck window picker (v0.8.3) — on the Program Numbers deck, choose Last 12 months, any year back to 2023, or All time, and every slide follows; seven slides now — the claims and data-notes slides are gone. All time opens on the year in progress against last year, year to date.
    AWS Motor Club v0.7.1 · Addendum & Warranty Solutions