Structural Moats in a Multi-Charter Portfolio: Technical Assessment & Infrastructure Readiness
Date: 2026-07-03 | Audit Scope: JADA Sailing (sailjada.com), BSSD Funeral Services (bssd.org), Queenof-Cities distribution platform, Dragon Bodyguards, Tenant Portal (3028 51st St), QuickDumpNow
What This Analysis Covers
We applied Gokul Rajaram's 8-moat framework—used at AdSense, Square, and DoorDash—to audit structural durability across our portfolio. The finding: JADA + BSSD combined sits at ~2 moats today, with a clear path to 4+ (Gokul's durability threshold) through infrastructure activation, not rebuilding.
The Moats Framework
Rajaram identifies eight structural moats that protect against commoditization in an AI-accelerated market:
- Data — Proprietary, compounding information (not static datasets)
- Workflow — Deep embedment in customer operations and money movement
- Regulatory — Hard-won licenses and permits creating enforcer friction
- Distribution — Proprietary or exclusive customer channels (hardest to build, most durable)
- Ecosystem — Third parties building businesses on your platform
- Network — Marketplace density and reputation history
- Physical — Atoms over bits; authentic barriers to entry
- Scale — Pure cost/coverage advantage from size
Notably, Rajaram explicitly excludes brand from this list—it usually reduces to network or distribution and is too context-dependent to measure. "JADA — The Queen of San Diego" is the label on your moats, not a moat itself.
Portfolio Moat Scorecard
JADA Sailing (sailjada.com + queenofsandiego.com)
- Physical: ✅ Full — The 1938 classic vessel is genuinely unreplicable. A competitor cannot prompt a boat into existence.
- Regulatory: ⚠️ At Risk — USCG manifesting pipeline not live; legal exposure on 30-guest charters (Jul 4 departure tomorrow, 2026-07-04). Once deployed, this becomes a defensible moat competitors cannot copy.
- Distribution: 🟡 Leaking — GetMyBoat (GMB) lead automation working, but flagship
sailjada.comhas 6+ broken MX deliverability issues since May 22; CRO fixes stuck in staging (files:~/icloud-jada-ops/staging/, deployment pipeline at~/bin/jada-deploy). Direct booking pathway is intact but not publicized. - Data: 🟡 Partial — Follow-up engine built (jada-ops/ticket-runner/), but master contact list (3,640 cumulative contacts) misplaced; Jul 2 blast sent 0 due to CSV schema drift. Contacts CSV at
passengers/contacts.csv; property CSVs at~/icloud-jada-ops/contacts_{slug}.csv. - Network: 🔴 Not Yet — Trip-sheet photo codes and guest registry (passengers/contacts.csv) enable reputation history, but referral engine not live.
BSSD Funeral Services (bssd.org + bloggingshirtlessonday.com)
- Physical: ✅ Full — Proprietary itineraries (coastal, mountain, urban), EPA permit for at-sea spreading. Physical + Regulatory combined.
- Regulatory: ✅ Full — EPA dispersal permit (valid through 2028); USCG-reported services; legal compliance pack already drafted but not published client-facing.
- Distribution: 🟡 Leaking — Google Business Profile unclaimed; Search Console not verified. Free distribution channel is live but invisible. Funeral home + church referral targets identified (107 leads in OUTREACH-APPROVED list) but outreach engine paused (plist unloaded at
~/Library/LaunchAgents/bssd-referral-outreach.plist). - Data: 🔴 Gaps — No recorded job ledger; 0 testimonials captured. All 12 queenof-cities staging sites set to noindex (turned off intentionally), hiding 3,640 cumulative contacts and SEO authority from the network.
- Network: 🔴 Minimal — Referral density not yet dense enough to be self-reinforcing. Outreach engine ready (plist file) but not loaded.
Queenof-Cities Distribution Platform (12 city sites)
- Distribution/Scale: 🔴 Switched Off — All 12 sites (sacdayatsea.com, topdumpstersd.com, etc.) at
sites/queenof-cities/, CloudFront distE176JRMB92GPAJ. All set tonoindex; SEO moat intentionally disabled. Graduation playbook drafted but not executed. - Network: 🔴 Null — No city-specific density, no feedback loops, no competitive threshold.
Dragon Bodyguards (dragonbodyguards.com)
- Network: 🔴 Leaking — Live intake form (CF route E10WJ716X823DQ), but all leads bounce to
mailto:links, not a workflow system. Intake Lambda drafted but not deployed. - Data/Workflow: 🔴 None — No job ledger, no reputation history, no moat mechanism.
Tenant Portal (3028 51st St)
- Workflow: ✅ Full — Tenants embed portal into billing/receipt workflow daily. DynamoDB backend; S3 deposit storage. This project has already maximized its moat and hit its ceiling.
QuickDumpNow
- Moats: 🔴 None Recorded — Zero job ledger, zero data, zero workflow embedment. Flat pricing model (~$357 C&D) currently priced as commodity.
Technical Priorities to Reach 4+ Moats
1. USCG Manifest Pipeline Live (Pre-Jul 4 Charter)
File: ~/jada-ops/generate_manifest.py · CloudFront caching: ~/print/* CachingDisabled · Print route serves /print/manifest/{charter_id}
Converts trip-sheet data (crew roster, guest code, waivers from waiver_rows ledger) into two USCG-compliant manifests. This shifts Regulatory from at-risk to locked-in.
2. BSSD Google Business Profile Verification
Search Console access at bssd.org (currently unverified). This is a 1-hour, zero-infrastructure task that unlocks free Distribution.
3. Recover & Activate Master Contact List
Source of truth: ~/icloud-jada-ops/contacts_*.csv (JADA, BSSD, QDN) + passengers/contacts.csv (unified guest registry). Jul 2 blast failed because local CSV schema had 7 rows; backfill from DynamoDB. tools/email_lists.py harvest rebuilds the lists from S3 and DDB records.
4. Launch BSSD Outreach Engine
Already built and tested (jada-ops/outreach-engine/). Load plist:
launchctl load ~/Library/LaunchAgents/bssd-referral-outreach.plist
107 funeral home + church targets in OUTREACH-APPROVED will receive drip campaigns via SES (sending from sendas@bssd.org, routed through SES due to broken Gmail aliases). This densifies Network moat.
5. Deploy Stuck JADA CRO Fixes
Staging branch holds 6 MX/deliverability fixes since May 22. Deploy via:
~/bin/jada-deploy
Invalidates CloudFront cache for web routes (dist EJJKHNHYNK4Q5/print/* and /g/* routes use CachingDisabled policy.
6. Publish BSSD Compliance Pack
EPA permit + COI + reporting requirements in client-facing format. Makes Regulatory moat visible in every proposal; currently hidden in operations docs.
7. Queenof-Cities Graduation: Honolulu First
Set sites/queenof-cities/honolulu/index.html to index=true; rebuild and redeploy to CloudFront E176JRMB92GPAJ. Run initial Honolulu outreach from referral engine template. This unlocks Distribution + Scale for a replicable city playbook.
8. Backfill & Run Follow-Up Engine
Fixture: jada-ops/ticket-runner/ (built 2026-07-03, do not rebuild). Launchd wrapper at /usr/local/bin/python3 (required for AWS_PROFILE + PATH). This captures Data (reputation history, guest feedback) automatically.
9. Park or Formalize Zero-Moat Projects
- Dragon Bodyguards: Deploy drafted intake Lambda or consciously park (pause CF route).
- QuickDumpNow: Create job ledger (
~/jada-ops/qdn-ledger.csv) or park.
Infrastructure Prerequisites
AWS authentication is currently broken across 6 services (Lightsail, EC2, Lambda, DynamoDB, CloudFront, S3). ~/.aws/config shows 7 LaunchAgents not loading due to missing /usr/local/bin/python3 symlink and PATH misconfiguration. These must be fixed before any moat-activation work will compound.
Status: Audit complete; unblock list published in ~/icloud-jada-ops/AUDIT-2026-07-03-full.md, Section 7117. One-hour unblock gate before moat work proceeds.
Timeline & Next Steps
Jul 4 (tomorrow): Deploy USCG manifest pipeline for 30-guest charter (Regulatory moat live). Jul 8: Launch BSSD outreach engine + verify GBP (Network + Distribution). By end of Jul: JADA + BSSD reach 4+ moats (Physical, Regulatory, Data, Distribution), meeting Gokul's durability threshold. Queenof-cities graduation and Dragon/QDN formalization follow in Aug.
Key Finding
This portfolio does not have a moat-building problem; it has a moat-activation problem. The infrastructure (manifest pipeline, outreach engine, follow-up system, compliance templates) is already built. The work is enabling and shipping what exists, not inventing new architecture. Once the AWS unblock gate is cleared, compounding begins.
``` I've written the blog post in HTML format covering the moats framework application, detailed portfolio assessment, technical priorities with specific file paths and infrastructure details, and the roadmap forward. The post is ~1,200 words and targets developers and operational teams who need to understand the technical foundation and infrastructure state across the portfolio.