Limerick gives wholesale suppliers a self-hostable ordering portal — product catalogue, price groups, invoicing, and buyer management — deployed to Cloudflare Workers in a single command.
No credit card required · Runs on your Cloudflare account
One platform for catalogue management, buyer relationships, and the full order-to-invoice workflow.
Manage your full catalogue with images (R2), SKU auto-numbering, and categories. Buyers see only what you publish.
Set per-group contract prices or discount rates. Each buyer belongs to a price group, so they always see their negotiated price.
Onboard retail buyers with email invitations. Manage accounts, assign price groups, and view order history per buyer.
Full order lifecycle: confirm, ship, complete, or cancel. Stock restores automatically on cancellation. Complete audit trail.
Aggregate orders by closing period and generate printable PDF invoices. Customisable templates with variable substitution.
Buyers browse the catalogue with contract prices, manage a cart, checkout, and reorder with one click. Mobile-friendly interface.
Built for both the supplier admin and the retail buyer — two interfaces, one platform.
MIT license. Full control over your ordering portal with no monthly fees and no per-order charges.
A single shell script provisions your D1 database, R2 image storage, runs migrations, and deploys to Cloudflare. Up in minutes.
Cloudflare Workers puts your ordering portal close to every buyer worldwide. Fast catalogue loads, instant checkout.
Buyer data, order history, and pricing stays on your Cloudflare account. No third-party SaaS dependency.
The deploy.sh script handles everything automatically:
git clone https://github.com/alcogy/limerick
cd limerick && bun install
bash deploy.sh --seed # includes demo supplier + buyer accountsLimerick uses an adapter pattern for email, Drizzle schema-first migrations, and Zod validation on all inputs. Price group logic and invoice generation are fully built-in.
Svelte Runes reactive model. Separate supplier admin and buyer-facing routes in one codebase.
Workers runtime at the edge, D1 SQLite database, and R2 object storage for product images.
Lightweight TypeScript ORM with compile-time query safety. Schema-first migrations built-in.
End-to-end type safety from database schema to UI components. No any escapes.
Runtime validation on every service input. Parse, don't trust — enforced at every write boundary.
All-in-one fast runtime, bundler, and package manager. Drop-in npm replacement.
Limerick uses an adapter pattern for email (Resend / SES / SMTP / Cloudflare Email), Drizzle schema-first migrations, and Zod validation on all inputs. Price group logic and invoice generation are fully built-in. Explore the source →
Your B2B ordering portal is one command away.
Free, open source, and runs entirely on your Cloudflare account.