Marketing-AI

A Reddit growth console that keeps a human in the loop before anything is posted

All projects  ·  About Matt

Live on Vercel. Built with AI-assisted development — designed and directed by me, implemented with AI pair programming.


Description


What it does: An AI marketing agent for Reddit. It scans subreddits for relevant threads, scores each one with an LLM (1–10 relevance plus inferred intent and reasoning), and drafts a tone-matched reply — then hands it to a human to edit, approve, or reject before anything goes live. A separate Content Studio turns a single topic into native content for Reddit, X, LinkedIn, or a blog.

Why human-in-the-loop: Reddit's culture and spam filters are strict, and fully automated posting from new accounts gets banned. So the AI does discovery and drafting, but the publish call is gated on both explicit human approval and full credentials. It's a growth tool that respects the community instead of spamming it.

How it was built: FastAPI backend with SQLite, PRAW for Reddit access, and a provider-agnostic LLM failover chain (OpenAI → Groq → OpenRouter) over httpx. React 18 + Vite dark-console frontend. It boots in a zero-key demo mode — sample posts, a transparent heuristic scorer, and templated content — so the entire pipeline is explorable offline; add keys to go live.

Architecture


Marketing-AI — Discovery to Publish Pipeline ══════════════════════════════════════════════ Campaign Reddit (PRAW) (product + ──► subreddit scan ──► keyword + pain-phrase match subreddits) │ LLM scoring (1–10) intent + reasoning │ Tone-matched draft │ ┌─────────────────────────┐ │ Human Review Queue │ │ edit · approve · reject│ └─────────────────────────┘ │ (approved + full creds) ▼ Guarded Reddit publish Content Studio: one topic ──► Reddit post · X thread · LinkedIn · blog

Dev Notes

Problem Solved

Finding the right Reddit threads to genuinely contribute to is slow manual work, and automating it naively gets you banned. Marketing-AI does the scanning and drafting but keeps a person in control of every reply.

Technical Highlights

A provider-agnostic LLM chain (OpenAI → Groq → OpenRouter) survives outages and rate limits on free tiers. The whole app runs with zero API keys in demo mode, and ships to Vercel as a single project — Vite static frontend plus FastAPI as a Python function.

What's Next

Swap ephemeral SQLite for Postgres/Turso for real persistence in production, richer campaign analytics, and more publish targets beyond Reddit.


Try the live demo


Back to top