Owners who check the shop every morning know what's going on. Owners who check only at month-end are surprised. The dashboard that opens when you log in has grown into a genuine working surface — not just four KPI numbers — so here's a walkthrough of everything that's on it now, and a 5-minute morning routine for what actually needs your eyes every day.
Where it lives
Your dashboard is the home page of the app (/app) — there's no separate "Owner dashboard" setting to configure, and no widget picker to build one from. It's fixed by design: SalesThumb decides what goes on it and where. What it shows you, though, isn't fixed at all — most of the sections below only render when there's something to say, so a quiet shop's dashboard is noticeably shorter than a busy one's. A date-range selector at the top of the hero (Today, This week, This month, Last 30/90 days, Year to date, Last 12 months) re-scopes the KPI strip, the revenue chart, the close-rate funnel, and the installer leaderboard together.
What's on it
Reading top to bottom, in the order the page lays it out:
### The KPI strip
Four cards, always visible, right under the hero:
1. Revenue Collected — for whichever range you've selected, plus payment count and average ticket 2. Today's Appointments — total, with in-progress and completed counts 3. Completed Appointments — for the selected range, with a completion rate % 4. New Customers — for the range, plus your total customer count
This strip is what to glance at first. Pick "Today" from the range selector before you look.
### My day (top left)
A single AI-written paragraph summarizing today's load — appointment count, anything urgent, outstanding AR, and low film-stock risk. It's not automatic: the card starts as a "Brief me" button, and only generates on click (the underlying data joins aren't cheap, so it's lazy by design). Once generated, the brief and its timestamp are saved to your browser, so it stays on screen — with a "Refreshed [time]" note — across reloads and page navigation until you hit Refresh again. A small colored dot next to the title shows whether that paragraph came from a live AI call (green) or a fallback (amber). Badges on the card header show appointment count, an "urgent" count when there is one, and an AR-balance badge when there's an open balance to flag.
### Right now (next to My day)
A labeled section of action cards — things you can actually act on today, not just numbers to read. Each card fetches and renders independently, and hides itself completely when there's nothing to show, so this section can be short on a clean day. On first load you'll briefly see placeholder skeleton tiles while the cards resolve. What can appear here, in order:
- Ready for pickup — today's appointments that are ready for pickup or fully completed, with the customer, vehicle, and the time it was marked ready. One tap sends a "your car is ready" text; already-notified rows show a checkmark, and rows without a phone on file are flagged instead of getting a button. A one-notify-per-hour limit per appointment guards against an accidental double-tap spamming the customer.
- Film stock alert — films that have crossed their reorder threshold, split into "out" and "low," each with remaining footage vs. the threshold and active roll count. A "Draft PO from these" button creates a draft purchase order straight from the alert so you can review quantities and submit.
- Who needs a call today — a deduped worklist across four reasons: an open balance to collect, a customer dormant 180+ days, a warranty expiring within 30 days, or an unread inbound message older than 24 hours. Highest urgency sorts first; each row links to the customer record.
- Sales playbook — a compact status tile for the post-invoice follow-up queue (review requests, warranty registration, cross-sell, win-back, and similar auto-scheduled touches). It shows active/sent/done counts plus "overdue" and "due this week" badges when relevant, and only appears once your first paid invoice has ever enqueued a play. Tapping it opens the full queue — see Managing the post-invoice Playbook queue for how to read and work that list; this dashboard tile is just the at-a-glance version.
- Needs your attention — unread inbox messages, waitlist count, and today's remaining upcoming appointments, each as a colored pill linking to where you handle it. When there's nothing pending it collapses to a single "All caught up" line instead of an empty card. Despite showing only counts, no revenue, this card is gated to roles with financial-report access (owner, admin, manager) — technician, front-desk, and service-writer logins don't see it at all.
- AI insights — the top 3 items from the AI Ops assistant, each tagged Urgent, Warning, Opportunity, or Info (with a color legend so the tags are readable at a glance), and a link through to the full list. It spans the full row width when there's room, and disappears entirely when the AI has nothing to flag.
### Smart worklist row
Below Right now, a row of tiles headed "Needs your attention" (yes, the same label as the card described above — they're two different things: that one is your personal action items, this row is shop-health tiles) that only appear when their count is above zero — disputes needing a response, invoices overdue 30+ days (with the dollar amount outstanding), films low on stock, customers lapsed 180+ days, and negative reviews with no reply. The whole row hides itself when your shop is clean on all five.
### Get your shop set up (new shops only)
A collapsible first-run checklist — shop profile, logo, first service, film catalog (tint shops only), an installer or bay, a team invite, online booking config, payments, first customer, first appointment. It shows an "X of N" badge and progress bar, sorts incomplete steps to the top, and links each step straight to where you do it, plus a button into the full guided setup wizard. It auto-hides once every step is complete, and can also be dismissed manually (even mid-checklist) if a veteran shop doesn't want the nag — that dismissal is remembered in your browser.
### This month
- Monthly Goals — month-to-date pacing against a revenue target and a job-count target, with a projection of where you'll land at the current run rate. If you haven't set targets yet, this shows a "Set monthly goals" prompt instead — that's configured from Settings → Shop Profile (see Setting up your Shop Profile for exactly where), not from the dashboard itself.
- Recent matrix — a summary of your most recently computed Sales Matrix snapshot: which metric/row/column combination it used, the window in days, row/column counts, and totals for revenue, quotes, and invoices, with a link into the full Sales Matrix. It only appears once you've run the matrix at least once.
### Performance
The revenue chart and close-rate funnel, scoped to your selected date range:
5. Revenue Trend — a daily bar chart for the range, with total revenue, tips, and daily average 6. Close Rate (conversion funnel) — quotes sent → approved → appointments booked → completed, for the range, plus an online-bookings count when applicable
### Activity
Installers, quotes, invoices, and two quick-status tiles:
7. Top Installers — completed-job counts per installer, for the range 8. Recent Quotes — your latest quotes, with an open-quotes count in the subtitle 9. Recent Invoices — your latest invoices 10. Film Inventory (quick status) — active roll count and low-stock count, linking to inventory 11. Warranties (quick status) — active vs. total warranty count, linking to the warranties list
For your morning glance, the KPI strip plus whatever's actually showing in Right now and the Smart worklist row is usually enough — if those sections are empty, there's genuinely nothing flagged today. Pick "Today" from the range selector first.
Diagnosing a bad morning
### Revenue down vs. a normal day - Check Today's Appointments — is completed count low, or is the average ticket lower than usual? - Low completions: a scheduling/no-show issue - Low average ticket: a pricing or service-mix issue
### Open quotes climbing - Front-desk follow-up cadence may be too slow, or quotes are priced too high and not converting - Pull the close rate report for the funnel breakdown
### Completion rate dropping - More appointments are ending in no-shows, cancellations, or reschedules than usual — worth a look at your booking policy and reminder cadence
### Not sure who to follow up with - The "Who needs a call today" card in Right now already did the sorting — collections, dormant customers, expiring warranties, and unanswered messages, highest urgency first
Multi-location: the HQ view
If you run more than one shop under HQ tier, HQ → Reports has a genuinely configurable, cross-location dashboard in its Scorecard section — click "Customize" to toggle Visible Sections (Unit Economics, Customer Health, Operations, Staff Productivity, Brand & Reputation, Financial Compliance) and set your own Benchmark Targets. That's the aggregated, org-level view; the single-shop /app dashboard above is per-shop and fixed.
Beyond the daily glance
Once a week, dig deeper: - Smart Pricing (Sales → Pricing) — per-service RAISE/REDUCE/HOLD recommendations based on what you're actually charging vs. your catalog - Monthly story report — narrative + month-over-month
Daily dashboard for awareness. Weekly + monthly for decisions.
Don't over-monitor
Some owners check every hour. Don't. The dashboard is for catching meaningful variance, not chasing noise. A slow morning isn't a problem — it's noise. A slow multi-day stretch is.
Most of the cards on this page auto-hide the moment there's nothing to flag, so an empty Right now section or a missing Smart worklist row isn't a bug — it's the dashboard telling you nothing needs you right now.
Look once in the morning. Move on.