🔒

SideGuy Operator Dashboard

Private. Encrypted at rest.
Enter password to unlock.

Network + Outreach

All prospects across SD operators, SaaS founders, marketing agencies, sales / RE / finance leaders, and recruiting + civic nodes. Each entry is unique to the recipient. Track status as you go; everything saves locally.

📍 North County News loading…

Live local news — Encinitas, Carlsbad, Solana Beach, Del Mar, Oceanside & the NC coast. Sources: The Coast News · Times of San Diego · Patch. Refresh via python3 tools/ncsd_news_feed.py.
Loading North County news…
🔎 New Prospect Flow — Prospeo · Clay · Dedup · Import
▶ Skip manual geo lookup: python3 tools/enrich_geo_prospeo.py --dry — preview · drop --dry to fire. Auto-pulls Prospeo location for all 712 rows without geo, writes into notes, classifier auto-tags ncsd_coastal/ncsd_inland/sd_metro on next export.
🆕 Just Added — fresh while they're hot. scanning…
🆕🌎 Just Geo-Located in your region. scanning…
🎯 Next Move scoring leads…
Loading leads + news + GSC signals…
📡 Quick Share — pages

📋 Compound Log — append-only record of what shipped + why it compounds. Intelligence × SEO × outreach, on the boat.

📅 2026-05-04 · Monday (live)

Morning shift before Kromeon 9am
🚀 786+ pages compound-shipped 🎯 4 LinkedIn DMs sent 📚 5 doctrines saved 📤 2 new pillar shareables
04:18a–06:00a
🚀 Freshness Compounder at Scale 786+ pages compound-shipped via tools/freshness_compound.py
Real freshness signal injector built + extended for back-catalog schema injection (handles pages with NO Article schema by injecting it). Ships: dateModified update + Article schema + visible "Last reviewed" badge + fresh internal link to a recent pillar (decision-layer / fractional-execs / founders-ceos / help-desk-doctrine) + idempotency marker. Idempotent — won't re-touch within 14 days. Distribution this morning: /money-pages/ 100, /problems/ 198, /pages/ 88, /hubs/ 400. All shipped to S3 + CloudFront-invalidated.
Compounds: every page now has the freshness signal Google looks for + an internal link to a recent pillar = PageRank distribution + AEO eligibility + cross-cluster topic authority. The deep compound move PJ named.
04:30a
🎯 Sniper-Shot Live Robert Brown, MSRE — page LIVE, DM sent (warm reply path)
Custom sniper-shot for Rob (broker-owner Fantastik Realty SD+Vegas, MSRE USC, 3-4 hrs/day AI user, oceanfront luxury + vacation rentals + coastal multifamily). Page peer-craft angle: "Different vertical, same shape" — RE at his level IS decision-layer work. Page LIVE at /outbound/robert-brown-msre.html, DM sent at 4:30a. Replied warm in prior comment thread; this is the human-first reply with the page as opt-in.
Compounds: warm reply unlocks Rob's network → 14 prospects mapped from his 2nd-degree (Mazzotta, Pittard, Renee Dominguez, Justin Hart, Daniel Altenburg, etc.) all share Rob as a node. One reply unlocks 5-10 warm intros.
05:15a
📤 New Pillar Shareable "Scaling Companies Don't Have a SaaS Problem — They Have a Decision Problem"
SideGuy thesis on SaaS sprawl + IT spend explosion + tool-stack chaos. Article + FAQPage schema (7 Q&As). Diagnostic question + 4-move fix + where SideGuy fits. Built from filtered GPT-paste idea — the IDEA was gold (decision-problem framing), the GPT execution was bare-HTML dross. Translated into proper SideGuy template: byline, schema, internal links to decision-layer + fractional-execs + founders-CEOs + compliance-automation pillars.
Compounds: third pillar in the decision-layer / operator-translation cluster. Internal-linked to 4 other recent pillars = cross-pillar PageRank distribution + topic authority signal.
04:00a–05:30a
📚 Doctrines Saved 5 new doctrines captured + indexed (PJ-coined this morning)
High-traffic compounding intelligence site (PJ's plain-language mission), Three-Pillar Test (traffic + real signal + efficiency = autonomy directive), Phone number INLINE in DMs (friction kill), Morning flow includes today's LinkedIn + X posts (standing rule), Check connection state before batch pre-build (Stephan/Julie lesson). All indexed in MEMORY.md.
Compounds: every future Claude session pulls these as context. Doctrines save themselves from being re-learned. The system gets sharper without PJ doing repeat work.
04:15a
📤 LinkedIn Signal Live Signal-vs-Speculation post + X version live, DMs sent (Allison/Wally/Patrick from yesterday's batch + Robert Brown today)
LinkedIn post (1,208 chars) on signal vs speculation thesis — Nick Curum reacted within minutes. X version (276 chars). 4 sniper DMs delivered through Copy DM dashboard flow (page-ready cards working as designed: one-click copy + paste in LinkedIn).
Compounds: post is permanent on LinkedIn = anyone in PJ's network sees the thesis any time they search. X post indexed for X search. Each sent DM either lands a reply (warm signal) or doesn't (data point either way).

📅 2026-05-03 · Saturday

5 wins shipped
🚀 pos-jump × 2 🎯 sniper × 1 📥 27 prospects queued
10:15a
🚀 SEO Pos-Jump Battery-backup + compliance-automation pages upgraded from GSC May 3 report
battery-backup (pos 6.67 → targeting top 3-5): title rewrite to lead with "Powerwall vs Enphase + NEM 3.0", topical dilution removed, FAQPage schema added. compliance-automation (pos 20 → targeting top 10): Article + FAQPage schema, Q-list section, 5 internal links (was zero).
Compounds: 1-4 weeks for Google recrawl + reposition. Same pattern is replicable across top 50 GSC pages.
10:25a
📚 Doctrine "Intelligence meets SEO compounding" saved as project doctrine
PJ-coined framing for the AI × SEO multiplier. Two compounding curves multiplied: SEO compounds on its own (rankings stack, schema accumulates), intelligence compounds on its own (tools learn from edits, doctrine memory grows). Together = multiplicative moat.
Compounds: governs every future SEO + AI work decision. Future shareable material.
10:08a
🎯 Sniper Pre-Build Fred Luddy (ServiceNow founder · Solana Beach · mutual = Bow) — page LIVE, DM ready
Peer-craft sniper-shot pre-built and shipped to /outbound/fred-luddy.html. 718-char DM drafted in /data/dms/fred-luddy.md. Awaiting connection accept (sequence: bare connection request → optional comment on his post → drop DM with page URL).
Compounds: peer-craft artifact lives permanently as proof for the OG of the operator-translation lane.
10:00a
📥 Clay → Leads Pipeline 27 A-tier prospects queued from 200 raw Clay rows
Two Clay exports (100 Solana Beach + 100 SD/Encinitas C-suite) imported and filtered. 15 Solana Beach + 12 SD C-suite added as queued. Celebrities (Tony Robbins, Cristiano Amon, George Hotz, Jocko, Eric Topol, Don Norman, Karri Saarinen, Zeb Evans) skipped per truth doctrine — too far out of orbit. Top 3 to fire first: Fred Luddy, Sara McNamara, Don Durban.
Compounds: dashboard now has 27 fresh sniper-shot targets, all NC SD coastal or SD metro (local-first doctrine respected).
09:48a
📤 Outbound Page Polish Thomas Cross page: SideGuy-branded topbar share button added
Outlined ocean-teal share button in topbar (so Text PJ stays primary CTA), live on /outbound/thomas-cross.html. Pattern baked into sniper_shot.py prompt — every future generated outbound page will include the share strip + topbar button by default.
Compounds: every sniper-shot from here forward inherits the share affordance without manual intervention.

🧠 Trilly C Daily Moves loading…

Sip-and-Ship morning ritual output · top scored next-moves compounding today's GSC signal · 1-click clipboard.
Loading moves from data/trilly-c-moves.json

🔥 News-Triggered Today loading…

High-signal news events on companies in your prospect base. Each one is an outreach trigger — click into the prospect via Side CRM, fire a custom email referencing the news.
Loading alerts from data/news-alerts.json
🎯 Drowning in cards? Hide everything except Fresh prospects with email.

🚀 Fresh + Email Ready loading… — never contacted, has verified email, fire first.

📧 Needs Email loading… — queued, no email yet. Click 📧 Find on each to enrich via Prospeo, then they auto-promote to Fresh.

⏳ Awaiting Reply — sent + waiting. Touch-2 here OR mark dead. Doesn't block the main queue.

🚀 Outreach Engine v1.0 checking… SideGuy/Clay equivalent · zero subscription · drafts only · nothing auto-sends

1SIGNALnews_radar / queue_from_radar
2ENRICHdomain · meta · email candidates
3DRAFToutreach OR reply
4SENDPJ approves · paste-fire
5LOGleads.csv status update
🔍 ENRICH
Domain + meta + email candidates + news cross-ref. Free, zero API keys.
python3 tools/enrich_prospect.py --name "—" --company "—" --write
✍️ DRAFT OUTREACH
Cold/warm DM in PJ voice. Outputs template draft + Claude rewrite prompt.
python3 tools/draft_outreach.py --name "—" --company "—" --wedge "..." --tier first-touch --enrich
💬 DRAFT REPLY
Reply to incoming DM. Auto-detects intent (pricing/clarifying/ready).
python3 tools/draft_reply.py --from "—" --company "—" --message "..." --tier first-touch
📌 PAGE-FIRST OUTBOUND
PFOS doctrine: build a permanent /outbound/<slug>.html page first, then return a 1-2 line message wrapping the URL. Page is the asset; msg is the wrapper.
python3 tools/lead_to_page.py --name "—" --company "—" --context "..." --topic "outbound" --write --deploy
💰 Money Doctrine — 4-tier offer ladder (charge for clarity, not time)
Quick Clarity $75–$200 · text-based, async, flat Guided Fix $300–$1.5K · mini project, mapped steps Full Solve $1K–$10K+ · end-to-end build Referral 5–20% · routing fee when not the right fit

📇 Side CRM loading…

Live from data/leads.csv + data/dms/ — manually-curated prospects (newest first).

📝 LinkedIn Posts — paste-ready loading…

Auto-discovered from data/linkedin/posts/*.md. Click any post → expand → big Copy button → paste into LinkedIn. Newest first.

📌 Featured Pipeline — Wall intake loading…

Inbound "Be Featured" requests from data/featured/queue.csv. Status flow: requested → building → shipped → linked → passed. Log new requests via python3 tools/log_featured_request.py.

🆕 Fresh Prospects — Batches 2 + 3 loading…

Visually separated from main CRM. Combined Batch 2 (100 SD locals) + Batch 3 (100 next-rank from full 6,262-contact network) · ranked by decision-maker × recency × email × locality · grouped by cluster · pre-fitted with the right wedge + tracked landing URL · paste-ready v3 DMs (Batch 3 references the new $100 Spark Plug tier).

Outreach Queue

Network Clusters

PROSPECT 0 / 0 ·
1READ profile
2SCORE 3Q (ask · pain · value)
3📧 EMAIL if gated
4SEND (S / Enter)
5LOG (R replied · D dead)
S or Send · K or Skip · R Replied · D Dead · E 📧 Email · H 📄 Share · Back · P Preview · ESC Exit
🚀

📄 Shareable

Custom landing page for this prospect.

SLUG (auto from name)
PROPOSED URL
https://www.sideguysolutions.com/shareables/...
TEMPLATE
Operators Agencies RE Brokers Luxury RE Healthcare Generic peer-to-peer
PROSPECT CONTEXT (helps tighten the brief)

⚠️ The brief generates instructions for Claude to build the actual HTML. The URL won't 404-check until Claude ships the page.

📧 Email candidates

For when LinkedIn email-gates a connection request, or when you want to follow up by email.

⚠️ Candidates are GUESSES, not verified. Try rank 1-3 first (covers ~80% of B2B). Brokerage notes: KW = first3+lastname @ kw.com (rank 5). Compass = first.last @ compass.com (rank 3). Sotheby's = first.last @ sothebys.realty (rank 3).

✉️ Send Email

Routes through your Cloudflare Worker. Browser auto-includes your Access cookie.

PFOS doctrine: 2-sentence wrapper + URL is the payload. NEVER a 200-word email body.

Click a template → fills Subject + Hook. Replace bracketed [⚠️ TYPE TOPIC HERE] / [⚠️ TYPE PAIN HERE] with the prospect-specific noun before sending.

💡 Voice check: First-person "I built" not "we help" · reference YOUR specific observation (or the news above) about THEM · don't paste their company's marketing copy · 1 sentence max.

📧 Live email preview — exactly what they see click to expand
🎯 Sniper-Shot · Custom (no templates)

Prospect

This is the operator-judgment input. The hook makes it not-a-template. Be specific.

Prospect

📋 PASTE-READY DM
📄 FULL CONTEXT (side-CRM file)
PJ Text PJ 858-461-8054
🎁 Didn't quite find it?

Don't see what you were looking for?

Text PJ a sentence about what you actually need — I'll build you a free custom shareable on the house. No email, no funnel, no SOW.

📲 Text PJ — free shareable
~10 min turnaround. Your friends will love it.