Engineering teardown · honest numbers

What you'd build to replicate this.

Yes — you could build this with Claude. Here's every component inside the $10,000 AI Marketing System, with senior-contractor hours and monthly running cost. No padding. We built it; we know what it cost.

Components

33

Senior-dev hours

~837

Replication cost

$105K

At $125/hr senior-contractor rate. Plus ~$158/mo in running infrastructure. Plus the 6–12 months of iteration to figure out which parts actually move the needle.

Foundations

The plumbing nobody sees but everything depends on

80 hrs$20.00/mo

Multi-tenant auth + slug routing

32 hrs

Cookie-session auth for owners + admin, per-tenant cookies (CLIENT_PORTAL_COOKIE), slug-aware middleware that gates /clients/[slug]/* + /api/admin/*, plus admin-impersonate-as-client shortcut.

Trap

Cookie-name conflicts and missing slug-scoped queries leak data between tenants — hardest bug to catch in QA.

Per-tenant Postgres schema

28 hrs

client_owners, client_leads, client_lead_messages, client_email_campaigns, client_email_sends, client_tasks, client_budget_items, client_subscriptions, system_costs (with client_slug), recurring_costs (with client_slug). 10+ tables, 15+ indexes, 5+ migrations evolving the schema as patterns emerge.

Trap

Adding client_slug to system_costs after the fact requires backfilling NULL rows + re-checking every cost-logger call site.

Deploy infra · Vercel + Supabase + cron

12 hrs$20/mo

Vercel Edge + Postgres connection pooling, vercel.json cron schedule (daily digest, every-5-min campaign tick, weekly recurring-cost charge), env-var management across preview + prod.

Trap

Vercel cron quietly stops on stuck deploys — needs a heartbeat row to detect silent failures.

Domain + SSL automation

8 hrs

Per-client domain mapping (yourbiz.com → /clients/yourbiz/*) via middleware host header inspection; cert auto-provisioning.

Lead capture

Where prospects become leads

110 hrs

Public inquire endpoint with audience detection

14 hrs

POST /api/clients/inquire/[code] receives form data, runs detectAudience() that maps free-text intent + landing-page slug to one of 6 segments per client, persists lead, fires SMS alert to owner, queues day-0 email.

Trap

Audience detection regex misses ~15% of intents — needs LLM fallback that costs ~$0.001/lead.

Six audience-specific landing pages

36 hrs

Per-segment copy, hero, social proof, form. Each tagged so capture lands in the right funnel automatically. Real product references (not generic copy).

Trap

Copy that converts is 80% of the work — generic templates pull <1% conversion vs. 6-12% for audience-tuned pages.

Interactive lead magnet (configurator quiz)

42 hrs

Client-side state machine; live SVG that re-renders as the user toggles options; final personalized recommendation; capture form auto-routes to the matching audience funnel.

Trap

Live SVG that updates on every toggle (vs. just at the end) is what 3-5×s the conversion rate — and is the hardest piece to ship.

Lead pipeline UI · audience badges + timeline

18 hrs

Filter by audience, click any lead to see full message timeline (inbound + outbound, color-coded by direction), promote to customer, mark DNC/bounced.

Funnels & messaging

What runs after the form is filled

138 hrs$51.15/mo

Email campaign engine

24 hrs

Compose with merge tags, audience-segment filter, schedule for future date, draft/queued/running/sent state machine, idempotent step advancement.

Trap

Idempotency on cron retries is the silent bug factory — without it, a single re-run double-sends every campaign.

Scheduled cron tick · every 5 min

14 hrs

Picks up campaigns whose scheduled_at has passed, fans out to client_email_sends, calls SendGrid, advances state. Built to survive partial failures.

SendGrid event webhook

16 hrs$20/mo

Receives delivered/open/click/bounce/spam events, maps each to a client_email_sends row, advances send.status forward only, bumps campaign aggregates (open_count, click_count).

Trap

Webhook signature verification is in SendGrid docs but rarely implemented; without it, anyone can spoof opens.

Multi-step, 4-channel audience funnels

22 hrs

Each audience has its own day-by-day drip schedule (Day 0 capture, Day 2, Day 5, Day 14, Day 30) using ALL FOUR channels — email, SMS, voicemail, AI postcard — interleaved by audience preference. Step-skip logic if the lead replies or buys.

Trap

Mixing channels in one funnel multiplies the bug surface — a SMS step that fires before the email arrives looks robotic. The cron has to know which channel ships first per audience.

SMS follow-ups + missed-call text-back

20 hrs$1.15/mo

Twilio integration: outbound SMS as funnel touch, missed-call detection via Twilio Studio webhook, auto-reply within 60 seconds.

Voicemail drops

16 hrs$30/mo

Ringless voicemail vendor integration (Slybroadcast / Drop Cowboy), queueing system, per-audience voicemail script library.

AI postcards via Lob

26 hrs

Physical-mail funnel step. Lob print-and-mail API integration, AI-generated front artwork (tuned per lead's context — tractor model, hunting state, kid's age), personalized back copy, address-validation pipeline, deliverability tracking. Adds ~$1/lead but lifts response 3-5× over email-only sequences.

Trap

Lob's address verification rejects ~8% of inbound addresses — needs a fallback that queues the failure for owner review instead of silently dropping the postcard.

AI layer

Where the system gets smarter without you touching it

106 hrs$75.00/mo

AI inbound responder · intent classification

38 hrs$60/mo

On every inbound reply: classify into 6 intent classes (interested / not-now / objection-price / objection-timing / question / unsubscribe), draft a response in the owner's voice, log to admin queue for one-tap approve/edit/send.

Trap

Voice-matching the owner takes 50+ training examples; generic LLM output tanks reply rates by ~40%.

Hyperloop A/B engine · Wilson CI

22 hrs

Statistical confidence intervals on subject lines + hooks, auto-promote winners once CI lower bound exceeds the runner-up's upper bound. Per-audience winner tracking.

Trap

Most A/B 'winners' aren't statistically significant — without Wilson-CI gating you optimize for noise.

Site audit engine

28 hrs$15/mo

Crawl a competitor URL, run hero + structure + speed + mobile + copy analysis through Claude, render an audit page with findings + recommended fixes + score.

Cost logger with attribution

18 hrs

Every Claude/SendGrid/Twilio/Places API call logs row to system_costs with client_slug for per-tenant billing splits. Threaded through 30+ caller sites.

Trap

Forgetting client_slug on one cost call silently drops it into the 'house' bucket, costing you margin you can't recover.

Sales operations

If you have a team or partners

122 hrs

Cold-call workspace

34 hrs

Auto-pulls next prospect from queue, displays color-coded script + tips + click-to-dial + click-to-text + one-tap outcome buttons (booked / VM / not interested / DNC) with per-call notes.

Audience-branched script library

26 hrs

Six fully-written CallScripts (intro / qualify / pitch / CTA / voicemail) + branched objection handlers per audience, with template-variable substitution.

Trap

The objections matter more than the openers — generic 'too expensive' replies leave 30% of close potential on the table.

Partner program · apply + approve + track + payout

48 hrs

Public landing pitch, apply form, admin approval queue, partner workspace login, partner_referrals table, manual-payout dashboard with status tracking.

Lead pool guardrails

14 hrs

Filter rules: exclude paid/in-progress/deployed/bounced/unsubscribed/DNC, exclude prospects called by ANY partner in last 30 days, prefer audited prospects, randomize to avoid collisions.

Analytics & control

How the owner watches the system breathe

145 hrs$12.00/mo

Real-time activity feed

12 hrs

Joins client_leads + client_lead_messages + client_email_sends + system_costs into one slug-scoped, time-sorted event stream. Polls every 6s in the portal. Pause/resume + 5 summary counters.

Owner portal · 10 tabs

38 hrs

Overview / Leads / Activity / To-Do / Budget / Campaigns / Funnels / Map / Insights / Account. One login. Mobile-responsive. Single source of truth.

Spending dashboard with per-tenant filter

22 hrs

Daily chart, road-to-revenue-goal gauge, recurring + variable cost split, per-client filter, ad-spend logger.

Weekly + monthly digest auto-generation

16 hrs

Cron-rendered Monday digest: leads captured, replies received, campaigns sent, top-performing audience, biggest cost line. Emailed to owner.

Microsoft Clarity heatmaps

1 hrs

Wired into every client site for free session-recording + click/scroll heatmaps. Drop-off insights flow back into the optimization loop.

County-level lead scout map

56 hrs$12/mo

US county GeoJSON overlay (3000+ features), click any county to scout audience-tagged businesses via Google Places, fly-to-bounds zoom, universal status colors (blue=in-progress, green=completed, red ✕=no results) persisted in localStorage, MLS/USL/MLS-NEXT data layers.

Trap

Loading 3000-feature GeoJSON without bounding-box filtering tanks mobile performance — needs progressive loading.

Ads, SEO, brand

The traffic that feeds the funnel

136 hrs

Google Ads + Meta Ads · self-learning structure

28 hrs

Conversion-event wiring (lead capture, configurator complete, audit request), audience-based campaign architecture, weekly creative rotation, Wilson-CI gating on winners.

Trap

Most 'self-learning' campaigns fail because the conversion-event signal is dirty — needs server-side event firing to dedupe.

Long-term SEO build

40 hrs

Site architecture, content cluster planning, schema markup, internal linking strategy, monthly content cadence, GSC + GA4 wiring.

Custom website

60 hrs

Conversion-tracked, fast (Lighthouse 90+), mobile-first, on-brand, hooked into the rest of the system.

Logo revision + brand polish

8 hrs

Refresh that matches the system's tone — not Fiverr-generic, but not over-engineered.

All in

What it would actually cost you to build

Senior-dev hours

837

~21 full-time weeks

Build cost

$104,625

@ $125/hr

Running cost

$158/mo

infrastructure + APIs

Build cost vs. BlueJays

Build it yourself (senior contractor)$104,625
+ 6–12 months of iteration to find what works+ $20–50K
+ Owner's time managing the build+ months
BlueJays AI Marketing System$10,000

Hour estimates are honest — what a senior contractor would actually charge to ship each piece, ground-up, today. They do NOT include the 6–12 months of A/B testing, copy iteration, and funnel tuning that turn a working system into one that converts.

What makes this hard to replicate

Not the code. The code is buildable. Here's the actual moat.

The traps in the table above

Every component has a 'trap' — a gotcha we hit and fixed. You'll hit them too. We hit them on someone else's clock.

The 6 audience-specific scripts and funnels

Generic copy converts at 1%. Audience-tuned copy converts at 6-12%. The work to find what each audience responds to is months of iteration — and we've already done it for verticals that match yours.

The voice-match training for the AI responder

A generic GPT reply gets unsubscribed. A voice-matched reply gets a meeting booked. Training data is 50+ examples of you, plus the prompt engineering to keep it on-brand.

The conversion-event wiring across ads + site + email

Server-side event tracking, deduped, cookie-resilient. Most agencies fake this with last-click. We don't.

The integration debt

Vercel + Supabase + SendGrid + Twilio + Google Ads + Meta + Stripe + Claude. Every API has its own quirks. Every quirk we already know.

The discipline to not add features that don't move the metric

Most replicas keep adding tabs and dashboards no owner uses. Knowing what to leave out is the part Claude can't do for you yet.

Or just buy the system

$10,000 ($300 off pay-in-full · 3-pay also available) · live in 30 days · you own every piece · cancel monthly support and the system keeps running.

Get a free audit →