Live·Dec 2023 – present

SEO Content AI

A production AI content platform where I own the frontend end-to-end and contribute across the backend and cloud.

Sole frontend developer & core backend contributor

Stack

  • Next.js 16
  • React 19
  • TypeScript
  • Drizzle ORM
  • Turso / LibSQL
  • Vercel AI SDK
  • OpenAI · Anthropic · Gemini
  • Trigger.dev
  • Stripe
  • Pusher
  • Cloudflare R2
  • AWS (Lambda, SQS, DynamoDB)
SEO Content AI — the article generator: article types, topic input, and a live preview panel
Nine article types, multi-provider AI, and real-time preview with usage-based credits.

The product

SEO Content AI is an AI-powered content-generation SaaS for a US agency. I'm the sole frontend developer on a ~20-person team and a core backend contributor — I own the user-facing product end-to-end and build across APIs, data, and cloud infrastructure alongside the backend engineers.

What I built

The platform spans 60+ API endpoints, a 26-table relational data model (Drizzle), and 8 background-job pipelines. It integrates multiple AI providers (OpenAI, Anthropic, Gemini) through the Vercel AI SDK, streaming both generated text and images in real time via Pusher.

On top of the generation engine I shipped Stripe-powered billing and a credits system, usage-tracking dashboards, and one-click publishing to WordPress and other CMSs. Assets are stored on Cloudflare R2; heavier workloads run on AWS (Lambda, SQS, DynamoDB).

A generated article with an AI-produced hero image, word count, cost, and one-click CMS export

The performance work

Article generation originally took ~4 minutes end-to-end. By restructuring the generation pipeline and tightening prompts, I brought average generation time down to ~90 seconds — roughly 60% faster — with no drop in output quality.

I also built an AI "site builder" as a separate subsystem: it generates a complete website from a single prompt through a multi-stage pipeline, backed by AWS and streamed to the client over WebSockets so users watch the site assemble live.

Trade-offs

Multi-provider AI meant building a provider-agnostic abstraction rather than coding to one API — more upfront work, but it lets the product route around outages and price/quality differences between models.

Real-time streaming (Pusher + WebSockets) is more moving parts than simple request/response, but generation is slow enough that live feedback is the difference between a product that feels alive and one that feels broken.

Next

Enterprise Waste-Operations Platform