Adam Perlis
← Work
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.

What it does

  • A weekly site audit. Crawls the site, scores page health and AI readiness, and ranks what it finds.
  • AI citation tracking. Asks search and answer engines the questions your buyers ask, and records who gets cited.
  • An agent that proposes. Findings become queued changes. Nothing publishes without your go-ahead.
  • Publishing. A rich-text editor, newsletters sent from your own domain, and social drafts for each platform.
  • Migration. Imports posts and subscribers from the common blog and newsletter platforms.
  • Fits your stack. Paste a URL and Zine detects what the site runs on. Hosted builders connect; custom sites install through the CLI.

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 that serves customer sites. 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.

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. Every external data source the agent draws on is optional, so it runs with whatever is configured and gets better as more are added. The marketing site ships the same structured data Zine tells customers to ship.

Where it is now

Zine is in development and hasn’t launched. The repo started at Phase 0, foundations; since then the admin app, the weekly audit, the agent and the publishing pipeline have been built. The code is private for now.

Want something like this for your product?

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