MOONAGE • Denys Vasyliuk

Concept online shop for a coffee roastery with a 3D bag and a brew timer · 2026 · 2 days

Frühschicht

Home page: the next roast in the header, the roast curve of Kolumbien Huila

The task

Coffee shop sites are almost interchangeable: beige and kraft paper, beans falling across the screen, a latte from above on a wooden table, “roasted with passion”, and identical bags where only the name changes. I wanted to show a roastery shop you recognise even with the logo covered, where every colour and every number tells you something about the coffee. This is a sample project: the roastery, its building and its coffees are made up, the photos and bags are generated, and nothing is really sold.

Role

Concept, art direction, design, development, 3D, packaging

What I did

Two palettes on the same screen. The site uses the light one on the right, Kirsche
Two palettes on the same screen. The site uses the light one on the right, Kirsche
The anti-reference: kraft paper, white cards on grey, black and gold. None of it made it in
The anti-reference: kraft paper, white cards on grey, black and gold. None of it made it in
Bags generated from a brief: the coffee, what it is for and the real data
Bags generated from a brief: the coffee, what it is for and the real data
The catalogue as a shelf: each price tag carries the roast colour
The catalogue as a shelf: each price tag carries the roast colour
The 3D bag mid-turn: the side shows the roast data
The 3D bag mid-turn: the side shows the roast data
Three coffees, three curves: same drum, different end
Three coffees, three curves: same drum, different end
Brew timer for V60: step two, pour up to 151 g
Brew timer for V60: step two, pour up to 151 g
Cart and demo checkout, with the roast the order goes into
Cart and demo checkout, with the roast the order goes into
Dauerschicht subscription: coffee, amount, rhythm, and the price right away
Dauerschicht subscription: coffee, amount, rhythm, and the price right away
Ukrainian version with its own bag
Ukrainian version with its own bag
Home page on a phone
Home page on a phone
Turning the bag on a phone
Turning the bag on a phone
Brew timer on a phone
Brew timer on a phone
Ukrainian version on a phone
Ukrainian version on a phone

Result

The demo is live: put a bag in the cart, go through the checkout and start the brew timer yourself. Nothing is paid and nothing leaves your browser. A roastery, a bakery or a tea shop can sell on its own site the same way, with a character of its own instead of a template.

Built with

Astro, TypeScript, Three.js, View Transitions, Nanostores · gpt-image-2 (bags) · Sofia Sans Extra Condensed, IBM Plex Mono