Back to Projects
SaaS Development
Live
Web

Adstacker: AI Video Ad Generator

An AI-powered SaaS that transforms a single video upload into hundreds of branded ad variations — coordinated across a Next.js Web App, an Admin Dashboard, a NestJS API, a Remotion render service, and a BullMQ generation worker. Drives automated combination generation, GPU-accelerated rendering, multi-style subtitles, real-time WebSocket progress, and Stripe-powered subscription billing.

17+
Technologies
11+
Key Features
Web
Platform
Adstacker: AI Video Ad Generator

Key Features

AI combination engine generating all Hook x Body x CTA permutations6 animation types — fade, slide-up/down, scale, typewriter, bounce6 subtitle styles — Hormozi, MrBeast, GaryVee, Abdal, TikTok Viral, Clean CorporateAll 4 aspect ratios — 9:16, 16:9, 1:1, 4:5GPU-accelerated Remotion + FFmpeg renderingBullMQ async job queue with concurrency controlReal-time WebSocket progress with SSE fallbackPresigned S3 direct-to-cloud uploadsStripe subscription billing with webhook-driven creditsShareable public video links with revocationAdmin dashboard with MongoDB aggregation analytics

Development Highlights

Full NestJS backend architecture with Mongoose and modular CRUDCombination engine with Cartesian product generationRemotion video composition engine with 6 animation typesBullMQ generation pipeline with concurrency controlReal-time WebSocket progress trackingStripe subscription lifecycle with webhook-driven creditsMongoDB aggregation analytics for admin dashboard

Technology Stack

Next.jsReactTypeScriptTailwind CSSshadcn/uiNestJS 11MongooseMongoDBRedisBullMQRemotionFFmpegAWS S3WebSocketStripeZodSwagger

Our Contribution

Backend Architecture

Architected the full NestJS backend from scratch — Mongoose schemas, modular CRUD APIs, DTO validation, and the mapping layer translating frontend flat arrays into backend embedded documents.

Combination Engine

Built the combination calculator engine that enumerates all valid Hook x Body x CTA x Subtitle permutations and enqueues each as an independent BullMQ job.

Video Rendering Pipeline

Developed the Remotion compositions (VideoComposition, HookOverlay, BodyOverlay, CtaOverlay) with 6 animation types and bundled them at server startup for fast job execution.

Generation Worker

Implemented the BullMQ generation processor: S3 download, Remotion renderMedia(), FFmpeg encoding optimization, thumbnail generation, S3 upload, and DB update, with error handling and retries.

Subtitle System

Built 6 subtitle rendering styles in SubtitleRenderer.tsx covering Hormozi, Abdal, MrBeast, GaryVee, TikTok Viral, and Clean Corporate across all 4 aspect ratios.

Real-Time Progress

Integrated the WebSocket gateway for real-time generation progress with SSE fallback, enabling live job status updates on the frontend without polling.

Billing Integration

Implemented the full Stripe subscription lifecycle — checkout sessions, billing portal, webhook handler with raw body and signature verification, credit allocation on subscription, and monthly credit reset cron.

Share & Download System

Built the share and download system — nanoid-based shareable tokens, public S3 signed URL access without auth, link revocation, and Content-Disposition download headers.

Admin Module

Developed the admin module with MongoDB aggregation pipelines for dashboard analytics, time-series chart data, user management, and subscription administration.

Full Integration

Led full frontend-backend integration across the user app and admin panel — replaced all mock stores with live API calls, wired up WebSocket progress, and validated the complete user journey end-to-end.

Results

Ad Variations: Hundreds from a single uploadRendering: GPU-accelerated Remotion + FFmpegStyle Coverage: 6 subtitle styles x 6 animations x 4 ratiosArchitecture: Five-component coordinated platform

What Makes This Special

Transforms a single video upload into hundreds of branded ad variations through automated combination generation, GPU-accelerated rendering, and multi-style subtitle support — purpose-built for performance marketers.

Frequently Asked Questions

MicrocosmWorks built the combination calculator engine that computes the Cartesian product of all Hook x Body x CTA x Subtitle permutations. Each input element (hooks, body segments, CTAs) is defined by the user, and the engine enumerates every valid combination, then enqueues each as an independent BullMQ job. This approach means a video with 5 hooks, 3 bodies, 4 CTAs, and 6 subtitle styles generates 360 unique ad variations automatically.

MicrocosmWorks implemented 6 subtitle rendering styles in Adstacker: Hormozi, MrBeast, GaryVee, Abdal, TikTok Viral, and Clean Corporate. Each style has distinct font, color, animation, and positioning characteristics matching the popular creator formats that performance marketers recognize. The SubtitleRenderer handles all 4 aspect ratios (9:16, 16:9, 1:1, 4:5) and 6 animation types (fade, slide-up, slide-down, scale, typewriter, bounce) within Remotion compositions.

MicrocosmWorks built the rendering pipeline using Remotion compositions bundled at server startup for fast job execution, combined with FFmpeg for encoding optimization. BullMQ manages the async job queue with configurable concurrency control, so multiple variations render in parallel across available GPU resources. Each job handles the full pipeline: S3 download, Remotion renderMedia, FFmpeg encoding, thumbnail generation, S3 upload, and database update, with error handling and automatic retries.

MicrocosmWorks integrated a WebSocket gateway that pushes real-time generation progress for every queued variation to the frontend, with SSE (Server-Sent Events) fallback for environments where WebSocket connections are unavailable. Users see live status updates for each variation including queued, processing, rendering percentage, and completed states. This eliminates the need for polling and provides immediate feedback on the generation pipeline status.

MicrocosmWorks implemented Stripe subscription billing with webhook-driven credit allocation. When a user subscribes or renews, the webhook handler allocates generation credits based on their plan tier. Each video variation generation consumes one credit, and a monthly cron job resets credit balances. The admin dashboard provides MongoDB aggregation analytics showing credit usage patterns, subscription revenue, and per-user consumption to inform pricing decisions.

Have a Similar Project in Mind?

Let's discuss how we can help you achieve similar results.

Contact UsSchedule Appointment