09 / 10Building

Zine. A weekly site audit that tells you how to improve your SEO, AEO and GEO, and an AI-driven blog and newsletter platform for teams.

Role
Founder · product, design and engineering
Platform
Web, CLI
Status
Building
Stack
Next.js 16, TypeScript, Turborepo, Neon Postgres + Drizzle, Firebase Auth, Tiptap, Amazon SES, Stripe

Overview

Zine is a growth tool for a company’s own website. Every week it audits the site and says what to fix for classic search (SEO) and for AI answers (AEO and GEO). Then it gives you somewhere to act on it: a blog, newsletter and social publishing platform with an agent that drafts the changes for you to approve.

Why I built it

People who ship their own apps have no good place to put content. The usual options put the blog on a subdomain or on someone else’s domain, which splits the authority a site earns. Building it yourself means getting schema markup, sitemaps, structured data and email deliverability right, and most people stop partway. SEO tools tell you what’s wrong but leave you nowhere to publish the fix. I wanted both halves in one product.

My role

I designed and built Zine on my own: the positioning and pricing, the product, the admin, the marketing site and the CLI. Claude Code was my pair, co-authoring 153 of the repository’s 193 commits.

What it does

  • A weekly site audit. Crawls the site, scores page health and AI readiness, and ranks what it finds, high to low.
  • AI citation tracking. Asks search and answer engines the questions your buyers ask, and records who gets cited, you or a competitor.
  • An agent that proposes. Findings become queued changes, each with a “Do it” or an “Ask”. Nothing publishes without your go-ahead.
  • Publishing. A block editor, newsletters sent from your own domain, and social drafts for each platform.
  • Migration. Imports posts and subscribers from Ghost, Substack and Beehiiv.
  • Fits your stack. Paste a URL and Zine detects what the site runs on. Webflow, Framer and Shopify connect; Next.js and React sites install through the CLI.

Decisions and trade-offs

  • The customer changed twice. In April Zine was a content operating system for vibe coders: installed into a Next.js app, inheriting its design, with the blog living at yoursite.com/blog. By July the customer was teams already running free content. In August it became an AI growth marketing engine, with the audit in front and publishing as the place you act on it.
  • Price from the cost up. A weekly audit with answer-engine probes costs an estimated $20 to $50 a month per customer to run, so a $19 plan would have been underwater. The plans start free, with one audit of up to 25 pages, then run $29, $99 and $249, with an agency tier. Growth tracks 75 AI prompts at the price Semrush charges for 25.
  • Monday morning, in order. The weekly jobs run in sequence: the site audit at 3am, SEO monitoring at 5, the answer-engine probes at 6 and the agent’s proposals at 7, so every proposal works from that morning’s findings. Search rankings, Search Console and the digests follow.
  • One path for every audit. The scheduled audit and “Run now” share the same code, and a crawl that fails is recorded as a failed run you can see, not a silent gap.
  • Every source optional. The probes ask Brave, Perplexity, ChatGPT, Gemini and Claude, and each one is optional, so the agent runs with whatever is configured and gets better as more are added.
  • A free audit with no model in it. The free audit is the same rules engine as the paid one, with no AI call, so it can be given away. The paid product adds the multi-page crawl, weekly runs, probes, competitor changes and drafted fixes.
  • Claim only what the importers do. The migration list names the platforms the importers actually handle, and nothing else.

How it’s built

It’s a pnpm and Turborepo monorepo. Next.js apps cover the admin, the marketing site and a multi-tenant runtime on Cloudflare Workers that serves customer sites, with media on R2. The product logic lives in packages: an SEO engine for schema, sitemaps and AEO/GEO scoring, a crawler, importers, an email pipeline on Amazon SES with DKIM per customer, and a social publishing queue. Data sits in Neon Postgres through Drizzle, with Firebase for auth and Stripe for billing. When you start, a small model running in your browser suggests topics for your first post.

The CLI (npx zine init, detect, plan, apply, doctor) is one engine with three front ends: a person at a terminal, an AI agent, and an MCP server that exposes the same commands as tools. The marketing site ships the same structured data Zine tells customers to ship.

Timeline

  • 19 April 2026. The scaffold, and a playable prototype of the first phases.
  • 24 April. A live SEO, AEO and GEO analyzer, audit history, a Webflow importer, the multi-tenant runtime and the first AI probes.
  • 25–26 April. The install loop for customer sites, payments, newsletters and the CLI.
  • 17 June. The SEO and AI-visibility analytics suite.
  • Late July. A new homepage, the free audit and its report, visitor identification and the proposal queue.
  • August. The block editor, a two-column dashboard, a threaded agent page, and findings you can link to.

Where it is now

Zine is in development and hasn’t launched, and the code is private for now. The admin, the weekly audit, the agent and the publishing pipeline are built.

Want something like this for your product?

I help founders and teams design, build and ship apps.