I built both the Next.js storefront/checkout and the Python fulfillment pipeline that turns a Stripe payment into a finished PDF, with no manual production step at any order volume.
~10 min
Order to PDF delivery
$0
Marginal fulfillment labor
5
Build-your-own journal modules
6
Services chained per order
Order-to-Delivery Architecture
Stripe Checkout→
Vercel webhook route→
Supabase order insert→
GitHub Actions dispatch→
AstroStar chart API→
Claude API (batched prompts)→
WeasyPrint render→
Supabase Storage→
Resend delivery email
Tech Stack
Storefront & Commerce
Next.js 16React 19TypeScript
Tailwind CSSStripe CheckoutVercel
Fulfillment Pipeline
PythonGitHub ActionsAnthropic Claude API
WeasyPrintJinja2
Data & Delivery
Supabase PostgresSupabase StorageResend
Signed URLsPipedream
Business Angle
Zero-touch fulfillment at near-zero marginal cost
Every order runs the same automated pipeline from payment to inbox — no manual design or QA step per customer, so unit economics stay flat as order volume scales.
Modular pricing designed to raise average order value
Replaced four fixed subscription tiers with five à-la-carte modules plus volume discounts (20% at 3+, 35% for all 5) — a bundling mechanic that pushes single-item buyers toward larger baskets.
Failure-aware order tracking protects refund exposure
Order status is written to Supabase at every pipeline stage (pending → generating → prompts_complete → pdf_complete → delivered/failed), with failure alerts routed through Pipedream so paid orders never silently disappear.
AI cost discipline built into the pipeline
Claude API calls are batched (30 prompts per call instead of 365 individual calls) to control per-order generation cost and latency at the volume this product needs to be profitable.