Net revenue · MTD
$36,111
▲ pacing vs $49.1k June record
Target: $75k/mo by day 90
Payment fail rate · MTD
42.5%
worst ever · 37.8% lifetime
Target: <25% after local rails
Commission pool · tracking
—
25% above $37.7k baseline
Baseline locked Apr–Jun avg
Net collected · lifetime
$382.8k
2,411 customers · median LTV $133
Refunds 0.79% — healthy
Unread conversations
11,736
2,159 WhatsApp · IG/FB dead 8 mo
Target: <200 · <5 min SLA
Recurring MRR
$0
membership not launched
Target: $10k+ MRR (SAR 79–99/mo)
Net revenue by month
Bars = net collected (after refunds). Dashed line = commission baseline ($37.7k, trailing-3-month avg before engagement). Hatched cap on the current month = projection at current pace.
Payment failure rate by month
Failed ÷ decided attempts. Target after the payments project: <25%.
Why payments fail — all 1,873 declines
Stripe decline codes, lifetime. ~28% are plumbing (3DS, card-type blocks, US wallets) — fixable with local rails.
Net revenue by product family
Lifetime. IELTS ramping since Mar 2026; AI tier under-monetized vs Dalilk's 2,400–4,600 SAR pricing.
Payment-plan health — 1,580 plan checkouts
611 died at first charge; 295 churned mid-plan. $93k+ combined uncollected value.
Active leaks — money on the floor
Quantified from full transaction/subscription/conversation exports. Click a status pill to update it (Open → In progress → Fixed) — status syncs to everyone via the shared board when hosted.
Fix board
The execution queue. Every fix maps to a leak or growth lever; “Impact” is the monthly run-rate estimate at maturity. Click a status pill to cycle it.
| Fix | Owner | Status | Impact / mo | Notes |
|---|
90-day execution plan
Three phases, each with its own goal and success metric. Dots mirror the fix-board status and update automatically.
Targets we are driving toward
Agreed success metrics for the engagement. “Now” updates as data refreshes.
| Metric | Now (Jul 15) | 90-day target | Lever |
|---|---|---|---|
| Payment fail rate | 42.5% | < 25% | Local rails (Mada/SAR/BNPL) + retry timing + kill US wallets |
| Monthly net revenue | $49.1k (June record) | $75k+ | Recovery + dunning + email + backlog + pricing |
| Recurring MRR | $0 | $10k+ | Membership launch (SAR 79–99/mo) |
| Unread WhatsApp | 2,159 | < 200 · <5 min SLA | 2 setters, offset shifts 8am–2am AST |
| Plan completion (3-pay) | 19% | > 60% | Dunning system + pre-dunning WhatsApp + access policy |
| Broadcast email revenue | $0 (never sent) | $5–10k/mo | Tuesday lesson newsletter, warm 20k → scale |
Commission calculator
Incremental = month net − agreed baseline. Commission = 25% of incremental. Baseline locked at trailing-3-month average (Apr–Jun 2026) = $37,670.
$8,583
on $34,330 incremental
Attribution system — how “brought by Maxence” is proven
| UTM registry | Every asset you launch uses utm_source=mx-* (mx-clipfarm-a3, mx-snap, mx-email-tue, mx-referral, mx-seo). GHL captures UTMs on opt-in & order forms — verified working in his account. |
| Promo codes | High-ticket & partnerships close on codes MX-*. Code = attribution, no debate. |
| Contact tags | Refresh script tags every contact whose first touch carries mx-* → tag src:maxence. Revenue joins transactions→contact→tag. |
| New-system revenue | Recovered failed payments, dunning saves, membership MRR, broadcast-email revenue: channels that did not exist pre-engagement → 100% attributed (agree in writing). |
| Baseline | Locked before fixes ship: $37,670/mo (Apr–Jun avg). Anything above = incremental pool. |
6-month commission projection
Three ramp scenarios from the current pace. Assumes baseline stays locked at $37,670. Edit the calculator above to change the commission %.
Attributed revenue ledger Recovered to date: $0
Each row = one attributed channel’s month, appended by the refresh script. Source of truth for the monthly commission invoice.
| Month | Channel | Evidence | Revenue | Commission (25%) |
|---|---|---|---|---|
| Jul 2026 | Failed-payment recovery blitz | tag mx-recovery · 267-contact pool $40.8k | — pending launch | — |
| Jul 2026 | WhatsApp backlog blitz | tag mx-backlog · 2,159 threads | — pending launch | — |
| Aug 2026 | Broadcast email program | utm mx-email-* (channel didn’t exist) | — | — |
| Aug 2026 | Clip farm accounts | utm mx-clipfarm-* per account | — | — |
The Content Brain — one video in, ten assets out
Mohamad records once, the machine multiplies: one weekly video becomes ~40 published units across 6 channels — every link UTM-stamped
mx-* so the traffic counts toward the attribution ledger. Run: python3 content-brain/pipeline.py <youtube-url>Input
- YouTube video URL
- TikTok / IG video file
- Raw voice memo
Brain — pipeline.py
- 1 · Transcript (captions or Whisper)
- 2 · Claude + Saudi-dialect prompt pack
- 3 · UTM stamping
mx-* - 4 · Rows appended to publish queue CSV
Output queue — per video
- blog.md — website (SEO)
- x-thread.txt — X API or VA
- linkedin.txt — VA
- email.md — GHL «درس الثلاثاء»
- reddit.txt — VA, value-first
- hooks.txt — 5 clip-farm hooks + timestamps
- magnet-cta.txt — lead-magnet CTA
The voice problem — and the rules that solve it
Generic AI repurposing outputs فصحى (MSA) and instantly sounds like a corporation, not him. The prompt pack enforces hard rules:
| X / email / Reddit | عامية سعودية صِرفة — سجلّه الحقيقي: «هلا»، «أبشر»، «جبت»، «وش رايك». إعادة استخدام صياغة الترنسكربت نفسها، بدون ترجمة. |
| Blog posts | Light-MSA skeleton only (for Google ranking) + his Saudi-dialect phrases kept verbatim in quotes — ranks AND still sounds like him. |
| Zero invented claims | The model may only restructure what he actually said. Every output ends with a source line: which video, which minute. |
| Style card | Built from his actual site copy and transcripts — lives in content-brain/prompts.md, editable. |
VA operating system — 30–60 min/day
One VA (Egypt/Jordan, $400–600/mo) runs the whole publish side.
| 1 · Queue | Every pipeline run appends to queue/PUBLISH_QUEUE.csv: date, channel, asset, status (draft/approved/posted), utm_link, notes. |
| 2 · Post | VA opens queue → posts approved items → pastes live URL back → marks posted. x_post.py auto-posts X threads if the API key is set. |
| 3 · Approve | Maxence approves drafts 2×/week (~20 min). Mohamad only reviews blog posts carrying his byline. |
| 4 · Attribute | Weekly, refresh_ghl.py reads GHL UTMs → every mx-* lead/sale lands on the ledger automatically. |
Channel playbook
Cadence per channel once the machine is running.
| Channel | Cadence | Who posts | Why it matters in GCC |
|---|---|---|---|
| Blog (mohamadalaya.com) | 2/wk from videos + 2/wk SEO clusters (STEP, scholarships) | VA pastes, Maxence reviews | Compounding, platform-proof; feeds Google's Arabic content gap |
| X / Twitter | 1 thread/day + 3 singles | x_post.py auto or VA | KSA is one of X's strongest markets; study-threads travel |
| Email (GHL) | 2/wk «درس الثلاثاء» + launch weeks | VA loads into GHL | 274k contacts, never emailed — instant channel |
| 3/wk (career-English angle) | VA | B2B surface: HR & recruiters see him | |
| 2–3 helpful answers/wk | VA — value-first, link in profile | High-trust traffic; IELTS subreddits are huge | |
| Telegram / WhatsApp channel | daily push from queue | VA | Owned reach, zero cost (28.6k Telegram subs already) |
| Clip farm | 5 hook variants per source video | Clipper + VAs | Feeds the 20-iPhone operation; UTM per account |
Lead magnets the Brain plugs (rotates by topic)
| Magnet | Built from | Gate |
|---|---|---|
| خطة الـ 90 يوم لستيب (PDF) | existing content | email + WhatsApp |
| 5,000-words audio pack | his course assets | |
| Level test / band predictor | build later (v2) | email + level tag |
| Free IELTS Telegram course | exists — 28.6k subs | Telegram join |
Scale path
| v1 · now | Semi-auto — pipeline generates, VA posts. Live in a week. |
| v2 | n8n/Make: new YouTube upload → auto-run → drafts in Notion → approve on phone → auto-post X + Telegram + schedule GHL email. |
| v3 | Comment-mining loop: scrape TikTok/YouTube comments weekly, cluster questions → Brain proposes next week's video topics. Audience asks → he records → machine multiplies. |
Unread backlog by channel
11,736 total. IG + FB integrations dead since Nov 6, 2025 — reconnect, then blitz.
Slack alert rules (#alaya-ops)
| 🔴 Fail-rate spike | Daily fail rate > 45% or 7-day avg > lifetime +5pts → alert with top decline codes |
| 🔴 Integration dead | No inbound IG/FB/webchat message in 48h → “channel silent” alert |
| 🟠 Installment risk | Payment-plan charge failing tomorrow’s retry window → daily list for pre-dunning WhatsApp |
| 🟠 Unread growth | WhatsApp unread grows >50 day-over-day → staffing alert |
| 🟠 Big-ticket abandoned | Checkout abandoned ≥ $299 → instant alert with contact link (chase within 15 min) |
| 🟢 Daily digest 8am AST | Yesterday: net $, sales, fail %, recovered $, new leads by source (mx-* split), unread delta |
| 🟢 Weekly scorecard | Monday: full KPI table vs targets + commission-pool running total |
How this dashboard stays fresh
Three layers — live pull on open, weekly deep refresh, daily alerts.
| Live layer | /api/data (Cloudflare Pages Function) pulls this month’s GHL transactions on every open, cached 1h in KV. The LIVE badge up top pulses green when it’s working. Requires secret: npx wrangler pages secret put GHL_TOKEN --project-name=alaya-command-center |
| Shared board | /api/state stores fix/leak statuses in KV — everyone behind Cloudflare Access sees the same board. SYNCED badge = on. Offline/local file falls back to this browser only. |
| Weekly deep refresh | python3 refresh_ghl.py (GitHub Actions, Monday 07:00 AST) — recomputes all history, appends the attribution ledger + snapshot history, commits, redeploys. |
| Daily alerts | python3 slack_alerts.py (Actions cron 08:00 AST) — evaluates the rules table, posts to #alaya-ops. |
| Hosting | Cloudflare Pages (bash deploy.sh) behind Cloudflare Access — allow-list you + Mohamad’s team. KV namespace already provisioned. |
Sources: full GHL exports Jul 15 2026 (5,080 transactions · 1,580 subscriptions · 270,536 conversations · 230,560 opportunities) + live GHL API layer. Benchmark: dalilk4english.com pricing, Jul 15 2026. Commission baseline: trailing-3-month net average Apr–Jun 2026. Built by Maxence · v3.0
