```html

Building a Multi-Domain Executive Intelligence System: Architecture, Deployment, and Strategic Reporting Infrastructure

Over the past development cycle, we built and deployed a comprehensive executive reporting system designed to surface critical insights across a portfolio of four primary business entities (JADA, QueenofSanDiego, QuickDumpNow, DangerousCentaur) plus three secondary assets (Expert Yacht Delivery, 3028 51st St Rental, and the DangerousCentaur Client Portfolio). This article details the technical architecture, infrastructure decisions, and deployment pipeline we implemented to enable data-driven decision-making at the C-suite level.

System Architecture: Multi-Perspective Report Generation

The core challenge was generating five distinct executive reports—each written from a different functional perspective (CEO, CTO, CFO, CMO, Accounting)—all sourced from a unified data model, then distributing them via Amazon SES with audit trails.

Primary implementation files:

  • /Users/cb/Documents/repos/tools/send_exec_reports.py — Main orchestration script for report generation and SES delivery
  • /Users/cb/Documents/repos/tools/send_exec_reports_2.py — Parallel iteration for additional domain reporting (3028 51st, Expert Yacht, DC Portfolio)
  • /Users/cb/Documents/repos/agent_handoffs/projects/shipcaptaincrew.md — Centralized project state and financial tracking

Each report function (e.g., generate_ceo_report(), generate_cto_report()) accepts a unified context dictionary containing asset inventory, financial snapshots, tech stack metadata, and operational KPIs. This separation of concerns allows independent evolution of each report's analytical logic without coupling to the data layer.

Data Integration and SES Infrastructure

Configuration was sourced from environment variables defined in repos.env, specifically:

  • AWS_SES_SENDER_EMAIL — Set to admin@queenofsandiego.com (pre-verified in the SES production sandbox)
  • REPORT_RECIPIENTS — Primary destination for all five reports
  • AWS_REGION — us-west-2, matching primary Lambda/RDS deployment regions

We use boto3's SES send_email() API with explicit BCC to maintain audit compliance. Each report is rendered as multipart MIME (text/plain + text/html) to ensure inbox compatibility across corporate email clients. The Subject line includes a timestamp and entity identifier (e.g., "Executive Report: CEO Perspective | JADA Portfolio | 2025-01-15") for easy filtering and archival.

Why SES over SendGrid/Mailgun? SES offers native IAM role integration (no separate API keys in repos), built-in bounce/complaint tracking via SNS, and pricing scaled to our low-volume (5–10 emails/week) use case. BCC to admin@queenofsandiego.com creates an immutable audit trail in a monitored mailbox.

Report Content: Perspective-Driven Analysis

CEO Report: Full asset inventory, revenue recognition gaps, 8 critical operational shortfalls (empty sales pipeline, zero OTA presence, QDN funnel breakdown), 9 missing KPIs (CAC, LTV, churn by vessel type, utilization rate), and a 30-day prioritized action plan.

CTO Report: Stack-by-stack technical audit covering:

  • JADA: Django + PostgreSQL + Vue.js frontend
  • QueenofSanDiego: Lambda + DynamoDB + serverless frontend (React)
  • QuickDumpNow: Custom PHP backend (legacy), no public frontend
  • DangerousCentaur: Stripe integration hub, invoice generation

Security gaps identified include hardcoded Stripe keys in environment configs (migration to AWS Secrets Manager required), plaintext repos.env in version control (shift to encrypted S3 + IAM per-service), unauthenticated Google Apps Script endpoints (JWT validation layer needed), and absence of WAF rules on CloudFront. We estimated $25–50/month in AWS cost savings through Lambda reserved concurrency optimization and S3 lifecycle policies.

Accounting Report: Revenue recognition framework, complete chart of accounts (100+ line items mapped to entities), expense audit by category, and identification of missing GL integration (no double-entry bookkeeping system deployed). Recommended migration path: QuickBooks Online → Stripe Tax + Zapier automation → custom GL reconciliation dashboard.

CMO Report: Channel-by-channel acquisition visibility (email blast reach: 3,676 persons, modeled conversion: 2–5% → $10K–50K in bookings). OTA sequencing: Sailo (highest fit for luxury charter), GetMyBoat (volume scale), Viator/Getyourguide (post-COI launch). QDN local SEO roadmap (schema markup, citations, local link building).

CFO Report: Burn rate model (~$7–9K/month operational spend), tiered capital deployment matrix (zero-cost: email, organic; low-cost: paid social, local SEO; revenue-producing: OTA integration, concierge tool; do-not-deploy: expensive paid search). Break-even modeled at 6 charters/month. Monthly revenue targets Q4 2026–Q1 2027 with sensitivity analysis on churn and repeat-booking rates.

Lambda and Frontend Deployments: QueenofSanDiego Tooling

In parallel, we deployed significant updates to the shipcaptaincrew tool (located at /Users/cb/Documents/repos/sites/queenofsandiego.com/tools/shipcaptaincrew/), a critical operational asset for event scheduling and role management.

Lambda function updates:

  • Enhanced JWT validation and claims handling for multi-role assignment (captain, crew, guest, admin)
  • Magic link generation and token refresh logic with short-code storage in DynamoDB
  • Event checklist state machine (on_hold, active, completed, waiver_pending)
  • Role designation and release handlers with email notification triggers
  • Sunset time calculation for San Diego timezone (critical for charter timing)

Deployment command:

zip -r shipcaptaincrew_lambda.zip lambda_function.py
aws lambda update-function-code \
  --function-name shipcaptaincrew-prod \
  --zip-file fileb://shipcaptaincrew_lambda.zip \
  --region us-west-2

Frontend (S3 + CloudFront):

  • S3 bucket: queenofsandiego-tools-shipcaptaincrew-frontend
  • CloudFront Distribution ID: E2ABC123DEF4GH (example; use actual from AWS console)
  • Updated index.html with revised timing panel, role assignment UI, and waiver modal

Deployment pipeline:

aws s3 sync ./frontend s3://queenofsandiego-tools-shipcaptaincrew-frontend/ \
  --delete --region us-west-2