All projects

Case study

floomy.ch

floomy.ch is a custom self-hosted commerce app for a Swiss handmade fuzzy wire flower shop. It is built to feel like a small creator storefront, not a generic Shopify clone: image-first, warm, fast to shop, and still serious about checkout, fulfillment, and owner operations.

Active 2 minute read 11 technologies
Next.jsReactTypeScriptPayload CMSPostgreSQLStripeTWINTCloudflare EmailCloudflare R2DokployPlaywright

Storefront and builder

The core experience is built around drops, visual product browsing, custom bouquet composition, gift-ready purchase flows, and a checkout path that keeps the buyer moving. The product language stays tactile because the flowers are handmade fuzzy wire pieces, so the interface has to sell texture, color, and maker personality before it sells software.

A custom bouquet builder lets shoppers choose flowers, colors, quantities, and wrapping, while the owner can manage products, variants, discounts, drops, legal pages, and order status from Payload CMS without touching code.

Commerce operations

Payments run through Stripe Checkout in CHF with card and TWINT support enabled through Stripe dynamic payment methods. The webhook is the source of truth for paid orders, and confirmation emails include signed tracking links so guest buyers can follow their order without creating an account.

The app also models refunds, Swiss shipping expectations, legal/contact/shipping/refund pages, Cloudflare Email Sending, Cloudflare R2 or Hetzner S3-compatible media storage, Cloudflare DNS/WAF/Turnstile, and Dokploy on Hetzner for production.

Build notes

The stack is Next.js, React, TypeScript, Payload CMS, PostgreSQL, Stripe, Cloudflare, and Playwright/Vitest. The important part is ownership: the shop can grow from Instagram traffic into a polished commerce system without being boxed into a template marketplace.