Skip to content

Eneza - Social Video Advertising Platform

Eneza is a social proof advertising platform that enables advertisers to leverage WhatsApp Status for targeted video ads while rewarding users (posters) with mobile money payouts for verified views.

Platform Overview

Eneza operates a unique advertising model where users download sponsored videos, post them to their WhatsApp Status, submit screenshots as proof, and get paid based on verified views.

How It Works

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   ADVERTISER    │────▶│   ENEZA API     │────▶│     POSTER      │
│                 │     │                 │     │   (Mobile App)  │
│ • Create Ad     │     │ • Process Video │     │ • Download Video│
│ • Pay via Stripe│     │ • Match Users   │     │ • Post to Status│
│ • Track Views   │     │ • Verify Proofs │     │ • Submit Proof  │
└─────────────────┘     └─────────────────┘     └─────────────────┘


┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  SCREENSHOT     │◀────│  MEDIA MANAGER  │────▶│  NOTIFICATION   │
│   VERIFIER      │     │                 │     │    WORKER       │
│                 │     │ • Add Watermark │     │                 │
│ • AI Validation │     │ • Generate QR   │     │ • Push Notifs   │
│ • Fraud Detect  │     │ • Resize Videos │     │ • Email/SMS     │
│ • View Counting │     │                 │     │ • WhatsApp      │
└─────────────────┘     └─────────────────┘     └─────────────────┘

Repository Architecture

Eneza consists of 6 interconnected repositories, each handling a specific domain:

RepositoryTechnologyPurpose
APINode.js + Express + PrismaCore business logic, REST API
Admin DashboardReact + TypeScript + ViteInternal admin management
WebsiteReact + TypeScriptPublic-facing website
Media ManagerPython + FFmpegVideo processing pipeline
Screenshot VerifierPython + Gemini AIAI-powered screenshot verification
Notification WorkerNode.js + Pub/SubAsynchronous notification delivery

Key Features

For Advertisers

  • USD-Based Campaign Pricing: Pay in USD with tier-based CPM (Cost Per 1000 Views)
  • Demographic Targeting: Target by country, city, age, and gender
  • Real-Time Analytics: Track views, downloads, and engagement
  • Invoice Management: PDF invoices with local currency conversion
  • Balance System: Pre-fund account for quick campaign launches

For Posters (Users)

  • Mobile Money Payouts: Withdraw earnings via MoMo, EWallet, etc.
  • Gamification: Achievements, streaks, referral bonuses
  • View Multiplier: Higher tiers earn more per view
  • Push Notifications: Real-time updates on earnings

Platform Features

  • AI-Powered Verification: Gemini Vision AI validates screenshots
  • Fraud Detection: Multi-layer fraud prevention system
  • QR Watermarking: Unique QR codes per subscription for tracking
  • Multi-Resolution Video: Adaptive video quality per device

Core Business Logic

Pricing Model

typescript
// USD-Based Tiered Pricing
interface PricingTier {
  name: string;           // "Premium Markets", "Large Markets", "Emerging Markets"
  cpmUsd: number;         // Cost per 1000 views (e.g., $2.50)
  posterRatePerThousandViews: number;  // Payout to poster (e.g., $0.50)
  minimumBudgetUsd: number;            // Minimum campaign budget
}

// Campaign Calculation
guaranteedViews = (amountUsd / cpmUsd) * 1000
posterPayout = (verifiedViews / 1000) * posterRate

User Flow

  1. Advertiser creates campaign → Video uploaded → AI content moderation
  2. Video processed → Watermark + credits added → Multi-resolution variants generated
  3. User subscribes → Personalized video with QR code generated
  4. User posts to WhatsApp Status → 24-hour window
  5. User submits screenshot → AI verification pipeline
  6. Views verified → User balance credited → Mobile money withdrawal

Infrastructure

GCP Cloud Run Services

  • eneza-api - Main API (auto-scaling)
  • eneza-screenshot-verifier - AI verification (GPU-enabled)
  • eneza-media-manager - Video processing
  • eneza-notification-worker - Async notifications

Message Queue

  • Google Pub/Sub for production
  • RabbitMQ for local development
  • In-memory broker for testing

Storage

  • Cloudflare R2 for video/image storage
  • PostgreSQL (Neon) for database

One chat. Everything done.