AI Product SEO Optimizer
Markdown file
README.md
AI Product SEO Optimizer
A Shopify app that uses AI to automatically analyze and optimize product listings for SEO and agentic commerce readiness.
Start here (daily workflow)
- Handoff / where we left off:
docs/HANDOFF.md - Docs index:
docs/README.md - Runbook:
docs/RUNBOOK.md - Changelog:
CHANGELOG.md
Features
- Product SEO Analysis: Comprehensive analysis of product titles, descriptions, meta tags, and more
- AI-Powered Suggestions: Generate optimized content using OpenAI/Anthropic models
- Keyword Landing Pages: Create SEO-optimized landing pages for specific keywords
- Automation: Configure automatic optimization based on triggers and rules
- Full Audit Trail: Complete change history with one-click revert
Tech Stack
- Framework: Remix (React Router) with TypeScript
- UI: Shopify Polaris + App Bridge
- Database: PostgreSQL with Prisma ORM
- Queue: BullMQ with Redis
- AI: OpenAI GPT-4 / Anthropic Claude
- API: Shopify GraphQL Admin API (2026-01)
Getting Started
Prerequisites
- Node.js 20+
- PostgreSQL database
- Redis server
- Shopify Partner account
- OpenAI API key (or Anthropic)
Installation
- Clone the repository:
git clone https://github.com/your-org/shopify-ai-product-optimizer.git
cd shopify-ai-product-optimizer
- Install dependencies:
npm install
- Copy environment variables:
cp .env.example .env
- Configure your
.envfile with:
- Shopify API credentials
- Database connection string
- Redis connection details
- AI provider API keys
- Set up the database:
npm run db:generate
npm run db:push
- Start development:
npm run dev
Running the Worker
In a separate terminal:
npm run worker:dev
Project Structure
├── app/ # Remix app
│ ├── routes/ # Route handlers
│ ├── lib/ # Shared utilities
│ ├── shopify.server.ts # Shopify app config
│ └── db.server.ts # Database client
├── worker/ # Background job processor
│ ├── processors/ # Job handlers
│ └── services/ # Shared services
├── prisma/ # Database schema
├── docs/ # Documentation
│ ├── spikes/ # Technical research
│ └── app-store/ # App Store materials
└── extensions/ # Shopify extensions (future)
Configuration
Shopify App Config (shopify.app.toml)
Key settings:
scopes: OAuth permissionswebhooks: Event subscriptionsembedded: Must be true for admin apps
Environment Variables
See .env.example for all required variables.
Development
Commands
npm run dev- Start dev server with Shopify CLInpm run worker:dev- Start worker in watch modenpm run build- Build for productionnpm run db:studio- Open Prisma Studionpm run lint- Run ESLintnpm run typecheck- Run TypeScript checks
API Version
This app uses Shopify API version 2026-01 for:
- Concurrent bulk operations (up to 5)
- Modern
bulkOperation(id:)queries - Latest GraphQL schema
Deployment
Requirements
- Node.js 20+ hosting (Vercel, Render, Railway, etc.)
- PostgreSQL database
- Redis instance
- Separate worker process
Steps
- Deploy the Remix app
- Deploy the worker separately
- Configure environment variables
- Set up database migrations
- Update
shopify.app.tomlwith production URLs
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
License
MIT License - see LICENSE file for details