ContentTool
Internal ToolAgentic AI content engine that plans, writes, and schedules a company's full marketing cadence
Overview
ContentTool is a full-stack agentic system I built at Ad Hoc Data to run the company's content marketing on autopilot. Every day it scrapes industry sources into an inspiration pool, scores each item with Gemini, enriches promising angles with CBS open-data statistics, and drafts posts onto a content calendar — three social posts a week, a weekly blog, and a monthly newsletter.
The Challenge
Consistent, relevant B2B content takes hours of recurring manual work: finding inspiration, validating it against real data, writing in the company's voice, and keeping a steady cadence. Generic AI writing tools produce generic output because they lack the company's data context. The system needed to generate content that is grounded in actual market statistics and runs without anyone remembering to trigger it.
The Solution
Daily scrape-and-score pipeline
A GitHub Actions cron triggers the daily run: httpx, BeautifulSoup and feedparser collect from industry sources (Playwright handles JS-rendered pages), then Gemini scores every item for relevance and freshness before it enters the inspiration pool.
Data-grounded drafting
Promising inspiration is matched against CBS open-data statistics, so generated angles and hooks reference real numbers instead of generic claims. Gemini drafts the posts; the content calendar enforces the publishing cadence.
FastAPI backend, SvelteKit dashboard
Python 3.12 with FastAPI and SQLAlchemy 2.0 (Alembic migrations) powers the pipeline; a typed SvelteKit + Tailwind dashboard gives the marketing team review-and-edit control before anything ships.
Newsletter delivery via Brevo
The monthly newsletter is assembled from the month's best-performing content and delivered through Brevo — the whole loop from inspiration to inbox is automated.
Key Features
Daily Scraping
httpx + BeautifulSoup + Playwright for JS-heavy sources
Gemini Scoring
Every inspiration item scored for relevance before use
Agentic Drafting
Angles, hooks, and full drafts generated from scored input
Content Calendar
Steady cadence: 3 socials, weekly blog, monthly newsletter
CI-Driven
GitHub Actions cron runs migrate → seed → scrape → score
Brevo Delivery
Automated newsletter assembly and sending
Results
Live and operational for Ad Hoc Data's marketing
Full weekly content cadence maintained without manual planning
Content grounded in CBS statistics instead of generic AI claims
Human review built in: the team approves drafts from the dashboard