<PS/>
Case StudyFeaturedLast updated: August 29, 2026

Minions.AI Content Engine

Automated content pipeline for trade-contractor marketing: a 4-stage Qwen (DashScope) workflow drafts, edits, and reformats blog and social copy, gated by a claims-checking step before anything publishes. The gate blocks any unsourced claim outright — including a hardcoded rule against fabricating customer results, since there are no paying clients yet to attribute them to.

n8n Workflow Automation (self-hosted)Qwen via DashScope (Alibaba Cloud)Next.js (Minions Cockpit review dashboard)TypeScriptSupabase (PostgreSQL) + Prisma ORMCloudflare R2
Client
Minions.AI
Role
Full-Stack & AI Platform Engineer
Timeline
2025 – Present
Stack
6 technologies
Gallery

A closer look

2 shots · click to expand
Minions.AI Multi-Agent Mission Control Cockpit & Telemetry
01 / 02Minions.AI Multi-Agent Mission Control Cockpit & Telemetry
Autonomous Technical Content & Field Guide Engine
02 / 02Autonomous Technical Content & Field Guide Engine
Stack
n8n Workflow Automation (self-hosted)Qwen via DashScope (Alibaba Cloud)Next.js (Minions Cockpit review dashboard)TypeScriptSupabase (PostgreSQL) + Prisma ORMCloudflare R2
Key Features
  • 4-stage Qwen pipeline sized per task: Strategist (qwen3.7-max, flagship reasoning for angle/positioning) → Writer (qwen-plus, long-form draft) → Editor (qwen3.7-flash, tightens prose + extracts/classifies claims) → Variants (qwen-flash, reformats for LinkedIn/Facebook)
  • A claims gate classifies every extracted claim (STATISTIC/FACT/MARKET_CLAIM/PRODUCT_CLAIM/OPINION/CUSTOMER_RESULT) and checks it for a source URL before anything can publish
  • Hardcoded rule: any CUSTOMER_RESULT claim is blocked outright, since the business has zero paying clients as of writing and any such claim would be fabricated by definition
  • Enforcement runs in two places, not just at draft time: inline during generation (blocks immediate auto-publish) and again in a review-publisher workflow that catches anything a human approves later in the Cockpit
  • Self-serve multi-tenant onboarding: a 4-step wizard (company snapshot → LinkedIn voice connect → 3-question brand interview → review & launch) backed by a 16-model Prisma schema (Client, ClientChannel, ToneExample, Subscription, UsageEvent, etc.) with full per-tenant data isolation, tested end-to-end with a real second tenant
  • Real LinkedIn voice import on connect: pulls a tenant's actual recent post text via the LinkedIn API (OAuth token from Supabase Vault) into a ToneExample table used to calibrate the Writer stage's voice — with a graceful single-exemplar fallback if the read scope isn't granted
  • Every generated hero image is uploaded to Cloudflare R2 before its URL is stored anywhere permanent — the image-gen provider's signed URLs expire in ~24h and are never persisted directly
Working Together

Need a similar delivery process for your product? I can help shape the scope and ship the implementation end to end.

Start a project
01Problem

Trade contractors need a steady stream of local SEO content to rank, but have neither the staff to write it nor a reliable way to keep an automated writer from confidently publishing claims nobody can back up — the actual risk with unattended content generation isn't bad prose, it's a system that states a customer result or a statistic that was never true.

02Approach

A scheduled harvester proposes content ideas twice a week from RSS and brand context. A webhook-triggered pipeline then runs each one through four Qwen model calls, each sized to the task rather than running a flagship model for everything — a flagship model only for the high-leverage strategy pass, progressively cheaper models for drafting, editing, and social reformatting. The Editor stage also extracts and classifies every factual claim in the draft. Before anything can publish, a claims gate checks each claim for a source: any claim it can't verify is blocked, and any claim that reports a customer result is blocked unconditionally, since the business doesn't have paying clients yet to attribute results to. The gate is enforced twice — once inline during generation, and again in a separate workflow that polls for anything a human approves later in the review dashboard — so a claim can't slip through either path.

A new tenant onboards through a 4-step self-serve wizard: a company snapshot (URL + name, auto-inferred), a one-click LinkedIn OAuth connect that pulls real recent post text into a voice sample, a 3-question brand interview that runs one LLM call to draft brand directives, and a review-and-launch step that provisions the tenant's channels and fires the first content harvest in the background. Underneath it, the tenancy model is real: a 16-model Prisma schema (Client, ClientChannel, ToneExample, Subscription, UsageEvent, and others) with full per-tenant data isolation, tested end-to-end with a real second tenant.

03Solution

A Qwen-powered content pipeline drafts, edits, and formats trade-specific marketing copy end to end, gated by a claims-checking step before anything publishes live to the blog or Facebook Page. Content that fails the gate — unsourced claims, or the customer-result claims the business can't yet make — stays behind human review in the Minions Cockpit dashboard rather than shipping automatically. It's the one part of the system built specifically to stop the AI from overstating what's actually been achieved.

04Results

The claims gate enforces itself in production: it has already blocked assets carrying unsourced statistics and fabricated customer-result claims from auto-publishing, routing them to human review instead of letting them ship. The pipeline runs on a fixed schedule (twice weekly harvest) plus on-demand drafting, publishing approved posts to the blog and Facebook Page without manual formatting or re-entry. Onboarding a new tenant is designed as a fast, self-serve 4-step flow with real per-tenant data isolation, verified end to end against a real second tenant.