Case studies/Products I built for myself
Co-founder & CTO · live

AEO Content

2026 - now

The first AI Engine Optimization platform: audits how a site is seen by ChatGPT, Claude, Perplexity and Google AI Overviews.

Overview

AEO Content is an AI Engine Optimization platform that I co-founded and run as CTO. It answers a question classic SEO tools do not: when a buyer asks ChatGPT, Claude, Perplexity, Gemini or Google AI Overviews for a recommendation, is a given business named, ignored, or replaced by a competitor? The product audits a site for citation readiness, tracks how often AI engines cite it, and runs a done-for-you content engine to close the gaps.

I architected the platform and lead its engineering. The core is a TypeScript monorepo on Turborepo and pnpm: the Studio client portal and an internal admin, both on Next.js 16 and React 19, sharing packages for scoring, the job queue, database access and publishing. Around it run Python workers on Modal for crawls, batch audits and site migrations, a headless-browser visibility collector, an MCP server, an Astro marketing site, a Chrome extension and a WordPress plugin.

It has grown from an audit tool into a full service: topic research from live sources, sourced articles scored against the AEO Rank engine, publishing into client CMSs and repositories, website migrations to Astro, and scheduled visibility monitoring. It is live at aeocontent.ai, and the public site reports more than 26,000 AI-visibility audits run.

What was built

Stack

Frontend

Next.js 16 / React 19
App Router apps for the Studio client portal, which also serves the public API, and the internal admin.
Tailwind v4
Styling across the three Next.js apps in the monorepo.
Astro
Static marketing site, knowledge base and AI-published blog for www.aeocontent.ai on Cloudflare Pages.
Chrome extension (MV3)
AEORank toolbar that shows a site's score and audits the current page locally in the browser.

Backend

TypeScript
One language across apps, shared packages, the job queue, the MCP server and the scoring engine.
Turborepo / pnpm
Monorepo build and task orchestration for the Next.js apps and a dozen internal packages.
NextAuth v5
Session sign-in for the Studio portal and the admin app.
Node.js WebSocket server
Terminal server that provisions per-domain workspaces and streams Claude Code output to AI Studio.

Data

Postgres + PgBouncer
Self-hosted database accessed with raw SQL, versioned SQL migrations and connection pooling for apps and workers.
Postgres job queue
Atomic job claiming with SKIP LOCKED, stale-job recovery, retry limits and auto-pause failure guards.
Modal (Python)
Fan-out site crawls, full-database batch re-audits, CMS detection and website migration jobs.
AWS S3
Storage for article images, favicons, content images and database backups, replacing Supabase Storage.

AI

Anthropic Claude
Models behind audit narratives, topic research, article writing and the judge steps in the pipeline.
MCP server
Exposes audits, visibility data, topics, the article pipeline and CMS publishing as tools for Claude.
Playwright collector
Headless-browser worker that runs target prompts in ChatGPT and records answers with their cited sources.
Voyage AI embeddings
Semantic matching of original and rewritten article sections during merge review.

Infrastructure & DevOps

Docker on AWS (Coolify)
Apps and workers run as containers on AWS EC2, one Coolify app per branch for prod and dev.
GitHub Actions
Deploy workflows, auto-applied database migrations, a required typecheck and 68 scheduled cron workflows.
Cloudflare Pages
Hosting for the marketing site and for client websites produced by the migrator.

Integrations & Payments

Stripe
Subscription tiers, checkout and webhooks for Studio plans.
GitHub App (Octokit)
Commits articles into client repositories and creates new site repositories for migrations.
Resend
Transactional email sent through the shared email library used across the apps.
Twilio
Phone verification with Twilio Verify and SMS handling through the shared messaging library.

CMS & Commerce

WordPress plugin
AEO Content AI Studio: audits, visibility tracking and publishing inside wp-admin, listed on WordPress.org since April 2026.
WordPress REST API
Admin publishing path for sites where the team manages the WordPress install directly.

Tooling & QA

Vitest
Unit tests across apps and packages with coverage reporting in CI.
AEO Rank regression gate
Workflow that re-scores random and curated domain sets to catch unintended scoring drift.

Engineering highlights

Moved production off Vercel and Supabase to self-hosted Postgres and Docker containers on AWS Graviton (ARM64); the ARM image rebuilds needed no code changes, and a CI guard now blocks Supabase from coming back.

AEO Rank is run as a governed standard: scoring uses deterministic, repeatable checks with no AI judgment, the scoring core is protected by repository rules, and a regression gate re-scores a fixed validation set.

Batch re-audits fan out on Modal to up to 100 worker containers, with a fast lane, a slower retry lane for transient failures, heartbeats and stale-run cleanup.

Publishing safety lives in code rather than in prompts: the auto-publish cron holds structurally incomplete articles and scans rendered text against each client's banned terms before anything goes live.