E-commerce Solution Architect & Full-Stack Developer. I architect and ship B2B e-commerce systems end-to-end — storefronts, custom apps, checkout-layer logic, and the back-office integrations that connect the store to ERP and fulfilment systems.
Holigram. A private Dutch B2B wholesale platform, owned end-to-end.
Login-gated, invite-only storefront serving registered Dutch businesses. I own the technical stack end-to-end — a custom Shopify storefront, checkout-layer logic, Node/TypeScript back-office integrations, and B2B email engineering.
0
Surfaces owned end-to-end
0
Languages delivered (NL / EN)
0
Years of full-stack practice
Live component · 01
Horizontal product card, rebuilt for wholesale buying.
On-card variant selection, real-time price × quantity math, a colored stock indicator, and add-to-cart without a page redirect. The card to your right is the real thing — pick a variant, change the quantity.
LiquidJavaScriptAJAX Cart APICSS Grid
product-card.liquidpick a variant →
Live component
Bag · 500 g
In stock
SKU · DEMO-0421
House Espresso Blend · Roast ’26
Sample catalogue · B2B only
Choose size
Quantity
2
Total
€25.60
volume-discount.jsDrag the slider →
Live component
Volume pricing
Staffelkorting
2% offat 10 kg
6 kg to 5% at 20 kg
Quantity
14 kg
Unit
€18.50 / kg
2%
5%
10%
Subtotal€259.00
Tier discount (2%)− €5.18
Total
€259.00€253.82
Live component · 02
Volume-discount engine with live tier snapping.
Tiered discounts (2 / 5 / 10 %) calculated client-side, announced with an animated badge and a strikethrough on the original price. Drag the slider — the tier snaps in on threshold.
JavaScriptLiquidMetafieldsFramer Motion
Live component · 03
Shipping rules that explain themselves.
Cart-weight sliders drive a cascade of rules — free-shipping thresholds, category surcharges, regional pricing — each evaluating in sequence with a visible pass / fail state. This is how the real checkout behaves; the calculation below is the same logic, slightly simplified.
JavaScriptShipMagicERP rulesReact
shipping-rules.jsDrag the weight slider →
Live component
Rules explorer
Shipping engine
Cart weight
18 kg
Standing order
Region
01Free shipping · weight ≥ 25 kgnot met
02Standing order · weight ≥ 10 kg€0.00
03Regional courier · Randstadskipped
04Regional courier · Noord-Brabantskipped
05International · outside NLskipped
Shipping cost
€0.00
Rule 02 applied — standing-order threshold met
Applied at checkout
Integration · 04
An integration layer that keeps two systems honest.
A typed Node/TypeScript layer to sync products, inventory and orders between the store and the back-office ERP — built with idempotency, rate-limit handling and dry-run safety, so the catalogue never drifts and stock numbers don't lie.
integration-layer.ts
productsinventoryorders
Also shipped
Eight more surfaces, same codebase.
04
Cart page redesign
Free-shipping progress bar, live savings summary, streamlined checkout.
Customers in certain regions hidden from restricted products via customer tags.
09
B2B email engineering
Gmail-compatible table layouts, responsive without media queries.
10
Custom font delivery
TTF assets on CDN with preload chain, resolved CORS on modern themes.
11
Dual-language architecture
Customer UI in Dutch, codebase in English.
Personal product · Live on the Shopify App Store
Ralice.
B2B wholesale catalogs for Shopify. Solo, from architecture to the App Store.
Tag a customer “wholesale” or “vip” and their rates apply at checkout automatically, enforced by a Rust Shopify Function with no draft orders. Unlimited customer catalogs with per-variant overrides, percentages and volume tiers, plus a Quick Order Form, reorder from history and saved order templates. The B2B analytics (at-risk accounts, reorder timing, cohort retention, CLV) are hand-rolled SVG, no chart library.