Castor Coffee
The digital stack of a specialty coffee roaster: online store, wholesale portal, blog, café POS and a mobile app.




From roasted bean to café counter — one roaster, one connected system.
Problem
Retail customers, wholesale buyers and café guests all buy from the same roaster, but with different prices, payment rules and journeys — and each channel used to be its own island.
Approach
A WordPress multisite separates the store, the B2B wholesale portal and the blog while sharing products and design. Custom work includes a QNB 3D Secure payment plugin with automatic order reconciliation, a Build-your-own-blend tool with a recommendation engine and a live flavour radar, a canvas-based label designer for bean bags, a province-to-neighbourhood address picker and a Google Merchant feed. In the café, orders run on RentonSoft POS.
Result
A live store taking 3D Secure card payments, a gated wholesale channel, a blog and a POS at the counter — maintained as one system, with a React Native app concept that brings shop, table ordering and loyalty together.
What’s inside
- Build-your-own-blend tool with flavour radar and weighted pricing
- QNB 3D Secure gateway with order reconciliation
- Custom label designer (Fabric.js) for bean orders
- B2B wholesale portal behind login
- Mobile app: shop, table QR ordering and loyalty in one
Stack
Under the hood
The code layer of this project — modules and moving parts.
multisite magaza (retail) · kurumsal (B2B, behind login) · blog plugins/ castor-qnb-vpos (QNB 3D Secure + order reconciliation) castor-blend-builder (recommendation engine · flavour radar) castor-sticker (Fabric.js label designer) address-picker (province → district → neighbourhood) café RentonSoft POS in Docker mobile React Native · Expo → shop · table QR · loyalty modes
Ready software
WooCommerce stores with 3D Secure virtual POS, meal-card payments, a wholesale portal and custom product builders.