# ๐Ÿš€ Dealix โ€” Company Operational State (Live) **Status:** LAUNCHED (backend + landing live). Blocked on Moyasar account activation for REVENUE VERIFIED. **Last verified:** 2026-04-24 **Base URL:** https://web-dealix.up.railway.app **Landing:** https://voxc2.github.io/dealix/ --- ## โœ… Live Endpoints (verified) | Endpoint | Status | Response | |----------|--------|----------| | `GET /healthz` | 200 | `{"status":"ok","service":"dealix"}` | | `GET /health` | 200 | `{status, version:"3.0.0", env:"production", providers:[]}` | | `GET /api/v1/pricing/plans` | 200 | Starter/Growth/Scale JSON | | `POST /api/v1/public/demo-request` | 200 | Returns Calendly URL on valid payload | | `POST /api/v1/public/partner-application` | 200 | Returns Arabic success message | | `GET /docs` | 200 | FastAPI Swagger UI | | `GET /openapi.json` | 200 | OpenAPI spec | | `POST /api/v1/checkout` | 502 | **Blocked:** Moyasar `account_inactive_error` | --- ## ๐Ÿ“Š What's Working ### Infrastructure - โœ… Railway deploy: service `web`, environment `Dealix`, builder RAILPACK auto-detects Dockerfile - โœ… Dynamic `$PORT` binding via Dockerfile `/app/start.sh` - โœ… Database: Railway Postgres auto-linked via `DATABASE_URL=${{Postgres.DATABASE_URL}}` - โœ… Env vars (all set via Railway GraphQL API): - APP_SECRET_KEY, ADMIN_TOKEN, LOG_LEVEL, ENVIRONMENT, APP_ENV - APP_URL, PUBLIC_BASE_URL, CORS_ORIGINS, CALENDLY_URL - MOYASAR_SECRET_KEY, MOYASAR_WEBHOOK_SECRET, MOYASAR_PUBLIC_KEY - POSTHOG_API_KEY, POSTHOG_HOST, POSTHOG_ENABLED - CALENDLY_OAUTH_CLIENT_ID, CALENDLY_PAT, CALENDLY_WEBHOOK_SECRET - โœ… Startup healthcheck passing (tini + uvicorn via Dockerfile CMD) ### Application - โœ… All routers mounted: health, pricing, public, webhooks, leads, sales, sectors, admin, agents - โœ… Sentry SDK initialized on startup (waiting for DSN) - โœ… PostHog analytics initialized - โœ… DLQ + idempotency in place for webhooks - โœ… Moyasar invoice client code verified functional (blocked only by account status) ### Landing - โœ… GitHub Pages serves from `gh-pages` branch - โœ… All 4 pages (home/marketers/pricing/partners) return 200 - โœ… `window.DEALIX_API_BASE = 'https://web-dealix.up.railway.app'` baked in - โœ… Demo form โ†’ backend โ†’ Calendly URL (verified round-trip) - โœ… Partner form โ†’ backend (verified round-trip) --- ## ๐Ÿ”ด Blocked by Sami (manual dashboard action) ### 1. Moyasar Account Activation (CRITICAL for revenue) **Error:** `{"type":"account_inactive_error","message":"Entity not activated to use live account"}` **Steps Sami must take:** 1. Open https://dashboard.moyasar.com 2. Settings โ†’ Business โ†’ complete all KYC fields: - Commercial Registration (CR) or freelance license - National ID / Iqama - Bank account (IBAN) - Business address 3. Submit for review โ€” typically activated within 1-3 business days 4. Once active, rotate `MOYASAR_SECRET_KEY` in Moyasar โ†’ paste new key into Railway (I can do this via API if you send the new key only) 5. Configure webhook: - URL: `https://web-dealix.up.railway.app/api/v1/webhooks/moyasar` - Events: `payment_paid`, `payment_failed`, `payment_refunded` - Secret: use existing `MOYASAR_WEBHOOK_SECRET` from Railway or regenerate **Alternative for testing today:** Sami creates a Moyasar **test** account key (sk_test_...) โ€” I can switch Railway env var to test mode for full flow verification without touching real money. ### 2. SENTRY_DSN (not set) Sami should: 1. Open https://sentry.io โ†’ create project "dealix" 2. Copy the DSN (starts with `https://...@...ingest.sentry.io/...`) 3. Send it โ€” I add to Railway via GraphQL. ### 3. UptimeRobot (not configured) Sami opens https://uptimerobot.com โ†’ Add HTTPS monitor: - URL: `https://web-dealix.up.railway.app/healthz` - Interval: 5 min - Alert to phone/email - Save ### 4. First LinkedIn DM (identity-only) Ready in `docs/ops/launch_content_queue.md`. Sami opens LinkedIn โ†’ pastes โ†’ sends. --- ## ๐ŸŽฏ Launch Truth Table | Area | Status | |------|--------| | GitHub main + CI | โœ… VERIFIED READY (SHA ahead of 44cc3513e3) | | Landing pages live | โœ… VERIFIED READY | | Backend production | โœ… VERIFIED READY (web-dealix.up.railway.app) | | Demo form โ†’ backend | โœ… VERIFIED READY | | Partner form โ†’ backend | โœ… VERIFIED READY | | Moyasar live payments | ๐Ÿ”ด BLOCKED (account activation) | | Moyasar webhook | โŒ NOT READY (depends on above) | | 1 SAR verified | โŒ NOT READY (depends on above) | | Sentry DSN | ๐ŸŸก EMPTY (waiting for DSN) | | UptimeRobot | โŒ NOT READY | | First DM sent | โŒ NOT READY (Sami identity) | | CRM tracker | โœ… VERIFIED READY (`docs/ops/pipeline_tracker.csv`) | | Launch content queue | โœ… VERIFIED READY (`docs/ops/launch_content_queue.md`) | --- ## ๐Ÿ“‹ Pipeline (Day 1 Seed โ€” 5 priority leads) See `docs/ops/pipeline_tracker.csv` โ€” seeded with: 1. ุนุจุฏุงู„ู„ู‡ ุงู„ุนุณูŠุฑูŠ ยท Lucidya ยท CEO (surname affinity priority) 2. Ahmad Al-Zaini ยท Foodics ยท CEO ($170M Series C) 3. Nawaf Hariri ยท Salla ยท CEO (70K+ merchants distribution) 4. Hisham Al-Falih ยท Lean Technologies ยท CEO (API-first B2B) 5. Ibrahim Manna ยท BRKZ ยท Founder ($30M debt contech) All with personalized DMs ready in `launch_content_queue.md`. --- ## ๐Ÿ“ˆ 3 Paying Customers/Day โ€” Staged Math ``` Conversion per outbound (conservative): 0.05 ร— 0.40 ร— 0.70 ร— 0.20 ร— 0.80 = 0.00224 Required touches for 3 paid/day: 3 / 0.00224 โ‰ˆ 1,340 touches/day ``` | Stage | Goal | Daily Touches | Channels | When | |-------|------|---------------|----------|------| | 1 | First customer | 25-50 | Founder-led | Now (Day 1-14) | | 2 | 3 customers/week | 50-100 | Founder + first partner | Day 15-45 | | 3 | 1 customer/day | 200-400 | Partners + SDR | Day 45-90 | | 4 | 3 customers/day | 1,000+ | Full reseller channel | Day 90+ | --- ## ๐Ÿšฆ Next 24 Hours Execution Plan ### When Moyasar activates (Sami's work): - Sami sends `NEW_MOYASAR_KEY: sk_live_...` OR `NEW_MOYASAR_TEST_KEY: sk_test_...` - I update Railway env โ†’ redeploy โ†’ test 1 SAR checkout โ†’ verify webhook round-trip - Mark **REVENUE VERIFIED** ### When Sami sends SENTRY_DSN: - I add to Railway env via GraphQL โ†’ redeploy - Trigger `/_test_sentry` โ†’ verify issue appears in Sentry UI ### When Sami has 10 minutes for UptimeRobot: - Complete from docs/ops/UPTIME_AND_ALERTS.md โ€” 10 min, then `UPTIME MONITOR ACTIVE` ### Outreach today (Sami): - Sami opens LinkedIn โ†’ sends DM #1 (Abdullah) from launch_content_queue.md - Updates `docs/ops/pipeline_tracker.csv` row 1 with `sent_at` timestamp - Schedules Day +2 reminder ### Content (Sami): - Post 1 (founder launch) โ†’ LinkedIn personal account - Same post โ†’ X/Twitter --- ## ๐Ÿ“ž Contact Points - **Backend:** https://web-dealix.up.railway.app - **Landing:** https://voxc2.github.io/dealix/ - **Demo booking:** https://calendly.com/sami-assiri11/dealix-demo - **GitHub:** https://github.com/VoXc2/dealix - **Pipeline tracker:** `docs/ops/pipeline_tracker.csv` - **Content queue:** `docs/ops/launch_content_queue.md` --- ## โšก Final Executive Decision **State:** LAUNCHED (technical) โ€” blocked on Moyasar activation for REVENUE VERIFIED. - Launch target A (LAUNCHED): โœ… REACHED - Launch target B (REVENUE READY): ๐Ÿ”ด Blocked on Moyasar account activation - Launch target C (REVENUE VERIFIED): โŒ Depends on B - Launch target D (ACQUISITION STARTED): ๐ŸŸก Ready โ€” waiting only on Sami's first send - Launch target E (COMPANY OPERATING): ๐ŸŸก Pipeline + content ready โ€” daily loop documented **One credential unlock revenue:** Send me `NEW_MOYASAR_KEY` (test or live after activation). Everything downstream I can do.