shipwords-dev/shipwords

AI Engineering

Scaffold and run many keyword-focused AI image/video sites on Cloudflare with shared auth, payments and credits.

192
121
TypeScript
MIT
1 day old

shipwords is an MIT-licensed TypeScript framework for running a fleet of AI image and video sites, one per keyword, on Cloudflare. Shared pieces — accounts, payments, credits, the generation runtime — are written once in a core package; each site keeps its own pages, look, domain, database, storage and payment account, and deploys independently so launching or retiring one doesn't touch the others shipwords README.

What a site looks like

Each site is a TanStack Start + React 19 app on its own Cloudflare Worker, backed by D1, R2 and Workflows. The supplied template (templates/ai-site) is a working AI image site with home, pricing, account, login, policy pages, sitemap.xml, robots.txt and llms.txt. The full source of tinydeskai.io is included as a video-effect example: uploaded photos fill template slots in a one-pass clip edit, and if an original face remains, the job fails and credits are returned README, example site.

How the shared core works

packages/core holds D1 + Drizzle, an idempotent credit ledger, Stripe and PayPal billing (packs, subscriptions, refunds, disputes), Better Auth, guest quota with reCAPTCHA v3, SEO/GEO helpers and analytics. packages/jobs is a workflow-based generation runtime with a one-way job state machine, automatic refunds for failed jobs, an upstream adapter interface, a Yir adapter and a mock upstream. The README describes double charges, repeated or out-of-order payment events and refunds as covered by tests README.

Ways to start and what each needs

The documented path is a scaffolder: pnpm new-site <dir> --domain <domain>, then local secrets linked outside the repo, a local D1 migration and pnpm dev. Requirements are Node 24, pnpm 10 and Git Bash or WSL on Windows README quick start. The template runs as-is with a mock upstream and printed email sign-in codes, so no model key is needed locally. Real generations need a Yir API key; taking payments needs a Stripe test key plus a webhook-forwarding script; guest free tries need reCAPTCHA keys, otherwise visitors sign in first. Google sign-in is optional. Going live additionally requires a Cloudflare account and a Stripe or PayPal account README.

The README also documents an agent-assisted path: pointing Claude Code, Codex or Cursor at shipwords.dev/llms.txt with a keyword, following rules in AGENTS.md. That assumes an AI coding agent, so it is an alternative to the manual scaffolder, not a replacement requirement README, agent rules.

Costs and limits

The code is free under MIT, including commercial use, but you pay for domains, Cloudflare usage, payment fees and per-request model calls; each job's maximum model cost is set in site.models.ts. Sites that stitch video clips use Cloudflare Containers and need the Workers Paid plan README costs. The README's reliability and evaluation claims are the author's; no independent validation is supplied.

Written by AI from the project's README, updated October 29, 2026. The project's own docs are the source of truth.