Open to senior marketing leadership opportunities across MENA and Europe

Personal Project

Personal Project

Marketing Intelligence System

AI · Python · Claude API · PPTX

Marketing Intelligence System

A full-stack AI system that turns a brand name into a competitive intelligence report in minutes

AI & AutomationPythonClaude APIFull-StackPersonal Build

Personal Project · Live in Production

3-5 min

Report Generation

From brand name to full deck

10

Data Sources

News, social, ads, web, sentiment

46

Slides at Full Scope

Scales with competitor count

$3-5

Cost Per Run

Full report with Tier-1 enrichment on

The Problem

The Problem

Competitive intelligence is slow, manual, and shallow. Getting a clear picture of what competitors are doing across ads, social, PR, and pricing typically means hours of scattered research, work that is stale by the time it is compiled and almost impossible to repeat week to week.

The question that senior marketing leaders actually need answered: “what changed since last week, and what should we do about it?”, had no fast, structured answer. I built one.

What It Does

What It Does

Name a brand, add up to five competitors, choose a market and industry, and the system handles the rest.

1

Input

Brand, competitors (or auto-discover), market, and industry.

Accessible via Telegram bot conversation or web command center.

2

Collect

Ten collectors run across news, Meta ads, Google ads, Instagram, TikTok, YouTube, LinkedIn, website changes, Reddit sentiment, and property listings.

A Tier-1 enrichment layer adds SimilarWeb web traffic, SpyFu SEO and paid keywords, Google Maps review sentiment, and Instagram profile stats.

Each degrades gracefully, one failure never sinks the run.

3

Synthesize

All collected data is sent to Claude with a strict output schema. Claude returns structured JSON: summary, top signals, opportunities, threats, and per-competitor intelligence.

Every observation is tied to real collected data, the model is instructed not to invent facts.

4

Deliver

A branded multi-slide report is generated in three formats, PowerPoint, a self-contained HTML deck, and PDF, then delivered via Telegram as a file or the web UI as a download.

The report highlights what is new since the last run, giving a week-on-week change log, not just a snapshot.

System Architecture

System Architecture

Triggers

Telegram Bot

Web Command Center

Intelligence Pipeline

Normalize inputs

Run 10 collectors

Week-on-week diff

Claude synthesis

PPTX generation

Deliver output

Claude API

Analysis and synthesis

claude-sonnet-4-6

Serper.dev

News, social, web, sentiment

Google News · Reddit · Instagram · TikTok · YouTube · LinkedIn

Apify

Ad libraries and Tier-1 enrichment

Meta & Google ads · SimilarWeb · Maps reviews · IG & TikTok

Supabase

runs · signals · diffs

Hetzner VPS

3 containers · nginx · TLS

Three Docker containers. One pipeline. Telegram and web run the same code.

Two Ways to Run It

Two Ways to Run It

Telegram Bot

Telegram Bot

Guided conversation: brand, competitors, market, industry

Runs in the background, summary and PPTX delivered on completion

Allow-listed access only

Web Command Center

Web Command Center

Mission parameters panel with live pipeline progress

Dashboard, Signals, Competitors, History tabs

Every past run stored and re-downloadable

What the Report Contains

What the Report Contains

A full run with three competitors produces about 32 slides, scaling to roughly 46 at full scope with five competitors. The structure scales with competitor count.

Global Sections

Cover and intelligence dashboard

6 KPI cards with week-on-week delta

Executive summary and market pulse

Competitive landscape overview

Share of Voice: comparative bar chart scoring each competitor and the brand across news, social, and ad signal volume.

Per Competitor (x7 slides each)

Overview with digital presence score, 0 to 10 threat score, and momentum

Strategic narrative

News and signals with NEW markers

Social and digital intelligence

Ad intelligence

Market intelligence and sentiment

Recommended actions per competitor

Closing Sections

Strategic opportunities

Threats and risks

Consolidated action plan

Methodology and sources

Week-on-Week Intelligence

Every run stored in Supabase

New signals highlighted vs previous run

Delta shown on the dashboard slide

First run is a baseline, every run after is a change log

How It Is Built

How It Is Built

Analysis

Claude claude-sonnet-4-6, streamed, up to 24,000 output tokens

Bot

Python, python-telegram-bot 22.8

Web Backend

FastAPI, uvicorn, single worker

Data Collection

Serper.dev (news, social, web, sentiment)

Ad Intelligence

Apify (Meta and Google ad transparency)

Report Generation

pptxgenjs PPTX, self-contained HTML deck, and PDF export (Node.js)

Database

Supabase (Postgres, two tables: runs and signals)

Infrastructure

Hetzner VPS, Docker Compose, nginx, Let's Encrypt TLS

Runtime

Python 3.11 and Node 20 in one Docker image

Keep-alive cron

Daily VPS cron job prevents Supabase free tier from pausing, logged to /var/log/supabase-keepalive.log

What I Built

What I Built

Every part of this system: architecture, code, prompting, deployment, and iteration, was built by me using Claude Code as the development environment.

Designed the full system architecture across bot, web, pipeline, and infrastructure

Built and deployed three Docker containers on a Hetzner VPS with nginx and TLS

Engineered the ten-collector data pipeline with graceful degradation

Designed the Claude prompt schema for structured competitive intelligence output

Built the week-on-week comparison system using Supabase run history

Designed and shipped the web command center UI with live progress and history

Built a Share of Voice scoring system that calculates each competitor’s signal volume across news, social, and ads and renders it as a comparative slide in the report

Built a 0 to 10 competitive threat score that grades each competitor on digital intensity, ad activity, and hiring signals, color-banded red, amber, and green across the deck

Added a Tier-1 enrichment layer (SimilarWeb traffic, SpyFu keywords, Google Maps review sentiment, Instagram profile stats) that deepens each competitor profile beyond snippet data

Added per-run cost tracking that records the exact Claude token spend to Supabase for every report

Shipped a Tony Stark / JARVIS aesthetic web command center at blackfortdefense.com: pure HTML/CSS/JS, no framework, mobile responsive with password gate and 8-hour session token

Iterated the report structure across three output formats, PowerPoint, a self-contained HTML deck, and PDF, to produce board-ready competitive intelligence decks

Competitive intelligence used to take half a day of manual research across a dozen tabs. Now it takes five minutes, costs three to five dollars, and delivers a board-ready deck of up to 46 slides with a week-on-week change log automatically built in.

View Live System

Password protected, request access via LinkedIn or email

Back to AI Systems