/projects/artisan-roast
Artisan Roast Store
Open-source e-commerce store for specialty coffee retailers, built with an AI-native development workflow.

The problem
Independent coffee shop owners lack affordable, purpose-built e-commerce tooling. Generic platforms are expensive and not tailored to specialty coffee workflows. Non-technical owners have no viable self-hosted option.
My role
Sole developer and architect — designed and built the open-source store and AI-native development workflow end-to-end.
Highlights
- Engineered a nightly QA system using Claude Agent SDK + Playwright that reads accessibility trees (not CSS selectors) to verify 16 acceptance criteria — auto-opens GitHub issues on regression
- Designed a 'Contract-Driven' UI architecture for SaaS plan management: uses a canonical visual harness to loop through captured SDK payloads, generating 17+ state-specific UI scenarios (Trial, Expired, Pending, etc.) to prevent cross-repo drift
- Implemented a 3-state asynchronous payment machine (Converting → Pending → Provisioning) with non-dismissable polling modals, generic error recovery, and ARIA-live status announcements for high-stakes billing transitions
- Architected a 'Demo-Bypass' routing layer for the Plans page that intercepts platform-materialized endpoints to simulate successful checkouts in demo mode while enforcing strict contract testing for production paths
- Developed a 'Provider-Driven' plan card system that eliminates slug-based conditional rendering by dispatching on SDK status (NONE/ACTIVE/TRIAL/EXPIRED/CANCELLED/INACTIVE) with inline-left Pool CTAs and management dropdowns
- Built a spec drift guard (GitHub Actions) that enforces bidirectional sync between VERIFICATION.md and qa-agent.js — prevents spec/implementation divergence across the team
- Optimized CI/CD reliability by engineering a custom Playwright installation strategy (using yauzl/unzip) to bypass silent extraction hangs on GitHub Actions runners, reducing build timeouts and improving deployment velocity
- Built a complete coffee-native e-commerce platform (products, orders, subscriptions, admin, drag-and-drop menu builder) as a solo developer — 118 API routes, 39 Prisma models, 638 TypeScript files
Architecture
Artisan Roast is an open-source e-commerce and SaaS platform for specialty coffee featuring a drag-and-drop menu builder and an AI-powered CMS for brand-aligned content generation. The system is built on Next.js 16 and React 19 using a type-safe architecture with Prisma and Neon PostgreSQL, integrating Stripe for complex subscription lifecycles. A key engineering highlight is the provider-agnostic SDK that enables build-time isolation and dead-code elimination between self-hosted stores and managed platform environments. Reliability is maintained through an automated agentic development loop and a nightly QA pipeline where a Claude Agent SDK script performs Playwright tests against the accessibility tree to verify acceptance criteria.
Impact
Live at artisanroast.app with continuous weekly releases. Ships a free community tier, paid support plans, and add-on packages. Hosted multi-tenant solution and AI back-office MCP server in active development — a full SaaS platform built and maintained as a solo developer.