feat(dealix): P0 launch completion — marketers page + ops runbooks

P0.2: Marketers page rewritten from 131-line link hub to 463-line
service sales page with: hero, problem statement, solution, 3
workflows (agency/freelancer/CRM), 3 pricing packages with partner
revenue share, revenue calculator, trust blocks, 8 FAQs, final CTA.
All Calendly links point to live booking page.

P0.5: RAILWAY_ENV_KEYS.md — complete env key reference with source
URLs, cost, effect when missing, verification command. Separates
P0 (GROQ/Google/Sentry/PostHog) from P1 (Moyasar) and P2 (Maps/
SendGrid/WhatsApp/HubSpot).

P0.6: FIRST_5_OUTREACH.md — 5 ready-to-send messages (SaaS founder,
agency owner, real estate, B2B services, referral ask) with Arabic
text, follow-ups at 24h and 72h, opt-out line, lead tracker table.

P0.7: DEMO_BOOKING_RUNBOOK.md — 20-minute demo flow with discovery
questions, live API demo sequence (enrich-tech, route, message),
ROI discussion framework, objection handling, 3 close patterns,
post-demo follow-up template.

P0.8: FULL_OPS_LAUNCH_RUNBOOK.md — daily checklist, payment test
checklist, Moyasar diagnostic steps, outreach/demo/rollback/DB
restore/incident checklists, do-not-touch list, definitions of
launch-ready and revenue-live.

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
This commit is contained in:
Claude 2026-04-25 16:57:19 +00:00
parent f4c5cab4fd
commit 59a5ab2a84
No known key found for this signature in database
5 changed files with 825 additions and 97 deletions

View File

@ -0,0 +1,77 @@
# Dealix — Demo Booking Runbook
## How to Book First Demo
1. Prospect responds positively to outreach message
2. Send Calendly link: `calendly.com/sami-assiri11/dealix-demo`
3. Or propose 2 specific times: "يناسبك بكرة 11 ص أو 3 م؟"
4. Calendly sends confirmation to both parties
## Demo Preparation (30 min before)
- [ ] Open prospect's website in a tab
- [ ] Run `POST /api/v1/prospect/enrich-tech` with their domain — note what tools they use
- [ ] Run `POST /api/v1/prospect/route` with their company/sector — note classification
- [ ] Prepare 1 sector-specific pain point to mention
- [ ] Have Calendly open for follow-up booking if needed
- [ ] Have pilot offer ready (499 SAR / 7 days)
## Demo Flow (20 minutes)
**0:00-2:00 — Context Check**
- "شكراً على وقتك. قبل ما نبدأ — وش أكبر تحدي عندكم في متابعة الـ leads حالياً؟"
- Listen. Take note.
**2:00-5:00 — Discovery (3 questions)**
1. "كم lead تقريباً تستقبلون شهرياً؟"
2. "كم منهم يُتابع خلال أول ساعة؟"
3. "إيش يصير لـ leads اللي ما يُرد عليهم بسرعة؟"
**5:00-12:00 — Show Dealix**
- Show pricing/plans API response (real, live)
- Show enrich-tech on their domain (real detection)
- Show prospect/route classification
- Show prospect/message with their company name → generated Arabic message
- Explain: "هذا يصير تلقائي لكل lead يجيكم"
**12:00-16:00 — ROI Discussion**
- "لو عندكم [X] lead/شهر، و30% تضيع، يعني [Y] فرصة ضائعة"
- "Dealix يرد خلال 45 ثانية — كم من هذول ممكن تنحفظ؟"
- Do not guarantee numbers. Say "نقيسها معكم خلال 7 أيام"
**16:00-18:00 — Handle Objections**
- Price: "نبدأ بـ pilot 7 أيام بـ 499 ريال — لو ما شفت قيمة، استرداد كامل"
- CRM: "Dealix يشتغل فوق CRM الحالي — ما يستبدله"
- Arabic: "نبدأ manual + AI-assisted — نراجع أول الردود معك"
- Privacy: "متوافق PDPL — بيانات كل عميل منفصلة"
**18:00-20:00 — Close**
- Strong: "نبدأ الـ pilot الأسبوع الجاي؟"
- Medium: "أرسل لك تفاصيل الـ pilot وتقرر؟"
- Soft: "فكّر فيها — أتابع معك بكرة"
## After Demo (same day)
- [ ] Update tracker: demo_done = yes
- [ ] Send follow-up message:
```
شكراً على وقتك اليوم [الاسم].
ملخص: نقدر نجرب Dealix على [X] leads عندكم لمدة 7 أيام.
الهدف: نقيس سرعة الرد وعدد المؤهلين والمواعيد المحجوزة.
التكلفة: 499 ريال — مع ضمان استرداد.
جاهز نبدأ؟
```
- [ ] If yes → send payment request (bank/STC Pay)
- [ ] If "need time" → schedule follow-up in 48h
- [ ] If no → ask "هل تعرف أحد ممكن يستفيد؟"
## What Qualifies a Successful Demo
- Prospect asks about pricing or pilot → high intent
- Prospect says "أبي أجرب" → convert immediately
- Prospect asks technical questions → engaged (answer, don't oversell)
- Prospect goes quiet → follow up in 24h, not immediately
## Recording
- Use Loom or OBS to record screen during demo (ask permission first)
- Save recording for internal review
- Do not share recording externally without consent

View File

@ -0,0 +1,133 @@
# Dealix — First 5 Outreach Messages
**Channel:** WhatsApp warm (people you know) + LinkedIn (professional contacts)
**Rules:** No spam. No cold WhatsApp blast. Personalized. Professional. Opt-out included.
---
## Message 1 — SaaS Founder (warm contact)
**Target:** صديق/معرفة يملك شركة SaaS سعودية
**Pain:** leads تجي من الموقع وتبرد بسبب تأخر الرد
```
السلام عليكم [الاسم]،
أطلقت Dealix — نظام يرد على leads شركتك بالعربي
خلال 45 ثانية، يؤهلهم، ويحجز مواعيد تلقائياً.
أبحث عن 3 أصدقاء لتجربة pilot 7 أيام بـ 499 ريال.
فكرت فيك لأن [الشركة] عندها leads من الموقع.
مهتم نتكلم 10 دقائق؟
```
**Follow-up 24h:**
```
سامي هنا — تابع على رسالة أمس عن Dealix.
باختصار: pilot 7 أيام على leads عندكم. يناسبك؟
```
**Follow-up 72h:**
```
آخر متابعة — لو مو الوقت المناسب أفهم تماماً.
لو بالمستقبل يناسب، أنا موجود. شكراً [الاسم].
```
---
## Message 2 — Agency Owner
**Target:** صاحب وكالة تسويق رقمي
**Pain:** عملاءه يجيبون leads بالإعلانات لكن المتابعة ضعيفة
```
السلام عليكم [الاسم]،
أشتغل على Dealix — طبقة AI بالعربي ترد على leads عملاء
الوكالات وتأهلهم وتحجز مواعيد.
الفكرة لكم: تبيعونها كـ setup + retainer. العميل يشوف
ROI أسرع — أنتم تزيدون MRR.
نبدأ بـ pilot مجاني لأول عميل عندكم.
20 دقيقة أشرح الآلية؟
calendly.com/sami-assiri11/dealix-demo
```
---
## Message 3 — Real Estate Company
**Target:** شركة عقارية أو مطوّر
**Pain:** استفسارات كثيرة عن الأسعار والمواقع تضيع
```
السلام عليكم [الاسم]،
لاحظت إن شركات العقار تستقبل عشرات الاستفسارات يومياً
عن الأسعار والمواقع — وكثير منها تضيع بسبب تأخر الرد.
Dealix يرد خلال 45 ثانية بالعربي، يسأل عن الميزانية
والموقع المفضل، ويحجز معاينة تلقائياً.
عندنا تجربة 7 أيام بـ 499 ريال. يناسبك أوريك مثال؟
إذا ما يناسبكم، قولوا "إيقاف" ولن أتواصل مرة ثانية.
```
---
## Message 4 — B2B Services (Logistics/Construction)
**Target:** شركة خدمات B2B (شحن، مقاولات)
**Pain:** طلبات عروض أسعار متكررة تحتاج فرز
```
السلام عليكم [الاسم]،
في قطاع [المقاولات/الشحن]، طلبات عروض الأسعار تجي
كثيرة — لكن فرز الجاد من غيره ياخذ وقت.
Dealix يستقبل الطلب بالعربي، يسأل عن نوع المشروع
والميزانية والجدول الزمني، ويصنّف الجدية قبل ما يوصل لفريقكم.
تجربة 7 أيام بـ 499 ريال. مهتم بمثال مبني على نشاطكم؟
لو ما يناسبكم: "إيقاف".
```
---
## Message 5 — Warm Referral Ask
**Target:** أي معرفة لها شبكة في الأعمال السعودية
**Pain:** N/A — you're asking for an intro
```
السلام عليكم [الاسم]،
أطلقت مشروع Dealix — نظام يساعد الشركات السعودية
ترد على استفسارات العملاء بسرعة وتأهلهم بالعربي.
سؤال سريع: تعرف أحد عنده شركة (عقار، وكالة تسويق،
خدمات B2B) وعنده leads كثيرة ومتابعة ضعيفة؟
لو تعرّفني عليه — 10% من أول سنة اشتراكه لك.
شكراً مقدماً!
```
---
## Lead Tracker (first 5)
| # | الاسم | الشركة | القطاع | المصدر | الرسالة | مرسلة؟ | الرد | Demo؟ | التالي |
|---|-------|--------|--------|--------|---------|--------|------|-------|--------|
| 1 | | | SaaS | warm | Msg 1 | | | | |
| 2 | | | Agency | warm | Msg 2 | | | | |
| 3 | | | Real Estate | cold/warm | Msg 3 | | | | |
| 4 | | | B2B Services | cold/warm | Msg 4 | | | | |
| 5 | | | Referral | warm | Msg 5 | | | | |
**Sami fills in names + sends → marks "مرسلة" → updates "الرد" when reply arrives.**

View File

@ -0,0 +1,168 @@
# Dealix — Full Ops Launch Runbook
**Version:** 1.0.0
**Date:** 2026-04-25
---
## Launch Status
| System | Status | Evidence |
|--------|--------|---------|
| Backend (Railway) | LIVE | healthz=200, pricing=200, route/message/enrich=200 |
| Landing (dealix.me) | LIVE | Returns 200 |
| Frontend (Next.js) | DEPLOYED | Marketers page rewritten as sales page |
| Manual Payment | READY | Bank transfer + STC Pay documented |
| Automated Payment | BLOCKED | Moyasar returns 502 |
| Outreach Templates | READY | 5 messages + 60 targets + automation endpoints |
| Customer Onboarding | READY | Pilot template + success playbook |
| Monitoring | PARTIAL | GitHub Actions healthcheck; Sentry not configured |
## What Is Live
- `/healthz` → 200
- `/api/v1/pricing/plans` → 3 plans in SAR
- `/api/v1/prospect/route` → rules-based lead classification
- `/api/v1/prospect/message` → Arabic message generation
- `/api/v1/prospect/enrich-tech` → real tech stack detection
- `/api/v1/automation/email/generate` → personalized email + follow-ups
- `/api/v1/automation/compliance/check` → compliance gate
- `/api/v1/automation/reply/classify` → 12-category reply handler
- `dealix.me` → landing page
- `trial-signup.html` → lead capture form
## What Is Not Live
- LLM personalization (needs GROQ_API_KEY)
- Web discovery (needs GOOGLE_SEARCH_API_KEY)
- PostHog funnel tracking (needs POSTHOG_API_KEY)
- Sentry error alerting (needs SENTRY_DSN)
- Moyasar automated checkout (returns 502)
- HubSpot CRM sync (needs HUBSPOT_API_KEY)
- Gmail automated send (needs OAuth setup)
## Manual Blockers (Sami-Only)
| Blocker | Action | Time | Priority |
|---------|--------|------|----------|
| GROQ_API_KEY | Add in Railway env Dealix/web | 3 min | P0 |
| GOOGLE_SEARCH_API_KEY + CX | Add in Railway | 5 min | P0 |
| SENTRY_DSN | Add in Railway | 3 min | P0 |
| POSTHOG_API_KEY + HOST | Add in Railway | 3 min | P0 |
| Send first 5 messages | WhatsApp + LinkedIn | 30 min | P0 |
| Book first demo | Calendly | Depends on replies | P0 |
| Test Moyasar key | curl from terminal | 5 min | P1 |
| Rollback drill | SSH to Hetzner Console | 15 min | P1 |
| DB restore drill | SSH to Hetzner Console | 15 min | P1 |
---
## Daily Checklist (until first 3 paid clients)
### Morning (08:00)
- [ ] Check Railway healthz → 200?
- [ ] Check Sentry for overnight errors (if configured)
- [ ] Review replies from yesterday
- [ ] Classify replies (use /api/v1/automation/reply/classify)
- [ ] Select today's 5-10 outreach targets
### Midday (12:00)
- [ ] Send 5 outreach messages (WhatsApp warm + LinkedIn)
- [ ] Follow up on Day +2 / +5 leads
- [ ] Respond to all positive replies within 2 hours
- [ ] Book demos for interested prospects
### Afternoon (16:00)
- [ ] Run demos (if scheduled)
- [ ] Send pilot offers to demo'd prospects
- [ ] Publish 1 LinkedIn/X post
### Evening (20:00)
- [ ] Update lead tracker
- [ ] Count: sent / replied / demo'd / offered / paid
- [ ] Plan tomorrow's targets
- [ ] Handle late replies
---
## Payment Test Checklist (for Sami)
### Manual Payment Test
1. Ask a friend to transfer 1 SAR via bank or STC Pay
2. Verify receipt in bank app
3. Mark test as passed
4. This is your production payment path until Moyasar works
### Moyasar Diagnostic
1. Open [dashboard.moyasar.com](https://dashboard.moyasar.com)
2. Check Account Status (Active? Pending? Suspended?)
3. Check API Keys → is `sk_live_` the current key?
4. Test from terminal:
```
curl -u "sk_live_YOUR_KEY:" https://api.moyasar.com/v1/invoices \
-d "amount=100" -d "currency=SAR"
```
5. If "authentication_error" → key mismatch, regenerate
6. If "account_inactive" → complete KYC
7. If success → Railway env has whitespace, re-paste carefully
---
## Outreach Checklist
- [ ] 5 warm WhatsApp messages sent (from FIRST_5_OUTREACH.md)
- [ ] 1 LinkedIn founder post published
- [ ] 1 LinkedIn DM to agency partner
- [ ] All follow-ups current (no lead older than 3 days without follow-up)
- [ ] Tracker updated with today's activity
## Demo Checklist
- [ ] Prospect's website reviewed
- [ ] enrich-tech run on their domain
- [ ] 20-minute demo completed per DEMO_BOOKING_RUNBOOK.md
- [ ] Follow-up sent same day
- [ ] Pilot offer sent if positive
## Rollback Checklist (if something breaks)
1. Railway → Deployments → click previous green deployment → Redeploy
2. If Railway is down: Hetzner Console → `systemctl restart dealix-api`
3. If DB corrupted: restore from Railway Postgres auto-backup
4. If code breaks: `git revert HEAD && git push origin main`
## DB Restore Checklist
1. Railway Postgres has automatic daily backups
2. Railway → Postgres service → Backups → Restore
3. After restore: verify `/api/v1/dashboard/metrics` returns data
## Incident Checklist
1. Check Railway logs → identify error
2. If 502/503: restart deployment
3. If code bug: revert last commit
4. If env issue: check Variables tab
5. If DNS: check GoDaddy/Cloudflare
6. Notify any active pilot clients if downtime > 30 minutes
---
## Do Not Touch List
- Do NOT add new LLM providers
- Do NOT rebuild dashboard
- Do NOT start v3.1
- Do NOT implement Temporal/LangGraph/Qdrant
- Do NOT build voice/webchat/mobile
- Do NOT expand to UAE/Egypt
- Do NOT hire before 3 paid clients
- Do NOT spend on ads before manual outreach proves conversion
---
## Definition of Launch-Ready
All of these must be true:
- [ ] Railway healthz=200
- [ ] 4 env keys added (GROQ, GOOGLE, SENTRY, POSTHOG)
- [ ] 5+ outreach messages sent
- [ ] 1+ demo booked
- [ ] Manual payment path tested (1 SAR friend test)
## Definition of Revenue-Live
All of the above, plus:
- [ ] 1+ pilot payment received (499 SAR)
- [ ] 1+ customer onboarded
- [ ] 1+ daily report sent to customer

View File

@ -0,0 +1,55 @@
# Dealix — Railway Environment Keys
**Where to add:** Railway → Project → Service "web" → Variables tab → Review → Deploy
---
## P0 — Required for Launch
| Variable | Source | Cost | Effect When Missing | Verification |
|----------|--------|------|-------------------|-------------|
| `GROQ_API_KEY` | [console.groq.com/keys](https://console.groq.com/keys) | Free tier available | LLM features degraded (rules-only) | `curl /api/v1/prospect/search-diag` shows `GROQ_API_KEY.set: true` |
| `GOOGLE_SEARCH_API_KEY` | [Google Cloud Console → Credentials](https://console.cloud.google.com/apis/credentials) | 100 queries/day free | `/prospect/search` returns 503 | search-diag shows key set |
| `GOOGLE_SEARCH_CX` | Fixed value: `75ae2277dfd754a1a` | Free | Same as above | search-diag shows CX set |
| `SENTRY_DSN` | [sentry.io](https://sentry.io) → Create Python project → copy DSN | Free plan | No error alerting | Sentry receives test error |
| `POSTHOG_API_KEY` | [posthog.com](https://posthog.com) → Project Settings → API Key | Free plan | No funnel tracking | PostHog dashboard shows events |
| `POSTHOG_HOST` | `https://us.i.posthog.com` or `https://eu.i.posthog.com` | — | PostHog events go nowhere | Same as above |
## P1 — Required for Automated Payment
| Variable | Source | Cost | Effect When Missing |
|----------|--------|------|-------------------|
| `MOYASAR_SECRET_KEY` | [dashboard.moyasar.com](https://dashboard.moyasar.com) → API Keys | Per-transaction fee | Checkout returns 502 |
| `MOYASAR_PUBLISHABLE_KEY` | Same dashboard | — | Frontend checkout broken |
| `MOYASAR_WEBHOOK_SECRET` | Moyasar → Webhooks → Secret | — | Webhook signature validation fails |
**Note:** Moyasar keys appear to be set but checkout returns 502. See REVENUE_READINESS_CHECKLIST.md → Moyasar Diagnostic Checklist.
## P2 — Optional Enrichment (after first customer)
| Variable | Source | Effect When Missing |
|----------|--------|-------------------|
| `GOOGLE_MAPS_API_KEY` | Google Cloud → Maps → Places API | Local discovery disabled |
| `SENDGRID_API_KEY` | sendgrid.com | No automated email |
| `WHATSAPP_ACCESS_TOKEN` | Meta Business | No WhatsApp API |
| `HUBSPOT_API_KEY` | HubSpot → Private Apps | No CRM sync |
| `TAVILY_API_KEY` | tavily.com | No web crawl enrichment |
## Already Set (verified via search-diag)
| Variable | Status |
|----------|--------|
| `MOYASAR_SECRET_KEY` | Set (48 chars, sk_liv...) |
| `MOYASAR_WEBHOOK_SECRET` | Set (64 chars) |
| `MOYASAR_PUBLIC_KEY` | Set |
| `APP_URL` | Set |
| `DATABASE_URL` | Set (via Railway Postgres) |
---
## Critical Reminders
1. **Environment dropdown:** Make sure you're in environment "Dealix" (not "adventurous-tenderness" or other Agent branches)
2. **Service:** Variables go in service "web" (not Postgres or Redis)
3. **Deploy:** After adding variables, you MUST click Review → Deploy. Variables are staged until deployed.
4. **No secrets in chat:** Never paste API keys in any chat window. Add them directly in Railway.

View File

@ -1,131 +1,426 @@
import Link from "next/link";
import {
MessageCircle,
Download,
FileText,
CheckSquare,
Presentation,
Users,
TrendingUp,
Zap,
Shield,
Clock,
CheckCircle,
ArrowLeft,
ExternalLink,
Compass,
Calendar,
DollarSign,
Briefcase,
HelpCircle,
} from "lucide-react";
export const metadata = {
title: "Dealix — بوابة المسوّقين",
description: "دخول مباشر، تحميلات، قوالب واتساب، وروابط العروض القطاعية.",
title: "Dealix — برنامج شراكة الوكالات والمسوّقين",
description:
"حوّل وكالتك إلى ماكينة إيرادات متكررة. أضف خدمة الرد الذكي + تأهيل leads لعملائك — setup fee + MRR شهري.",
};
const links = [
const packages = [
{
title: "الخطة الاستراتيجية والمنافسة",
href: "/strategy",
desc: "لماذا Dealix، مراحل التنفيذ، وتحميل الوثيقة الكاملة.",
icon: Compass,
name: "الأساسية",
setupFee: "3,000",
monthly: "990",
partnerShare: "30%",
features: [
"رد AI بالعربي على واتساب أو فورم",
"5 أسئلة تأهيل مخصصة",
"تصنيف leads: حار / دافئ / بارد",
"تقرير أسبوعي",
],
cta: "ابدأ بأول عميل",
highlight: false,
},
{
title: "مركز الموارد (كل الروابط)",
href: "/resources",
desc: "ZIP، العروض، والملفات التسويقية.",
icon: Download,
name: "المتقدمة",
setupFee: "7,000",
monthly: "2,490",
partnerShare: "25%",
features: [
"كل مميزات الأساسية",
"حجز مواعيد تلقائي (Calendly)",
"ربط CRM ثنائي (HubSpot)",
"متابعة تلقائية Day +2 / +5 / +10",
"تقرير يومي",
],
cta: "الأنسب للوكالات",
highlight: true,
},
{
title: "فهرس الملفات الثابتة",
href: "/dealix-marketing/index.html",
desc: "نسخة HTML كاملة من بوابة الأصول.",
icon: FileText,
},
{
title: "قوالب واتساب (نسخ ولصق)",
href: "/dealix-marketing/marketers/whatsapp-playbook-ar.txt",
desc: "رسائل جاهزة — عدّل الاسم والرابط فقط.",
icon: MessageCircle,
},
{
title: "قائمة تحقق الدخول",
href: "/dealix-marketing/marketers/entry-checklist-ar.txt",
desc: "تأكد أنك غطيت الخطوات قبل التواصل مع العملاء.",
icon: CheckSquare,
},
{
title: "العروض القطاعية (10 قطاعات)",
href: "/dealix-presentations/00-dealix-company-master-ar.html",
desc: "ابدأ من ملف الشركة ثم اختر رقم القطاع.",
icon: Presentation,
external: false,
},
{
title: "هيكل العمولة (Markdown)",
href: "/dealix-marketing/Dealix_Marketing_Arsenal.md",
desc: "Silver / Gold / Platinum — راجع العقد الرسمي للأرقام النهائية.",
icon: FileText,
name: "المؤسسية",
setupFee: "15,000+",
monthly: "مخصص",
partnerShare: "20-30%",
features: [
"كل مميزات المتقدمة",
"قنوات متعددة (واتساب + إيميل + صوت)",
"لوحة تحكم تنفيذية",
"سير عمل موافقات",
"مدير حساب مخصص",
],
cta: "تواصل معنا",
highlight: false,
},
];
const workflows = [
{
icon: TrendingUp,
title: "وكالة أداء (Performance)",
desc: "تشغّل حملة → Leads تنزل → Dealix يرد فوراً → العميل يشوف ROI أعلى → يجدد → أنت تحصّل MRR",
},
{
icon: Briefcase,
title: "مسوّق مستقل (Freelancer)",
desc: 'تقدم عرض "إدارة حملات + رد ذكي" → Dealix يشتغل بالخلفية → أنت تركز على الاستراتيجية → دخل شهري متكرر',
},
{
icon: Users,
title: "مستشار CRM / RevOps",
desc: "تنفذ HubSpot لعميل → تضيف Dealix كطبقة response → CRM يمتلئ بـ leads مؤهلة → العميل يشوف قيمة CRM أسرع",
},
];
const faqs = [
{
q: "كم ياخذ الإعداد لكل عميل؟",
a: "يوم واحد للأساسية، 3 أيام للمتقدمة.",
},
{
q: "هل أحتاج خبرة تقنية؟",
a: "لا — نحن نسوي الإعداد والتشغيل بالكامل.",
},
{
q: "كم أقدر أربح من عميل واحد؟",
a: "عميل واحد = 3,000 setup + ~990/شهر = 14,880 ريال/سنة.",
},
{
q: "هل فيه عقد طويل؟",
a: "لا — شهري لك ولعميلك. بدون التزام سنوي.",
},
{
q: "ماذا لو العميل ما عجبه؟",
a: "30 يوم ضمان استرداد كامل.",
},
{
q: "هل يشتغل مع HubSpot / Zoho؟",
a: "نعم — CRM sync متاح في الباقة المتقدمة.",
},
{
q: "هل يفهم العربي السعودي؟",
a: "نعم — مبني Arabic-first بلهجة خليجية.",
},
{
q: "كيف أبدأ؟",
a: "احجز مكالمة شراكة 20 دقيقة → نسوي pilot مجاني لأول عميل عندك.",
},
];
const CALENDLY = "https://calendly.com/sami-assiri11/dealix-demo";
export default function MarketersPage() {
return (
<div className="min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-teal-950 text-slate-100">
<div className="mx-auto max-w-2xl px-6 py-14">
<p className="text-sm font-semibold text-teal-400">Dealix Partner GTM</p>
<h1 className="mt-2 text-3xl font-bold tracking-tight">بوابة المسوّقين</h1>
<p className="mt-3 text-slate-400 leading-relaxed">
مسار واحد للدخول: افتح الروابط أدناه من نفس الموقع (لا حاجة لخادم 8000). انسخ قوالب
الواتساب من الملف النصي وعدّل{" "}
<code className="rounded bg-white/10 px-1.5 py-0.5 text-teal-200">
{`{الاسم}`}
</code>{" "}
و
<code className="rounded bg-white/10 px-1.5 py-0.5 text-teal-200">رابط موقعك</code>.
<div className="min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 text-slate-100">
{/* ── Hero ── */}
<section className="mx-auto max-w-4xl px-6 pb-16 pt-20 text-center">
<span className="inline-block rounded-full bg-amber-500/10 px-4 py-1.5 text-sm font-medium text-amber-400 ring-1 ring-amber-500/20">
برنامج شراكة الوكالات والمسوّقين
</span>
<h1 className="mt-6 text-4xl font-extrabold leading-tight tracking-tight lg:text-5xl">
حوّل وكالتك إلى{" "}
<span className="bg-gradient-to-l from-amber-400 to-amber-600 bg-clip-text text-transparent">
ماكينة إيرادات متكررة
</span>
</h1>
<p className="mx-auto mt-6 max-w-2xl text-lg leading-relaxed text-slate-300">
أضف خدمة الرد الذكي + تأهيل leads لعملائك. أنت تحصّل setup fee كامل + نسبة
شهرية متكررة. نحن نشغّل النظام.
</p>
<div className="mt-10 space-y-3">
{links.map((item) => (
<div className="mt-8 flex flex-wrap justify-center gap-4">
<a
key={item.href}
href={item.href}
className="flex gap-4 rounded-2xl border border-white/10 bg-white/5 p-5 transition hover:border-teal-500/40 hover:bg-white/10"
href={CALENDLY}
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center gap-2 rounded-xl bg-amber-500 px-8 py-3.5 text-base font-bold text-slate-900 transition hover:bg-amber-400"
>
<div className="flex h-12 w-12 shrink-0 items-center justify-center rounded-xl bg-teal-500/20 text-teal-300">
<item.icon className="h-6 w-6" />
</div>
<div className="min-w-0 flex-1">
<div className="flex items-center gap-2 font-semibold text-white">
{item.title}
<ExternalLink className="h-3.5 w-3.5 shrink-0 opacity-50" />
</div>
<p className="mt-1 text-sm text-slate-400">{item.desc}</p>
<p className="mt-2 truncate font-mono text-xs text-teal-500/80">{item.href}</p>
</div>
<Calendar className="h-5 w-5" />
احجز مكالمة شراكة
</a>
<a
href="#packages"
className="inline-flex items-center gap-2 rounded-xl border border-white/20 px-8 py-3.5 text-base font-medium transition hover:bg-white/10"
>
شوف الباقات
</a>
</div>
</section>
{/* ── Problem ── */}
<section className="border-y border-white/10 bg-slate-900/50 py-16">
<div className="mx-auto max-w-3xl px-6 text-center">
<h2 className="text-2xl font-bold">المشكلة اللي تعرفها</h2>
<p className="mt-4 text-lg leading-relaxed text-slate-300">
عملاءك يصرفون <strong className="text-white">10,000+ ريال/شهر</strong> على
إعلانات ويجيبون leads. لكن{" "}
<strong className="text-amber-400">70% تضيع</strong> لأن:
</p>
<div className="mt-6 grid gap-4 text-start sm:grid-cols-3">
{[
{ icon: Clock, text: "ما أحد يرد خلال أول ساعة" },
{ icon: MessageCircle, text: "المتابعة يدوية وعشوائية" },
{ icon: Users, text: "فريق العميل مشغول" },
].map((item) => (
<div
key={item.text}
className="flex items-start gap-3 rounded-xl border border-white/10 bg-white/5 p-4"
>
<item.icon className="mt-0.5 h-5 w-5 shrink-0 text-red-400" />
<span className="text-sm text-slate-300">{item.text}</span>
</div>
))}
</div>
<div className="mt-12 rounded-2xl border border-teal-500/30 bg-teal-950/40 p-6">
<h2 className="flex items-center gap-2 text-lg font-semibold text-teal-200">
<MessageCircle className="h-5 w-5" />
تلميح واتساب سريع
</h2>
<p className="mt-2 text-sm leading-relaxed text-slate-300">
احفظ رسالة واحدة كقالب في واتساب (الأجهزة المدعومة) أو استخدم ملاحظات سريعة. لا ترسل
لعملاء نهائيين دون تنسيق مع فريق Dealix وحسب سياسة الاستخدام.
<p className="mt-6 text-base text-slate-400">
العميل يلوم الوكالة. الحقيقة: المشكلة مو في الإعلان المشكلة في الرد.
</p>
</div>
</section>
<div className="mt-10 flex flex-wrap gap-4">
<Link
href="/"
className="inline-flex items-center gap-2 text-sm text-teal-400 hover:text-teal-300"
{/* ── Solution ── */}
<section className="py-16">
<div className="mx-auto max-w-3xl px-6 text-center">
<h2 className="text-2xl font-bold">
Dealix يعطيك الحل{" "}
<span className="text-amber-400">تبيعه لعملائك</span>
</h2>
<div className="mt-8 grid gap-6 text-start sm:grid-cols-2">
{[
"AI يرد بالعربي خلال 45 ثانية على كل lead",
"يسأل أسئلة التأهيل (ميزانية؟ جدية؟ موعد؟)",
"يحجز اجتماع أو يحوّل للمبيعات",
"يرسل تقرير يومي عن كل lead",
].map((text) => (
<div key={text} className="flex items-start gap-3">
<CheckCircle className="mt-0.5 h-5 w-5 shrink-0 text-emerald-400" />
<span className="text-slate-300">{text}</span>
</div>
))}
</div>
<p className="mt-8 rounded-xl border border-amber-500/20 bg-amber-500/5 p-4 text-base text-amber-200">
أنت تبيع الخدمة. نحن نشغّل النظام. تحصّل setup fee + نسبة شهرية.
</p>
</div>
</section>
{/* ── Workflows ── */}
<section className="border-y border-white/10 bg-slate-900/50 py-16">
<div className="mx-auto max-w-4xl px-6">
<h2 className="text-center text-2xl font-bold">كيف تشتغل حسب نوعك</h2>
<div className="mt-10 grid gap-6 sm:grid-cols-3">
{workflows.map((w) => (
<div
key={w.title}
className="rounded-2xl border border-white/10 bg-white/5 p-6"
>
<ArrowLeft className="h-4 w-4 rotate-180" />
الصفحة الرئيسية
<w.icon className="h-8 w-8 text-amber-400" />
<h3 className="mt-4 text-lg font-semibold">{w.title}</h3>
<p className="mt-2 text-sm leading-relaxed text-slate-400">{w.desc}</p>
</div>
))}
</div>
</div>
</section>
{/* ── Packages ── */}
<section id="packages" className="py-16">
<div className="mx-auto max-w-5xl px-6">
<h2 className="text-center text-2xl font-bold">
باقات تبيعها لعملائك
</h2>
<p className="mt-2 text-center text-slate-400">
Setup fee كامل لك + نسبة شهرية متكررة
</p>
<div className="mt-10 grid gap-6 lg:grid-cols-3">
{packages.map((pkg) => (
<div
key={pkg.name}
className={`relative flex flex-col rounded-2xl border p-6 ${
pkg.highlight
? "border-amber-500/50 bg-amber-500/5 ring-1 ring-amber-500/20"
: "border-white/10 bg-white/5"
}`}
>
{pkg.highlight && (
<span className="absolute -top-3 start-4 rounded-full bg-amber-500 px-3 py-0.5 text-xs font-bold text-slate-900">
الأكثر طلباً
</span>
)}
<h3 className="text-xl font-bold">{pkg.name}</h3>
<div className="mt-3">
<span className="text-sm text-slate-400">Setup fee لك:</span>
<span className="ms-2 text-2xl font-extrabold text-amber-400">
{pkg.setupFee}
</span>
<span className="text-sm text-slate-400"> ريال</span>
</div>
<div className="mt-1">
<span className="text-sm text-slate-400">العميل يدفع:</span>
<span className="ms-2 font-bold text-white">{pkg.monthly}</span>
<span className="text-sm text-slate-400"> ريال/شهر</span>
</div>
<div className="mt-1">
<span className="text-sm text-slate-400">نصيبك الشهري:</span>
<span className="ms-2 font-bold text-emerald-400">
{pkg.partnerShare}
</span>
</div>
<ul className="mt-4 flex-1 space-y-2">
{pkg.features.map((f) => (
<li key={f} className="flex items-start gap-2 text-sm text-slate-300">
<CheckCircle className="mt-0.5 h-4 w-4 shrink-0 text-emerald-500" />
{f}
</li>
))}
</ul>
<a
href={CALENDLY}
target="_blank"
rel="noopener noreferrer"
className={`mt-6 block rounded-xl py-3 text-center font-bold transition ${
pkg.highlight
? "bg-amber-500 text-slate-900 hover:bg-amber-400"
: "border border-white/20 text-white hover:bg-white/10"
}`}
>
{pkg.cta}
</a>
</div>
))}
</div>
</div>
</section>
{/* ── Revenue Calculator ── */}
<section className="border-y border-white/10 bg-slate-900/50 py-16">
<div className="mx-auto max-w-3xl px-6 text-center">
<DollarSign className="mx-auto h-10 w-10 text-amber-400" />
<h2 className="mt-4 text-2xl font-bold">كم تقدر تربح؟</h2>
<div className="mt-6 grid gap-4 sm:grid-cols-3">
<div className="rounded-xl border border-white/10 bg-white/5 p-4">
<div className="text-3xl font-extrabold text-amber-400">14,880</div>
<div className="mt-1 text-sm text-slate-400">ريال/سنة من عميل واحد</div>
</div>
<div className="rounded-xl border border-white/10 bg-white/5 p-4">
<div className="text-3xl font-extrabold text-amber-400">74,400</div>
<div className="mt-1 text-sm text-slate-400">ريال/سنة من 5 عملاء</div>
</div>
<div className="rounded-xl border border-white/10 bg-white/5 p-4">
<div className="text-3xl font-extrabold text-amber-400">223,800</div>
<div className="mt-1 text-sm text-slate-400">ريال/سنة كشريك نشط</div>
</div>
</div>
<p className="mt-4 text-sm text-slate-500">
بناءً على: setup 3,000 ريال + 990 ريال/شهر × 30% نصيبك
</p>
</div>
</section>
{/* ── Trust / Proof ── */}
<section className="py-16">
<div className="mx-auto max-w-3xl px-6">
<div className="grid gap-4 sm:grid-cols-2">
{[
{ icon: Shield, text: "متوافق مع نظام حماية البيانات (PDPL)" },
{ icon: Zap, text: "مبني للسوق السعودي — عربي أولاً" },
{ icon: Clock, text: "بدون عقد سنوي — شهري" },
{ icon: CheckCircle, text: "ضمان استرداد 30 يوم" },
].map((item) => (
<div
key={item.text}
className="flex items-center gap-3 rounded-xl border border-white/10 bg-white/5 p-4"
>
<item.icon className="h-5 w-5 shrink-0 text-emerald-400" />
<span className="text-sm text-slate-300">{item.text}</span>
</div>
))}
</div>
</div>
</section>
{/* ── FAQ ── */}
<section className="border-y border-white/10 bg-slate-900/50 py-16">
<div className="mx-auto max-w-3xl px-6">
<h2 className="flex items-center justify-center gap-2 text-2xl font-bold">
<HelpCircle className="h-6 w-6 text-amber-400" />
أسئلة شائعة
</h2>
<div className="mt-8 space-y-4">
{faqs.map((faq) => (
<div
key={faq.q}
className="rounded-xl border border-white/10 bg-white/5 p-5"
>
<h3 className="font-semibold text-white">{faq.q}</h3>
<p className="mt-2 text-sm text-slate-400">{faq.a}</p>
</div>
))}
</div>
</div>
</section>
{/* ── Final CTA ── */}
<section className="py-20">
<div className="mx-auto max-w-2xl px-6 text-center">
<h2 className="text-3xl font-extrabold">
ابدأ بأول عميل {" "}
<span className="text-amber-400">مجاناً</span>
</h2>
<p className="mt-4 text-lg text-slate-300">
نسوي pilot 7 أيام لأول عميل عندك بدون تكلفة.
<br />
لو اشتغل تبدأ تحصّل. لو ما اشتغل لا التزام.
</p>
<div className="mt-8 flex flex-wrap justify-center gap-4">
<a
href={CALENDLY}
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center gap-2 rounded-xl bg-amber-500 px-8 py-4 text-lg font-bold text-slate-900 transition hover:bg-amber-400"
>
<Calendar className="h-5 w-5" />
احجز مكالمة شراكة
</a>
</div>
<p className="mt-4 text-sm text-slate-500">
20 دقيقة بدون التزام نسوي pilot لأول عميل مجاناً
</p>
</div>
</section>
{/* ── Footer nav ── */}
<footer className="border-t border-white/10 py-8">
<div className="mx-auto flex max-w-4xl flex-wrap items-center justify-center gap-6 px-6 text-sm text-slate-500">
<Link href="/" className="hover:text-teal-400">
الرئيسية
</Link>
<Link href="/resources" className="text-sm text-teal-400 hover:text-teal-300">
<Link href="/resources" className="hover:text-teal-400">
الموارد
</Link>
<Link href="/dashboard" className="text-sm text-teal-400 hover:text-teal-300">
<Link href="/dashboard" className="hover:text-teal-400">
المنصة
</Link>
<Link href="/privacy" className="hover:text-teal-400">
الخصوصية
</Link>
<Link href="/terms" className="hover:text-teal-400">
الشروط
</Link>
<span>© {new Date().getFullYear()} Dealix</span>
</div>
</div>
</footer>
</div>
);
}