Main to-do list
Structured by week: this week, next week, then later, with finished work in Completed at the bottom. Tasks and ticks are saved on the server, so this list reads the same on your phone and your laptop. Unfinished items roll into next week on their own. claude items happen when you say go; you means it is genuinely yours.
The whole funnel in one view. The pipeline reads every list in the sidebar; the scoreboard is a self-saving weekly log; web numbers come from Google Analytics and Search Console (links below), copied into the log each week.
Weekly scoreboard
Log the sales inputs and the web totals once a week. Pipeline is the leading indicator; revenue lags it.
| Week of | Touches | Replies | Reviews | Closes | Web sessions | Web leads | Notes |
|---|
Web analytics and search
Everything measuring truefigure.ca, wired and verified Jul 7, 2026. Connect once and the real numbers from Google Analytics and Search Console load straight into this page; the latest snapshot stays cached on this device.
Top search queries Search Console · 28d
| Query | Clicks | Impr. | Pos. |
|---|
Top pages by views GA · 28d
| Page | Views |
|---|
Pages Google surfaces Search Console · 28d
| Page | Clicks | Impr. |
|---|
Where sessions come from GA channels · 28d
Stack status
Verified end to end on Jul 7. Headless-browser test: the tag injects, hits reach Google carrying G-1FQLQJ3FFG, and Google accepts them (HTTP 204). If Realtime shows 0, that is your ad blocker or a brand-new property still warming up, not the site. Standard reports fill in 24 to 48 hours.
Every event we track
Fired by the site's shared app.js on truefigure.ca. These names are exactly what you will see in GA reports.
| Event | Fires when | Why it matters |
|---|---|---|
| generate_lead money event | A click on any email link, "email to book your review" | The lead itself. Star it as a key event and judge every page and channel by it |
| book_review_click | A click through to the contact / booking page | Intent, one step earlier in the funnel |
| phone_click | A tap on the phone number | The mobile lead path |
| email_copy | The copy-email button | Leads who copy the address instead of clicking |
| calculator_use | First interaction with the HST Quick Method calculator | Engaged visitor; the tool is the content magnet |
| page_view, scroll, outbound | Automatic, GA enhanced measurement | Sessions, top pages, traffic sources: the base layer |
Measurement to-dos
The last clicks to finish the stack. These save on this device, separate from the 33-step launch plan.
Wave 2, live: 240 emails Aug 10 to Sep 3, Mon to Thu, sent by the cloud scheduler. Everything on this page bakes from the campaign plan at deploy.
Sends per day
solid = sent · outline = scheduled · hover for detail
Cumulative progress
bold = actually sent · faint = the full plan
Vertical mix by week
| Template | Vertical | Pool | Sends |
|---|
Upcoming send days
Every human who has ever written back, newest first, with what happened next. Reply same day; the playbook lives on the Reply kit page.
Never email these addresses again. campaign.py enforces this file automatically on every build; check it by hand before any manual send.
| Address | Business | Category | Note |
|---|
Canned responses for the two most likely replies, and the command that builds a personalized one-pager + full-width draft. Click to copy.
What a client signs and what happens next. Rewritten Sep 21 for any business rather than restaurants only, on the current plans, with the dashboard and the closed-by-the-10th promise in the letter. Baked from the repo at deploy time; re-run outreach/bake_client_kit.py after editing.
Search Console, standalone: what Google shows you for, and where you rank. Positions 1 to 10 are page one; that is the whole game.
| Query | Clicks | Impr. | Pos. |
|---|
Position mix
| Page | Clicks | Impr. |
|---|
One pipeline for the London walk-ins. Website and bookkeeping sit on the same record on purpose, because a walk-in is one visit with two things to sell and the relationship history should not be split. Saved in Cloudflare D1, so your phone and laptop show the same thing.
Business expenses for Virtue25 and True Figure / Optimize25, in CAD. Saved in Cloudflare D1 behind the PIN. "Owed to Pavan" is everything he paid personally that has not been marked repaid.
| Date | Business | Vendor | Description | Amount | Tax | Paid by | Receipt |
|---|
Wave 1 complete: all 86 emails sent Jul 2 to 21 (6 bounces, 3 declines, 0 meetings; touch-2 follow-up still open). Real Gmail sends sync in automatically and rows you set by hand always win.
| Business | Area | Owner | Status | Notes |
|---|
Toronto new-business pipeline from the Aug 4, 2026 email sweep: 777 signals, 411 unique new 2026 businesses; the 173 workable ones are below (25 with a published CASL-eligible email ★ incl. source proof in outreach/toronto-new-businesses.md, 133 pre-open for walk-in/DM, 9 opened with an Instagram channel, 6 to verify). The other ~240 opened-2026 rows with no public contact stay in the .md archive; the raw city-data universe (DineSafe first-inspections, licences, permits) is in outreach/toronto-universe/. Check suppression-list.md before any send.
| Business | Type | Where | Stage | Contact | Status | Notes |
|---|
Tier 2 volume pool from the Aug 5, 2026 batch harvest (40 agents, 7 verticals x neighbourhoods): 533 net-new CASL-emailable EXISTING Toronto businesses, each email verified on the business's own page with the source URL kept as consent proof in outreach/toronto-emailable-existing.md. Deduped against wave 1 and the Toronto-new tab. Sequences A (food), B (fitness) and C (clinics) already exist; beauty, retail, trades and pro services still need templates written. 6 rows are flagged no MX and must not be sent. Check suppression-list.md before any send.
| Business | Segment | Area | Vertical | Contact | Status | Notes |
|---|
London ON expansion pipeline from the 71-agent lead-engine sweep (Jul 13, 2026): 121 new or upcoming businesses found; the 85 actionable ones are below. Chains/corporate, the not-actually-new rows, coverage gaps and the re-run recipe live in outreach/london-new-businesses.md (+ .json). ★ = conspicuously published email (CASL-eligible; log the source URL before sending). Pre-open spots have no incumbent bookkeeper: walk-in and DM convert best.
| Business | Type | Where | Stage | Contact | Status | Notes |
|---|