# Growth Engine Overhaul Roadmap

**Created:** 2026-02-07  
**Owner:** Michael (Rocky)  
**Status:** Active  

---

## TL;DR — The Problem

224 contacts in Growth Engine. Most are people Michael knows personally from construction — mates, supervisors, company owners from Westgate Tunnel, DTMT, LF Construction, etc.

**Current scripts sound like:**
> "Sick of agencies taking 20%? RateRight charges $0."

**To people who know him, that reads like:**
> "Some random marketing spam from a number I thought was Rocky's."

**Fix:** Rewrite scripts with personal tone. Group contacts by relationship. Match sequences to relationship level.

---

## Phase 1: Quick Wins (Tonight)
**Time:** 2-3 hours  
**Impact:** Immediate improvement to outreach quality

### 1.1 Create New SMS Scripts

Four script categories based on relationship:

#### A. MATES SEQUENCE (Friends, worked together, good relationship)
Target: Colm McEligott, Richie, Chris Fitz, Brett Mancini, Fezz, etc.

```
Message 1 (Day 0):
Hey [Name], it's Rocky. Building a website for tradies to find work without agencies taking a cut. Mind having a look and telling me what you think? rateright.com.au
```
*160 chars*

```
Message 2 (Day 5, if no response):
No pressure mate, just want honest feedback from people in the game. Takes 2 mins to sign up if you want to try it. Cheers
```
*128 chars*

```
Message 3 (Day 10, if no response):
Last one from me on this. If it's not your thing, no dramas. If you know anyone looking for work, send them my way? rateright.com.au
```
*137 chars*

---

#### B. COMPANY OWNER SEQUENCE (Own companies, decision makers)
Target: Jayden, Cian Col, Fergal Fitzpatrick, Adrian Djumavic (DTMT), John Flannery (Flanncon), Mick Flemming, Shaun Kilbane, Ronan Munnally, Mark Ennis, Stephen Kafke, Shaggy Colm Grogan

```
Message 1 (Day 0):
Hey [Name], Rocky here. You still running [Company]? I've built something for finding workers — $50 flat to hire, no agency percentages. Worth a look? rateright.com.au
```
*160 chars*

```
Message 2 (Day 4):
Quick one — know how agencies charge 15-25%? We charge $50 once. They work 6 months, still $50. Built it myself. Would value your take on it.
```
*147 chars*

```
Message 3 (Day 9):
Last message on this. If you're sorted for workers, happy days. If you ever need someone quick without the agency BS, we're here. rateright.com.au
```
*143 chars*

---

#### C. SORT-OF-KNOWS SEQUENCE (Worked near, met through others, professional acquaintances)
Target: Most of the construction network list — James Barlow, Barry Keen Edge, Bones McCabe, George Keen Edge, Ben Homer, Tommy Donovan, Troy Civ 5000, etc.

```
Message 1 (Day 0):
Hey [Name], this is Michael McLoughlin (Rocky). Met through [project/person]. Started RateRight — tradies keep 100% of their pay. Worth a look: rateright.com.au
```
*160 chars*

```
Message 2 (Day 5):
Rocky again. RateRight connects workers with jobs directly. No agency fees. Built it after 30 years in the game. 2 mins to sign up if interested.
```
*152 chars*

```
Message 3 (Day 12):
Final one. Not trying to spam you. If you're looking for work or know someone who is, we're here. All the best. rateright.com.au
```
*129 chars*

---

#### D. COLD LEADS SEQUENCE (Don't know personally, company database leads)
*Keep current scripts — they're appropriate for cold outreach*

```
Message 1 (Day 0):
Need workers fast? RateRight gets you qualified tradies in minutes. $50 flat fee. No subscriptions. rateright.com.au
```

```
Message 2 (Day 4):
No percentages. No ongoing fees. Hire a worker for a day or 6 months—still just $50. Simple: rateright.com.au
```

```
Message 3 (Day 9):
120+ Sydney contractors use RateRight. No-shows down 80%. $50 flat fee per hire. See why: rateright.com.au
```

```
Message 4 (Day 14):
Last message: Post your first job free to try. Only pay $50 when you hire. No risk. rateright.com.au
```

---

### 1.2 Categorize All 224 Contacts

Based on the contact review, here's the grouping:

| Category | Count | Sequence | Priority |
|----------|-------|----------|----------|
| **Hot Leads (Own Companies)** | 16 | Company Owner | 🔴 High |
| **Good Contacts (Warm)** | 8 | Mates | 🔴 High |
| **Construction Network** | ~60 | Sort-of-Knows | 🟡 Medium |
| **Unknown/Not Sure** | ~25 | Sort-of-Knows or Skip | 🟢 Low |
| **DELETE (Irish numbers)** | ~20 | N/A | Delete |
| **Networking Gold** | 3 | Mates + Referral Ask | 🔴 High |

#### Hot Leads (Company Owner Sequence):
1. Jayden (Jason) — own company
2. Cian Col — own company Melbourne
3. Fergal Fitzpatrick — own company Melbourne
4. Paul Corbey — own company Sydney (worked for him)
5. W.Adrian Djumavic — owns DTMT WA
6. John Flannery (John DTMT) — owns Flanncon Perth, friend
7. Sean Breen — may have own company
8. Mick Flemming — owns company WA (Michael works for him)
9. Shaun Kilbane — own company
10. Ronan Munnally — own company (machines & operators)
11. Cormic Cronin — own company Wagga
12. Jakey WGTP — supervisor, own company
13. Danny McGrath — possibly owns Rocktown
14. Mark Ennis (#209) — own company
15. Shaggy Colm Grogan (#214) — own company Cork + networking gold
16. Stephen Kafke (#217) — own company Perth

#### Mates Sequence:
1. Ardi — works with Michael, does own jobs
2. Chippy Alex Melbourne — good chippy
3. Richie — carpenter, friend
4. Chris Fitz — carpenter, brother owns LFCS
5. Colm McEligott — great friend, **networking gold**
6. Fezz — supervisor, friend
7. George Simpson (#203) — good carpenter
8. Brett Mancini (#213) — good friend

#### Networking Gold (Referral Focus):
1. Colm McEligott — plenty of contacts
2. Shaggy Colm Grogan — loads of contacts
3. Grant WGTP John Holland (#210) — head supervisor

---

### 1.3 Delete Invalid Contacts

Remove all ~20 Irish numbers (saved with wrong +61 code):

```
IDs to delete: 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 
               121, 122, 123, 127, 137, 138, 150, 160, 177, 196
Also: Sean Gahan (#202), John Druim DTMT (#206)
```

**API Call:**
```bash
curl -X DELETE "https://rateright-growth-production.up.railway.app/api/leads/{id}" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"
```

---

### 1.4 Update Contact Names

| ID | Current Name | New Name |
|----|--------------|----------|
| 155 | John DTMT | John Flannery (Flanncon) |
| 217 | Steven Glock | Stephen Kafke |

**API Call:**
```bash
curl -X PATCH "https://rateright-growth-production.up.railway.app/api/leads/{id}" \
  -H "X-API-Key: $CLAWDBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"firstName": "John", "lastName": "Flannery", "company": "Flanncon"}'
```

---

## Phase 2: Sequence Automation (This Week)
**Time:** 4-6 hours of dev work  
**Impact:** Automated enrollment, scalable outreach

### 2.1 Enable API Key Auth for Sequences

**Problem:** Sequences endpoints require Supabase JWT, not API key.

**Fix:** Add `requireApiKeyOrAuth` middleware to sequence routes.

**File:** `src/routes/sequences.js`

```javascript
// Change this:
router.use(requireAuth);

// To this:
const { requireApiKeyOrAuth } = require('../middleware/auth');
router.use(requireApiKeyOrAuth);
```

**Test after:**
```bash
curl "https://rateright-growth-production.up.railway.app/api/sequences" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"
```

---

### 2.2 Create New Sequences in Growth Engine

| Sequence Name | Messages | Delay | Target |
|--------------|----------|-------|--------|
| Mates Outreach | 3 | 0, 5, 10 days | Friends, warm contacts |
| Company Owner Pitch | 3 | 0, 4, 9 days | Business owners |
| Sort-of-Knows | 3 | 0, 5, 12 days | Professional acquaintances |
| Cold Contractor | 4 | 0, 4, 9, 14 days | Cold company leads |
| Referral Ask | 2 | After main sequence | Networking contacts |

**API Call (after auth fix):**
```bash
curl -X POST "https://rateright-growth-production.up.railway.app/api/sequences" \
  -H "X-API-Key: $CLAWDBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mates Outreach",
    "type": "sms",
    "steps": [
      {"day": 0, "template": "mates_1"},
      {"day": 5, "template": "mates_2"},
      {"day": 10, "template": "mates_3"}
    ]
  }'
```

---

### 2.3 Create SMS Templates

**API Call:**
```bash
curl -X POST "https://rateright-growth-production.up.railway.app/api/sms/templates" \
  -H "X-API-Key: $CLAWDBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "mates_1",
    "content": "Hey {{firstName}}, it'\''s Rocky. Building a website for tradies to find work without agencies taking a cut. Mind having a look and telling me what you think? rateright.com.au"
  }'
```

---

### 2.4 Bulk Enroll Contacts

After sequences are created:

```bash
# Enroll all company owners in "Company Owner Pitch" sequence
curl -X POST "https://rateright-growth-production.up.railway.app/api/sequences/{id}/bulk-enroll" \
  -H "X-API-Key: $CLAWDBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "leadIds": [88, 93, 132, 135, 143, 155, 167, 176, 193, 197, 198, 199, 129, 209, 214, 217]
  }'
```

---

## Phase 3: Message Monitoring (Next 2 Weeks)
**Time:** 8-10 hours dev work  
**Impact:** 2-way conversations, no missed replies

### 3.1 SMS Conversations API

**Already working with API key:**
```bash
# List all conversations
curl "https://rateright-growth-production.up.railway.app/api/sms/conversations" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"

# Get specific conversation
curl "https://rateright-growth-production.up.railway.app/api/sms/conversation/{leadId}" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"
```

### 3.2 Build Message Monitor

Create a Rivet skill to poll for new messages:

```javascript
// Check every 5 minutes for new inbound SMS
// Alert Michael via Telegram when someone replies
// Store conversation state in local DB
```

**Telegram Alert Format:**
```
📱 SMS from John Flannery (Flanncon)
"Yeah mate, looks interesting. How does it work?"

Quick replies:
/reply_john [message] — reply to John
/lead_john — view lead details
```

---

### 3.3 Auto-Response Rules

| Trigger | Response | Action |
|---------|----------|--------|
| "who's this?" / "who is this?" | Rocky identity message | + Create callback |
| "stop" / "unsubscribe" | Opt-out confirmation | Remove from sequences |
| "interested" / "keen" / "yes" | None (human responds) | Slack/Telegram alert |
| "not interested" | "No worries mate, cheers" | Mark as not interested |
| Unknown | None | Alert for review |

---

### 3.4 Conversation Threading

When viewing a lead, show full SMS history:

```bash
curl "https://rateright-growth-production.up.railway.app/api/sms/conversation/155" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"

# Response:
{
  "lead": {"id": 155, "name": "John Flannery", "company": "Flanncon"},
  "messages": [
    {"direction": "outbound", "content": "Hey John...", "timestamp": "..."},
    {"direction": "inbound", "content": "Yeah mate...", "timestamp": "..."}
  ]
}
```

---

## Phase 4: Advanced Features (Month 2-3)
**Impact:** Full CRM power, AI assistance

### 4.1 Contact Enrichment

**Endpoints (need auth fix):**
```
GET /api/enrichment/company/:domain
GET /api/enrichment/person/:email
POST /api/enrichment/bulk
```

**Use case:** Auto-fill company info, find decision makers, verify contacts.

---

### 4.2 AI Suggestions

**Already working:**
```bash
curl -X POST "https://rateright-growth-production.up.railway.app/api/sms/ai-suggest" \
  -H "X-API-Key: $CLAWDBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "leadId": 155,
    "context": "Following up after initial message",
    "tone": "casual"
  }'
```

---

### 4.3 Analytics Dashboard

**Endpoints (need auth fix):**
```
GET /api/analytics/sequences
GET /api/analytics/sms
GET /api/call-analytics/summary
```

Track:
- Open rates by sequence
- Reply rates by relationship category  
- Best send times
- Conversion funnel

---

### 4.4 Webhook Integration

**Endpoint (need auth fix):**
```
POST /api/webhooks/sms-inbound
POST /api/webhooks/sms-status
```

Real-time notifications when:
- SMS delivered
- SMS failed
- Reply received

---

## API Capability Summary

### ✅ Works with API Key Now
| Route | Key Endpoints |
|-------|--------------|
| `/api/leads` | CRUD, search, bulk operations |
| `/api/sms` | send, send-batch, conversations, templates |
| `/api/calls` | list, get, create |
| `/api/call-list` | queue management |
| `/api/ai` | suggestions, analysis |
| `/api/dashboard` | stats, summary |
| `/api/team` | members, roles |
| `/api/notion` | sync, pages |
| `/api/objections` | library, handling |

### 🔒 Needs Auth Fix (Add requireApiKeyOrAuth)
| Route | Key Endpoints |
|-------|--------------|
| `/api/sequences` | list, create, enroll, bulk-enroll |
| `/api/scripts` | call scripts, templates |
| `/api/analytics` | all analytics |
| `/api/enrichment` | company/person lookup |
| `/api/webhooks` | inbound hooks |
| `/api/import` | bulk import |
| `/api/export` | data export |
| `/api/tags` | lead tagging |

---

## Implementation Checklist

### Phase 1 — Tonight ⏰
- [ ] Write new SMS templates (4 categories)
- [ ] Delete 22 invalid Irish contacts
- [ ] Update John DTMT → John Flannery
- [ ] Update Steven Glock → Stephen Kafke
- [ ] Tag contacts by category in spreadsheet
- [ ] Remove Jeny (#212) — no hiring power
- [ ] Mark Chippy Scott (#105) as DO NOT CONTACT

### Phase 2 — This Week
- [ ] Add `requireApiKeyOrAuth` to sequences route
- [ ] Create 5 new sequences in Growth Engine
- [ ] Create SMS templates for each message
- [ ] Bulk enroll Hot Leads in Company Owner sequence
- [ ] Bulk enroll Mates in Mates Outreach sequence
- [ ] Test enrollment and scheduling

### Phase 3 — Next 2 Weeks
- [ ] Build SMS polling in Rivet
- [ ] Create Telegram alert system for replies
- [ ] Implement auto-response for identity questions
- [ ] Add opt-out handling
- [ ] Test full conversation flow

### Phase 4 — Month 2-3
- [ ] Fix auth on analytics endpoints
- [ ] Build enrichment workflow
- [ ] Create analytics dashboard
- [ ] Set up webhooks for real-time updates
- [ ] AI-powered reply suggestions

---

## Quick Reference — API Calls

### Send Personal SMS
```bash
curl -X POST "https://rateright-growth-production.up.railway.app/api/sms/send" \
  -H "X-API-Key: $CLAWDBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+61405690651",
    "message": "Hey John, it'\''s Rocky...",
    "leadId": 155
  }'
```

### List All Leads
```bash
curl "https://rateright-growth-production.up.railway.app/api/leads" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"
```

### Check SMS Conversations
```bash
curl "https://rateright-growth-production.up.railway.app/api/sms/conversations" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"
```

### Get Lead Details
```bash
curl "https://rateright-growth-production.up.railway.app/api/leads/{id}" \
  -H "X-API-Key: $CLAWDBOT_API_KEY"
```

---

## Success Metrics

| Metric | Current | Target | Timeframe |
|--------|---------|--------|-----------|
| Reply rate (known contacts) | ~5% | 25%+ | 2 weeks |
| Reply rate (cold) | ~2% | 5%+ | 1 month |
| Opt-out rate | Unknown | <10% | Ongoing |
| Signups from SMS | Unknown | 10+ | 1 month |
| Conversations started | 0 | 20+ | 2 weeks |

---

**Next Action:** Start Phase 1 tonight. Write the Mates and Company Owner scripts, then manually test on 3-4 contacts before bulk sending.
