← Back to casesBrand Site + Online Shop · Specialty Coffee
A NT$1,800 bag of beans
has to explain itself first
REKAT ROASTERY is a single-origin roastery in Luye, Taitung. Its roaster has thirty years behind the drum and works with green coffee at the Gesha, Blue Mountain and anaerobic-fermentation end of the market. The hard part online isn't listing the products — it's answering why a customer should believe this bag is worth the price. So we took the judgement a roaster can explain in person but that vanishes on a web page — where a flavour sits, what each processing method removes, which second to stop the fire — and turned it into things you can click and compare. The professional case makes itself; checkout simply follows it.
0 photos
Every illustration is generated in code
3 explainers
Flavour wheel · processing · roast curve
15 coffees
Listed and delisted by the shop itself
Online orders
Bank transfer and COD, no payment gateway
How it works
Three steps from confused to checked out
The barrier in specialty coffee isn't price, it's asymmetry. Nobody pays NT$1,200 for "anaerobic natural · raisin · cocoa" if those words mean nothing to them. So the flow gives you the basis for a judgement before it gives you a buy button.
1→
Find a direction
Click a family on the flavour wheel, open the second ring, jump straight to the coffees in that register
2→
Confirm on the product page
A batch-card spec table, a flavour profile chart, a roast scale and brewing parameters — all on one screen
3
Add to cart and check out
Half-pound bags of whole beans, bank transfer or cash on delivery, with a form to report the transfer afterwards
Data architecture
Three rhythms of change, three places to manage them
Design
Bean catalogue
Names, prices, flavour families, illustration motifs, origin background and copy. Changes once a season — a design and editorial asset, kept in version control
↓
Operations
Current availability
What's sold out, what's delisted, one line of notice. Changes any time — lives in the database, maintained by the roaster from his phone
↓
Transactions
Orders
A snapshot of items and amounts at the moment of purchase, so old orders still reconcile after the list is repriced
Design & engineering
Turning expertise into pictures people can read
A clickable SCA flavour wheel
Drawn from the nine families of the 2016 SCA / World Coffee Research wheel. Click the inner ring to open the descriptors and jump to coffees in that register. The official artwork is licensed — and you can't click a PNG.
Processing as a cherry cross-section
Six layers; switching method dims whichever ones are gone before drying. Wet-hulled leaves only silverskin and bean — you can see at a glance why Mandheling isn't the same kind of thing.
A roast curve that draws itself
Turning point, yellowing, first crack and development ratio are all marked and clickable. A signal to those who know, a thirty-second lesson for those who don't.
Procedurally drawn beans
The client had no product photography. Fifteen coffees aren't fifteen image files — they're one component generating a vector seal from flavour family and motif. Adding a coffee means naming a motif.
Grind size you can measure by eye
"Medium-fine, like table sugar" means nothing if you've never ground coffee. Five swatches, same area, same density, only particle size changes.
A hand-drawn coffee belt
Cropped to 162°W–115°E, which is exactly what it takes to hold all nine origins from Kona to Lintong. No third-party map embed punching someone else's visual language into the page.
One source of truth for money
Pricing is a single pure function shared by browser and server; the cart stores items and quantities, never prices. Any amount sent from the client is ignored and recomputed — tampering in devtools is structurally impossible.
Sold-out enforced server-side
When the shop marks a coffee sold out, the front end doesn't just grey out a button — the order endpoint rejects it too, naming the item. A customer's cart may have been filled days ago, when it was still in stock.
Honesty enforced by tests
Names and prices are pinned row by row in the test suite; origin background is labelled as public research rather than batch data; the flavour chart states plainly that it isn't a cupping score.
Why this way
Selling premium goods online means selling the basis for judgement
01
Trust comes first
Customers aren't unwilling to spend. They're unsure whether they're spending well. Hand over the basis for the decision and the price holds up.
02
The shop keeps control
Sold out? Mark it sold out. Restocked? Change it back. The site never freezes on stale information for want of a developer.
03
No overclaiming
Batch data we don't have stays blank; charts we derived say so. Over the life of a business that is worth more than another adjective.
Your expertise deserves to be understood
Whether it's specialty food, craft work, or anything that has to be explained before it sells, we can turn the expertise into something a customer can read — and put the business right behind it.