Open to senior marketing leadership opportunities across MENA and Europe

Applied AI systems built around real business problems.

I have designed and built 25 products and systems across marketing, communications, research, intelligence, finance, and executive decision support, 19 of them running in production. Every one combines specialist agents, structured workflows, source validation, governance, and human approval.

Communications

09/25
Shipped 2026
live
Next.js 15app + SSE streaming
Claude Opusintake · strategy · review
GPT-4.1production drafting
Claude Haikuspokesperson prep
Claims registeranti-laundering guard
Crisis gaterunsWhen predicate
DeltaQueuelive token stream
Vercel · Nodeserverless host

Multi-Agent Communications Systems

live

Comms Desk: Nine-Agent Communications Team

Built a comms system where a brief goes in and a full package comes out: a Head of Comms challenges the brief, a strategy lead builds the message house, five production agents draft the press release, media plan, owned content, internal comms, and spokesperson prep, and a sign-off review says what is not ready to publish. Claude Opus handles judgement and review, GPT-4.1 handles high-volume drafting, and a crisis lead gates in automatically on incident briefs. The system will not state a fact the brief did not give it: a claims register clears every superiority claim, and the review blocks sign-off on any unsubstantiated claim, quoting the sentence and naming the asset. A full run costs about $0.30 and finishes in a few minutes.

EDM Gate bilingual resident notice pipeline

Generative AI & Automation

live

EDM Gate: Bilingual Resident Notice Pipeline

Designed and built an AI pipeline for Asteco community management that turns one structured brief into a resident notice in English and Arabic. A seven-stage flow has Claude write and refine the copy while GPT-4o independently audits every fact against the form, then returns the SFMC email, the A4 PDF, and the broadcast JPG ready to send. The system never states a fact that was not in the brief.

Community management communications across a residential district

Generative AI & Automation

live

Reply Tool: The Locked Draft

Built an AI reply writer for community managers answering residents one to one, where the draft cannot be copied out of the tool until every promise inside it has been read back and confirmed. Claude drafts and sets the voice, GPT-4o checks the promises, and the approval gate itself is pure code: it runs in the browser, again on the server, and replaces the clipboard contents if anyone tries to Ctrl+C past it. The model writes the prose and never supplies a fact.

Arabic Translation Portal workspace with side-by-side English source and Arabic translation

Generative AI & Localization

live

Arabic Translation Portal: Source-Grounded English to Arabic

Designed and built an AI translation workspace for Asteco corporate communications that turns English copy into Modern Standard Arabic while holding the approved terminology and tone. The English source is the only source of facts; approved bilingual examples shape style but never leak content. A second AI pass audits each draft for missing meaning, number and date mismatches, and terminology drift, then exports an RTL or bilingual Word document with per-request cost shown live.

Research and Intelligence

05/25
Shipped 2026
live
Python 3.14core runtime
FastAPIAPI layer
Celery · Redisparallel job queue
Claude Sonnet15-module scan
SupabasePostgres + storage
Apify · Serperdata collection
DataForSEOtraffic + SEO signal
PPTX · PDF · DOCXdelivery exporters

Autonomous Research & Intelligence

live

Steveintel: Autonomous Client Intelligence Engine

Built a full-stack autonomous intelligence platform that takes a company name and runs 15 parallel data modules across SEO, paid media, LinkedIn, news, tech stack, reviews, and financials. Claude analyzes each module independently then synthesizes a comprehensive brief with opportunity gaps and a strategic pitch angle, delivered as a web report, PDF, Word doc, and PowerPoint in under 4 minutes. Accessible via a React web app at steveintel.com and a Telegram bot running on Hetzner.

06/25
Shipped 2026
live
Pythonpipeline runtime
Claude Sonnetcompetitor scan
Serper.devGoogle News signal
ApifyMeta Ad Library
Telegram Botcommand interface
pptxgenjsreport generation
Docker Composecontainerisation
nginx · Hetznerhost + routing

Competitive Intelligence Automation

live

Marketing Intelligence System

Built a full-stack AI system that scrapes competitor activity across news, social, ads, and web, then synthesizes it into a branded competitive intelligence report as PowerPoint, HTML, or PDF in 3 to 5 minutes. Accessible via Telegram bot and a password-gated web command center.

08/25
Shipped 2026
live
Python 3.10agent runtime
Claude Opusmarket synthesis
Serper.devjob market signal
Apifystructured job rows
LinkedIn · Bayt.comrole sources
Telegram Boton-demand trigger
JSON · Markdownrun history + diffs
systemd · Hetznerhost + scheduling

Market Intelligence Agents

live

Job Market Intelligence Agent

Built a Telegram-based AI agent that scrapes senior marketing roles from LinkedIn and Bayt.com via Apify, scores each role against a CV using Claude, and delivers a ranked briefing with APPLY/MAYBE/SKIP recommendations in under 90 seconds.

Stack
working build
OpenAIclassify · sentiment · summary
rss-parserfeed collection
Apifyextended collection
Readability · linkedomarticle extraction
sanitize-htmluntrusted feed text
Drizzle · NeonPostgres store + dedupe
Zodenv and payload validation
pdf-lib · docxreport export

Market Intelligence

working build

Market Pulse

Internal market-intelligence application that monitors a curated source inventory, collects feed metadata under strict fetch limits, and runs every item through classification, sentiment and summary before it reaches an editor. Layered deduplication and database constraints stop the same story arriving twice, every status change is audited, and reviewed items build into weekly reports exported as PDF or Word — so the research and reporting cycle stops being a manual sweep.

Executive Operations

01/25
Shipped 2026
live
OpenAI RealtimeWebRTC voice loop
Agents SDKtwo specialist agents
Supabaseauth + durable queue
Railway workerreport analysis
Browserbaselive operator view
Playwrightoperates the real tool
Notion APIlive morning brief
Next.js · Vercelcommand interface

Voice AI, Specialist Agents & Executive Operations

live

NEXUS: Voice-First Executive Operating System

Built a voice-first command layer that sits above a company’s existing tools and handles three distinct kinds of executive work. It reads live context — Notion priorities, WHOOP signals, a figure lifted off a protected spend dashboard through a read-only browser session. It routes a private financial report through two specialist agents, a Financial Analyst that validates the numbers against their source rows and an Executive Analyst that turns the findings into a CEO brief, an action plan and a nine-slide deck. And it operates real systems: Marketing Strategy, EDM Gate and the corporate Translator are opened in a cloud browser and filled field by field while the session streams into the dashboard. Preparing the work is autonomous; sending it is not — submission stays locked until an explicit “approve and run.”

Stack
live
OpenAI Responsesmultimodal analysis
Strict JSON schemadecision brief contract
Domain detection9 business functions
File intakePDF · XLSX · PPTX · images
Approval gatehuman before execution
Token meteringtrue cost per run
Next.js 16 · React 19command center UI
Vercel · Nodeserverless host

AI Decision Intelligence

live

Executive Intelligence Analyzer: Reports Into Decisions

Built a decision-intelligence platform that takes almost any business report — PDF, Excel, PowerPoint, Word, CSV, images, JSON, logs — detects its business domain automatically, and returns a structured decision brief: evidence-backed findings, identified mistakes and risks, and exactly three comparable interventions, each scored for expected impact, cost, risk, and confidence. Four coordinated AI roles (Analyst, Strategist, Execution, Measurement) carry the work from evidence to action while a visible approval gate keeps execution behind a human decision. Every run reports its model, token usage, runtime, and cost computed from actual API usage — a verified production run came to about 1.8 cents.

Stack
live
Claudetool-calling brain
Whisper APIvoice note to text
edge-ttsspoken reply
Gmail APIlist + send email
Calendar APIlist + create events
Confirm gatewrites held for approval
Telegram Bot APIcapture surface
Oracle Cloud ARMhost

Executive Operations

live

Voice Agent

Send a voice note on Telegram. It transcribes with Whisper, decides what to do with Claude, and replies in voice. Four tools reach Gmail and Google Calendar — list emails, send an email, list events, create an event — and any action that changes something stops and asks for an explicit Confirm before it runs. Runs on an Oracle Cloud ARM VM.

Marketing and Strategy

03/25
Shipped 2026
live
Next.js 15app + SSE streaming
Claude Sonnetgrounding + debaters
GPT-4ocross-model auditor
Claude Opus3-part synthesis
React Flowlive debate canvas
Zodprovenance enforcement
pdf-parse · mammothbrief ingestion
Hetzner · Caddyhost, no 300s cap

Multi-Agent Decision Systems

live

Marketing Debate: Multi-Agent Campaign Decision Engine

Built a marketing decision system where specialist AI agents (strategist, creative, performance, skeptic, audience, brand, and a media planner) debate a campaign brief over three rounds, GPT-4o audits the transcript for what the whole panel missed, and Claude Opus synthesizes the output. Strategy mode takes a brief that states almost nothing, infers the missing audience and benchmarks in a grounding pass, and produces a ten-section strategy and media plan where every inferred number is marked at the point it appears and linked to a register entry carrying its confidence, what breaks if it is wrong, and how to check it. The debate streams live to a canvas where each agent is a node and every challenge renders as an edge. Evaluate runs in under two minutes for $0.42; a full strategy takes about seven for $1.56.

Stack
live
Next.jsapp + routing
Reactcommand interface
Login routeauth gate
Drizzle ORMSQLite schema
GSAPlaunch motion
Tailwind CSSdesign tokens
Vite · vinextsites build
Cloudflaredeploy target

Marketing and Strategy

live

Command Center

One authed front door that launches the marketing, comms, finance and translation workspaces.

Stack
live
OpenAI Visionscene and risk audit
Strict JSON schemastructured findings
fal.aiedge-preserving sharpen
Rules engineformat · resolution · size
Coverage gateblocks incomplete listings
Signed sessionsnamed reviewer, 8h expiry
Next.js · Reactreview portal
Verceldeploy target

Computer Vision & Content Governance

live

Image Assurance

Governed AI review for property listing photography. Deterministic rules check format, resolution and orientation, a vision model classifies each scene and flags quality, privacy and misrepresentation risks, and the gallery is judged as a set so a listing cannot be called ready until every required room and the exterior are covered. Enhancement is deliberately narrow — exposure, contrast and edge-preserving sharpening only, always shown beside the retained original, with generative editing, object removal and virtual staging excluded by design. A named reviewer approves or rejects every image, and those decisions export as calibration data.

Stack
live
FLUX Kontext Progenerate + photo edit
fal.aimodel gateway
Realism specserver-side art direction
Property lockpreserves real buildings
Canvas APIbrand layer + PNG export
20 output formatssocial · deck · print
Next.js 16 · React 19app + API route
Vercelhost + secrets

Generative AI & Brand Systems

live

Community Content Studio: Brand-Controlled AI Image Production

Built a brand-controlled AI image studio for a community management marketing team that turns a written brief — or a real property photograph — into campaign-ready visuals. The workflow starts from the deliverable: social post, presentation, flyer, or image library, each with its own platform- and print-correct dimensions. Every request is expanded server-side with a production-realism spec that rejects waxy skin, malformed hands, warped architecture, and generated text, and uploaded photos carry a property lock so enhancement adds residents and greenery without touching the buildings. The model never draws a logo: brand copy, marks, and icons are applied afterwards as editable browser layers and exported as PNG, at roughly $0.04 per generated image.

Stack
working build
Next.js 15app + SSE console
Claude Sonnet 4.6ten of thirteen agents
GPT-4oadversarial skeptic + critic
Claude Opus 4.8press-kit drafter
Zodcontract at every boundary
SSE + EventSourcesingle-stream runtime
Fixture capturereplayable real runs
Railwaylong-lived host, 1 replica

Multi-Agent Org Systems

working build

Agentic Marketing Team: Three AI Departments With Enforced Handoffs

Where Marketing Debate decides whether a plan is right, this system builds the work. Thirteen agents in three sequential departments — marketing, creative, comms — hand a brief forward under an enforced contract: every artifact travels with a claims register where each figure is tagged as brief-stated or inferred-with-basis, and downstream departments inherit the register verbatim, so an unverified number stays marked from the first positioning line to the final designer-ready brief. Each department ends in an adversary with real power: the skeptic and critic can reject a colleague’s artifact for one engine-bounded retry, and the comms reviewer can bounce the whole package back to creative once per run. A live console streams every agent, handoff, and rejection with per-department cost and timers, runs can be stopped mid-call cleanly, and every live run is captured as a replayable fixture — an 18-minute run replays in about 35 seconds at its real recorded cost of $1.36.

Stack
working build
Claude · axiosslide content only
Zod · JSON Schemavalidated slide JSON
Brand tokenslocked templates
PlaywrightPDF render
pptxgenjseditable .pptx
Expressrender service
Supabaseauth + storage
Vercel · VPSportal + renderer

Marketing and Strategy

working build

Presentation Engine

Turns a brief into a finished deck. Claude produces structured slide content only, poured into hand-built brand templates and rendered as PDF or editable .pptx. Content and design stay separated, so every output is on-brand by construction.

Stack
working build
Anthropic SDKwriter agent
PlaywrightHTML to PNG render
brand.jsoncolour + type tokens
overflow_checkrender gate
PyMuPDFsource ingestion
python-pptx · docxreview deck out
FastAPI · Uvicornportal API
Docker · Railwayhost + /data volume

Marketing and Strategy

working build

Social Asset Engine

Takes a brief plus a source document and produces on-brand social assets at 1080x1350 with English captions, rendered from HTML templates against brand tokens. Every render passes an overflow check before it is accepted.

Finance

02/25
Shipped 2026
live
Next.js 16app + streaming
OpenAI Responsesfour specialists
CFO modelreport synthesis
JSON Schemastrict output
AxiosOpenAI transport
OpenAI Filessource uploads
GSAPworkroom motion
Vercel · Node 22serverless host

Multi-Agent Finance Intelligence

live

Arc Finance OS: Multi-Agent Finance Workspace

Built an AI finance workspace where four specialist agents (controller, FP&A, treasury, finance exec) review a leadership brief and business files in parallel on the OpenAI Responses API, then a separate CFO agent challenges their memos and synthesizes a structured, decision-ready report: KPIs, scenarios, risks, recommendations, and explicit data limitations. Verified progress streams into a live workroom as NDJSON events, and the run fails safely if fewer than three specialists finish or the CFO output breaks its schema. Deployed on Vercel.

Stack
live
Supabase Postgrestransaction ledger
Edge FunctionDeno sms-hook
Claude Haikumerchant classifier
merchant_mapclassifier cache
md5 fingerprintduplicate guard
Telegram botingest channel
supabase-jsdashboard queries
Verceldashboard host

Finance

live

AI Expense Dashboard

Bank SMS parsed, fingerprinted and classified into the ledger, with an LLM fallback and cache, then statement and SMS transactions rolled into monthly spend, income and net position by pay cycle.

Knowledge Systems

04/25
Shipped 2026
live
Node.jsruntime
Claude APInote structuring
Whisper-1voice transcription
Obsidianvault + graph
Telegramcapture surface
MCP Server4 vault tools
Cloudflare Tunnelendpoint + auth
Hetzner · pm2host + uptime

AI & Knowledge Systems

live

Second Brain: Personal AI Knowledge OS

Built a personal AI second brain on Obsidian connected to Claude via Telegram. Every conversation, document, and idea is automatically captured, analyzed, and stored in a structured knowledge vault: searchable, linkable, and visible as a graph. Built and live in one session.

Stack
live
MCP SDKserver implementation
Streamable HTTPtransport
search_vaultfull-text search tool
get_noteread tool
save_notewrite tool
list_assetsattachment listing
ExpressHTTP endpoint
Cloudflare Tunnelpublic endpoint

Knowledge Systems

live

Vault MCP Server

Four tools that let any MCP client read, search and write the Obsidian vault over a tunnel.

Experimental Products

07/25
Shipped 2026
live
Node.jsserver runtime
Socket.ioreal-time state
WebRTCvoice + video
WebGL3D FPS scene
Pointer Lock APIfirst-person controls
Canvas APIdrawing game
ws harnessheadless test suite
Railwaydeploy + hosting

Real-Time Multiplayer Systems

live

WolfChat: Multiplayer Social Gaming Platform

Built a private browser-based social gaming platform for a friend group combining real-time voice and video with four game modes: a first-person shooter with PBR textures and a 3D weapon system, a video call with screen share and avatar customization, a real-time drawing game with Claude-generated words, and a trivia night with Claude-generated questions across five knowledge categories. Runs on Railway with WebRTC peer-to-peer voice so audio never touches the server. Built entirely with Claude Code in multiple sessions, from concept to deployed product.

Stack
working build
Claudeshot-by-shot script
fal.ai clientmodel gateway
Fluxopening still per shot
Klingimage to video
MiniMax TTSnarration
ffmpeg · ffprobefit · caption · concat
Expressportal server
Node.jspipeline runtime

Experimental Products

working build

Video Generator

Turns a one-line brief into a short film. Claude writes the shot list, fal.ai generates each opening still and animates it, MiniMax speaks the narration, and ffmpeg fits every clip to its voiceover, burns captions and stitches the shots into one mp4.

10/25
Shipped 2026
archived
Node.js 18runtime
Whoop APIbiometric pull
OAuth 2.0auth + token refresh
Blood panelslab result ingest
Claude Sonnethealth analysis
Telegram Botmorning briefing
Supabasepersistence
cron · pm2scheduled delivery

Applied AI & Biometrics

archived

My Health Copilot

Built a personal AI health intelligence system that pulls biometric data from Whoop automatically, accepts daily food and lifestyle inputs via photo or text, ingests blood test results, and delivers personalized Claude-powered health analysis via Telegram, every morning and on demand.