Lázeňská káva - 3 sites for a coffee brand ecosystem
Three sites for the Lázeňská káva coffee brand: pestik.cz (grower brand page), greenplantation.eu (plantation export for the EU market), and eshop.lazenskakava.cz (B2C e-shop). Marketing sites plus full e-commerce, with a shared design language across all three.
3 sites, 1 brand
Brief
Lázeňská káva needed to unify three digital touchpoints into a single ecosystem without making each one a generic copy of the others. Three sites, three roles:
- pestik.cz - grower brand page, coffee tree story and grower communication
- greenplantation.eu - plantation export for the EU market, B2B-friendly presentation
- eshop.lazenskakava.cz - main B2C e-shop for end customers
Goal: a shared design language and component library, but each site with its own content strategy and conversion funnel.
Architecture
I went with a monorepo and a shared design system. Each site has its own package with config, pages, and content modules, but UI components (button, card, hero, navbar, footer) and design tokens (colors, typography, spacing) are shared. When the accent button color or card radius changes, it changes everywhere.
The e-shop is the heaviest piece: product catalog, variants (weight, grind), cart, checkout, Stripe payments, order tracking, and inventory sync with the back office. The marketing sites (Pěstík + GreenPlantation) are static builds with localized content.
Key decisions
Shared components, separated content. Each site has its own content structure (CS for Pěstík, multi-language EN/DE for GreenPlantation, CS for the e-shop). No monolithic CMS - content lives in git and deployment is git push.
Stripe Checkout instead of a custom cart. PCI compliance is on their side; we just pass line items and success_url. Desktop conversion >65 %, mobile slightly lower thanks to Apple/Google Pay support.
Vercel Edge cache for the product catalog. Products change once a day; catalog pages are ISR with revalidate 1h - on regular traffic it's almost always a cache hit.
Lessons
Three sites for one brand is essentially three times more discipline, not three times more code. A shared design system handles 80 % of the work, but the rest - content strategy, localization, tone of voice - each site has to solve on its own. If a client wants "the same, but different", build it as one component library and three thin apps on top.