BSP Systems Audit

Gap Analysis -- Competitive Threat -- SWOT -- Full Audit
Generated March 26, 2026 | Trust Engine Verified

Executive Summary

4/5
Services UP
$1.51M
March Revenue
42
API Modules
45
Cron Jobs
35%
Disk Used
What's Working: Titan API v4.5 (42 modules, 216+ endpoints), Next.js frontend (16 pages), PostgreSQL (31K+ records), Daniel AI (18 calls in 24h), Google Ads ($205 yesterday, 6 conv, India BLOCKED), DMARC deployed, 45 automated cron jobs, sync daemon every 15 min.

What's Broken: Revenue Protocol (port 8768 DOWN), DKIM missing (needs Kalen), sync daemon systemd timer inactive (running via cron instead), outreach audit had stale data (FIXED this session).

What's Missing: No SSE/WebSocket for real-time updates, no error tracking (Sentry), no observability (Prometheus/Grafana), no circuit breakers on external APIs, no structured logging, no ST webhooks, no health check automation.

Service Status (Live Audit)

Titan API (port 8765) UP v4.5.0 | 42 modules | 216+ endpoints
Retell Webhook (port 8766) UP Daniel AI callback handler
Reasoning Engine (port 8767) UP 6 modes: preflight, analyze, validate, review, audit, post-mortem
Revenue Protocol (port 8768) DOWN Needs restart -- Logic Gate + 6 lever checks
Next.js Frontend (port 3000) UP 16 pages | /app basePath | nginx reverse proxy
PostgreSQL 16 UP bsp_analytics | 11 tables | 31K+ records
Sync Daemon (cron */15) ACTIVE Every 15 min | ST data pull
DMARC DEPLOYED v=DMARC1; p=none; rua=mailto:dmarc@callbrightside.com
DKIM MISSING Needs Kalen 5-min Google Admin action

Data Freshness Audit

Data SourceLast UpdatedFreshnessStandardStatus
Customers (titan.customers) Mar 26, 12:24 PM < 1 min < 15 min FRESH
Jobs (titan.jobs) Mar 26, 5:15 AM 7+ hours < 15 min STALE
Google Ads (API pull) On-demand per briefing Real-time Hourly LIVE
Daniel AI (Retell API) On-demand per briefing Real-time Hourly LIVE
GA4 (Analytics Data API) On-demand per briefing Real-time Hourly LIVE
Estimates (titan.estimates) Synced via cron Varies < 1 hour CHECK
Outreach page data Hardcoded (FIXED) Was stale Dynamic FIXED

Gap Analysis: Titan Killer vs Gold Standard

CapabilityGold StandardTitan KillerGapPriority
Real-time dispatch updates WebSocket/SSE push (<5s) 15-min cron poll Critical -- dispatchers need instant updates P1
Error tracking Sentry with stack traces + dedup Grep log files manually No automated error detection P1
Health monitoring Prometheus + Grafana dashboard Manual curl checks No continuous monitoring P2
ST webhooks Real-time event push for jobs/customers Not implemented Depends on ST plan tier P2
Circuit breakers pybreaker on all external API calls None -- cascading failure risk One dead API could freeze dashboard P2
Uptime monitoring Uptime Kuma / external pinger None No alert when services go down P2
Structured logging JSON logs + ELK/Loki aggregation Print statements to file Can't search/filter/aggregate logs P3
Dashboard auto-refresh SSE stream + React state 30s setInterval polling Works but wastes bandwidth P3
3-layer health checks /health/live, /ready, /deep Briefing endpoint covers deep check Need /live and /ready split P3
Distributed tracing OpenTelemetry across services None Nice-to-have at current scale P4

Competitive Threat Analysis

Titan Killer vs Field Service Management Platforms

Feature
ServiceTitan
Housecall Pro
Jobber
Titan Killer
Real-time dispatch
Yes (native)
Yes (native)
Yes (native)
15-min sync
AI Receptionist
$500+/mo add-on
No
No
Daniel AI (built-in)
Google Ads integration
Basic tracking
No native
No native
Full API (pause/boost/geo)
India bot protection
No
No
No
42 country exclusions
Auto review requests
$100+/mo add-on
Basic
Basic
3CX SMS ($0/mo)
Revenue attribution
Campaign tracking
Minimal
Minimal
Trust Engine 3-equation
Email outreach
No native
Basic
Basic
Built, not deployed
Pricing
$500-2000+/mo
$50-200/mo
$30-150/mo
$0 (self-hosted)
Mobile app
Native iOS/Android
Native iOS/Android
Native iOS/Android
None (web only)
Customer portal
Basic
Yes
Yes
Planned (Zeus)
Blog/content engine
No
No
No
7-tab content system
Scientific method tracking
No
No
No
230+ experiments

Competitive Advantages (Moats)

$0/mo vs $500+/mo
Self-hosted eliminates $6K-24K/yr in SaaS fees. Total VM cost: ~$50/mo.
AI-native from day 1
Daniel AI, persona scoring, blog generation, predictive dispatch -- baked in, not bolted on.
Full-stack marketing
Google Ads API control, India bot blocking, attribution, blog engine. No FSM competitor has this.
Scientific method engine
230+ tracked experiments with compound learning. No competitor measures or iterates like this.

Competitive Weaknesses (Kill Zones)

No mobile app
Techs need iPad/phone app for field use. React Native or PWA needed. ST wins here completely.
Still dependent on ST
All data syncs FROM ServiceTitan. If ST API changes or contract ends (May/June), data stops.
Single developer
Bus factor = 1. No documentation, no tests, no CI/CD. If Robert is unavailable, everything stops.
No observability
Services can crash without anyone knowing. No Sentry, no Grafana, no alerts beyond Slack.

SWOT Analysis: Titan Killer Platform

Strengths

  • 42 API modules, 216+ endpoints -- more comprehensive than most $500/mo SaaS tools
  • $0/mo operational cost -- self-hosted on $50/mo VM vs $6K-24K/yr SaaS
  • Daniel AI receptionist -- 18 calls in 24h, avg 91s duration, $0 vs $500+/mo vendors
  • Google Ads full API control -- pause/boost/geo block/attribution (no FSM competitor has this)
  • India bot shield -- 42 country exclusions, ZERO foreign clicks. Saved $17K+ in click fraud
  • Trust Engine 3-equation validation -- Revenue, ROAS, Profit verified on every decision
  • PostgreSQL foundation -- 31K+ records, proper schema, ACID compliance
  • 45 automated cron jobs -- system runs itself 24/7
  • 16-page Next.js frontend -- role-based dashboards (Robert, Stephanie, Ashton, Audrey)
  • Morning briefing system -- live Daniel/Ads/GA4/India/Health in one API call
  • 394+ reviews, 4.9 rating -- organic trust signal competitors can't buy

Weaknesses

  • No mobile app -- techs still need ST iPad for field operations
  • ST dependency -- all data syncs FROM ServiceTitan. Contract ends May/June 2026
  • 15-min sync lag -- dispatch board shows data up to 15 min old
  • Revenue Protocol DOWN -- port 8768 not running, needs restart
  • DKIM missing -- email deliverability blocked until Kalen enables
  • Zero observability -- no Sentry, no Prometheus, no uptime monitoring
  • No automated tests -- 216 endpoints with zero test coverage
  • No CI/CD pipeline -- manual SSH deploy every time
  • Hardcoded data in pages -- outreach had stale DMARC status (fixed but pattern exists elsewhere)
  • Email outreach built but never sent -- 5 campaigns, 0 emails delivered
  • Bus factor = 1 -- no documentation, no runbook, no second developer

Opportunities

  • ST contract negotiation -- 8-10 weeks to negotiate down or remove unused add-ons
  • Zeus (customer portal) -- client-facing scheduling/payments reduces ST dependency
  • PWA for tech app -- Progressive Web App could replace ST iPad app at $0 cost
  • SSE for real-time -- PostgreSQL LISTEN/NOTIFY + SSE = instant dashboard updates
  • 2,375 unsold estimates -- immediate revenue recovery with followup sequences
  • 3,665 dormant customers -- $171K+ projected reactivation via email campaigns
  • Daniel AI improvements -- transfer logic, training data, voice tuning
  • 100 Year Plumbing -- second brand on same codebase ($1/mo Twilio number)
  • Sentry free tier -- error tracking for $0
  • Uptime Kuma -- self-hosted monitoring for $0
  • ST webhooks -- real-time job updates if available on current plan

Threats

  • ST contract deadline -- May/June 2026. If they cut API access, data pipeline breaks
  • API rate limits -- ST, Google Ads, GA4 all have rate limits. No circuit breakers
  • Single VM failure -- no redundancy, no backup server, no failover
  • Google Ads policy changes -- automated management could violate TOS if not careful
  • Daniel AI "sounds like a robot" -- customer perception risk (Gerard, one caller today)
  • Broccoli competition -- if BB negotiation fails, they could undercut on pricing
  • Data compliance -- storing customer PII with no encryption at rest, no GDPR/CCPA controls
  • Kalen's buy-in -- tech pricing, process changes all need his approval
  • Shadow IT risk -- running parallel systems (ST + Titan Killer) means double data entry risk

Infrastructure Audit

VM Resources

35%
Disk (17G/49G)
19%
Memory (1.5G/7.8G)
17
Python Processes
45
Cron Jobs

Database Health

TableRecordsStatus
titan.customers5,390HEALTHY
titan.jobs1,268HEALTHY
titan.technicians9HEALTHY
titan.estimates2,437HEALTHY
titan.contacts4,471HEALTHY
titan.price_book637HEALTHY
titan.call_logs0EMPTY
titan.dispatch_schedule0EMPTY
titan.memberships0EMPTY
titan.inventory0EMPTY
titan.invoices7,100+HEALTHY
public.blog_content5HEALTHY
public.persona_matrix3HEALTHY

Priority Action Plan

P1 -- Do This Week (Critical)

1
Restart Revenue Protocol (port 8768)
30 seconds. Kill process, restart.
2
Install Sentry for error tracking
30 min. pip install sentry-sdk[fastapi]. Free tier. Catches every unhandled exception.
3
Install Uptime Kuma for monitoring
1 hour. Self-hosted. Pings all endpoints every 60s. Alerts on downtime. Free.
4
Get DKIM from Kalen
5 minutes of Kalen's time in Google Admin. Blocks all email campaigns until done.

P2 -- Do Next 2 Weeks (Important)

5
Add circuit breakers on external API calls
4 hours. pybreaker on ST, Google Ads, GA4, Retell, 3CX. Prevents cascading failures.
6
Implement SSE for dashboard liveness
1 day. PostgreSQL LISTEN/NOTIFY + FastAPI StreamingResponse + EventSource client.
7
Deploy Apps Script for email sending
2 hours. Script is written. Needs deployment to Google Sheets.
8
Populate empty DB tables (call_logs, dispatch, memberships)
4 tables at 0 records. Need ST API mapping or manual entry workflow.

P3 -- Do Before ST Contract (May/June)

9
Prometheus + Grafana observability stack
1 day. Request metrics, error rates, sync lag, DB connections on one dashboard.
10
Zeus customer portal MVP
Reduces ST dependency. Customer scheduling, payments, history.
11
ST webhook integration (if available on plan)
Real-time job/customer updates. Supplements 15-min cron sync.
12
PWA for tech field app
Replace ST iPad dependency. Next.js PWA manifest + service worker.
BSP Systems Audit | Generated by Nexus AI | March 26, 2026
Trust Engine Verified | 3-Equation Validation Applied