# HEARTBEAT.md

## Email Check Schedule
**Business hours (Mon-Fri 9:00-17:30):** Check every 15 minutes
**Off hours (evenings & weekends):** 3x/day only

Run: `python3 scripts/check-email.py --unread`
- If new email from @tilt.ie or @marketingnetwork.ie → read and respond
- If email from noreply@supabase.com → read, action security issues directly, notify Rob on Telegram with summary of what was fixed. If fix could cause downtime or break live functionality, flag to Rob FIRST.
- If suspicious email → flag, forward to Rob, await approval
- Log all interactions to `logs/email-log.json`

## Ready for Rob
- [x] **Premier League Dashboard** - LIVE at premier-league-dashboard.pages.dev
- [x] **Football Stats Dashboard** - LIVE at football-stats-dashboard.pages.dev
- [x] **Apollo Leads Database** - Scored and emailed (7,699 leads, 163 HOT)
- [x] **XL Media Website** - LIVE at xl-media-site.pages.dev
  - 6 portfolio pages on WP: HB (ID 260), eir (ID 264), Coca-Cola (ID 350), Jameson (ID 351), Berocca (ID 352), Tesco (ID 354) -- drafts
  - 2 AI tools: reach-calculator.html + special-build-configurator.html
- [x] **Dublin Prospects** - 23 high-value prospects delivered
- [x] **Tradeify Backend** - SQL migrations 001-010 + 006 complete, all tables created
- [x] **Tradeify NEXT** - Full restack, 110 tests, V2 phases complete. Deployed to tradeify-app.pages.dev
- [x] **Tradeify Waitlist** - Form now saves to Supabase (fixed Feb 20). tradeify.ie holding page live.
- [x] **Tradeify Stripe** - Live keys stored. STRIPE_ENABLED=false until launch.
- [x] **Tradeify SEO** - 4,202 programmatic pages live (22 trades x 191 Irish towns)
- [x] **Marketing Health Check** - LIVE at tilt-marketing-check.pages.dev (WP draft ID 1557)
- [x] **AI Sales Development** - Pitch deck + landing page at tilt-ai-sales.pages.dev
- [x] **Mahony Outreach** - 5 email drafts sent to Rob, project plans ready, awaiting HubSpot token
- [x] **Red Light Therapy** - Research done, 4 supplier emails sent (Rojo, MitoLight, CytoLED, CJDropshipping)
- [x] **Solar Calculator** - Updated (red buttons, FormSubmit). Mahony version live at mahony-solar.pages.dev
- [x] **Alan's Task Dashboard** - LIVE at alan-dashboard.pages.dev (6 tasks, checkboxes)
- [x] **Ignite90 Prospects** - 19 companies in HubSpot. Briefing doc + email sequences ready for Rob.
- [ ] **Rob's links to review** - Post Bridge, keep.md, @kaostyl X post (shared Feb 14)
- [ ] **Mahony Group v2 pages** (IDs 463-465) - awaiting feedback on orange accent design
- [ ] **Cair correct account audit** (8498379366) - STILL PENDING
- [ ] **Tradeify messaging bug** - Schema mismatch in conversations/messages tables. SQL fix ready, needs running.
- [ ] **Tradeify quote modal** - Needs to match Post Job flow (photos + detailed description)

## Pre-Launch (Tradeify)
- [x] **SendGrid setup** -- DONE (Mar 8)
  - Domain auth verified (SPF + DKIM + DMARC)
  - SENDGRID_API_KEY set in Cloudflare Pages + Supabase
  - SUPABASE_SERVICE_KEY added to Cloudflare Pages (was missing, caused 401)
  - All 3 from addresses tested and delivering: invoices@, quotes@, noreply@tradeify.ie
  - 5 endpoints wired: send-invoice, send-quote, send-email, send-broadcast, send-verification-code
  - DMARC TXT record added by Rob (Mar 8)
- [ ] **Stripe integration** -- Wire up live payments for subscriptions
- [ ] **Production cutover** -- Switch tradeify.ie from holding page to NEXT build

## Blocked / Awaiting Rob
- [ ] **Tradeify email accounts** - Set up noreply@tradeify.ie, support@tradeify.ie, hello@tradeify.ie (Google Workspace or forwarders in Cloudflare)
- [x] **SendGrid domain auth** - DONE. SPF + DKIM + DMARC all verified (Mar 8).
- [ ] **Stripe go-live** - Switch STRIPE_ENABLED=true, connect live Stripe keys. Currently sandbox mode.
- [ ] **OAuth consent screen** - Verify Google OAuth consent screen in GCP so login works for all users (not just test users)
- [ ] **Apple/Facebook OAuth** - Enable in Supabase Dashboard if wanted for launch
- [ ] GCP Vision API - blocked on both accounts, need alternative
- [ ] Mahony HubSpot - Rob to create Free account and send API token (or confirm using existing)
- [ ] Cair Merchant Center - check feed count at merchant.google.com
- [ ] Tradeify production switch - tradeify.ie is holding page. Rob to approve NEXT cutover at tradeify-app.pages.dev
- [ ] Tilt SEO pages - set focus keyphrases, publish from draft (5 pages + blog + AI page)
- [x] Claude Code auth - DONE (authenticated as robert.doran@tilt.ie)
- [ ] Ignite90 emails - Rob sending himself (planned for Tuesday). No action needed from me until he confirms.

## Post-Launch Reminders
- [ ] **Tradeify Estimator data review** -- 2 months after launch, remind Rob to look at job data and decide on enabling the Estimator with real pricing. Estimator is hidden from Google (noindex, removed from sitemap/robots). Cron to be set once launch date confirmed.

## Monitoring
- [ ] **Seedance 2.0 API** - Launching after Feb 24th. Watch @gokayfem, @hckinz on X.
- [ ] **Supplier replies (Red Light Therapy)** - Forward to Rob as draft, await approval before responding
- [ ] **Cair Merchant Center** - REJECTED. Next review Feb 26. Reminder cron set for Feb 25 9am.
- [ ] **Mahony Group case studies** - 6 projects emailed, Rob updating WordPress manually
- [ ] **Mac Mini M4** - EUR979, 2-3 week delivery. Migration guide emailed to Rob.
- [ ] **Tradeify waitlist signups** - Daily 9am cron checking (ID: 8e8b885c). First signup: Rob's gmail.

## Tradeify P0 - Must Fix Before Launch
- [ ] **How it Works page** -- homeowner + tradesperson paths
- [ ] **Pricing page** -- public tier comparison (Free / Pro / Enterprise)
- [ ] **About Us page** -- trust signals, Irish platform, mission
- [ ] **Contact page** -- proper contact form
- [ ] **Trust & Safety page** -- verification, reviews, disputes
- [ ] **Cookie banner + consent manager** -- GDPR requirement
- [ ] **GDPR data request page** -- request/delete data
- [ ] **Accessibility statement**
- [ ] **Badge explanations page** -- CIRI, RECI, RGI, Safe Electric, Gas Networks, SEAI
- [ ] **Blog/resources section** -- shell + first posts
- [ ] **HTML sitemap** -- user-facing, links to trade categories + locations
- [ ] **Fix remaining placeholders** -- Admin CSV import, activity logging, TradesDashboard invoice export, QuoteBuilder business name
- [x] **Tier badge + sort order** -- enterprise/pro sorted to top of search results (fixed Mar 7)
- [x] **Update OpenClaw** -- DONE (v2026.3.1 with adaptive thinking, Claude Code OAuth working)
- [ ] **Xero + QuickBooks integrations** -- PARKED, do after P0 pages

## When Free
- [ ] Email sender avatar -- create Google account for noreply@tradeify.ie, set Tradeify icon as profile pic (or set up BIMI)
- [ ] Expand Golden Pages scrape to 1,000+ tradespeople (timed out Feb 20 -- retry)
- [ ] Follow up on Tilt food sector prospects (3 HIGH priority leads)
- [ ] Set up goplaces (Google Places CLI) - needs API key
- [ ] XL Media AI tools - push to WordPress when Rob approves
- [ ] Tilt OOH case studies (IDs 1514, 1515) - Rob adding images, then publish
- [ ] Cair B2B landing page - awaiting Rob's go-ahead to use
- [ ] Revert TJA Plumbing listing before Tradeify go-live (trade@test.tradeify.ie test data)

## Daily Tasks (rotate through these)

### End of Day (~18:00)
- Update Notion with completed work
- Update Mission Control (tilt-mission-control.pages.dev) with links to all current projects
- Review memory files, update MEMORY.md if needed

### Morning (~09:00)
- Check for important emails from @tilt.ie / @marketingnetwork.ie
- Check if any supplier replies to Red Light Therapy outreach (forward to Rob)

### As Needed
- Check Cair Merchant Center feed count

## Try Next Month (April 2026)
- [ ] **GoHighLevel (GHL)** - Agency CRM + white-label marketing platform. $297/month Agency Unlimited. Resell to clients at €99-199/month for recurring revenue. Revisit once first BD prospects convert. gohighlevel.com
