Bilingual 3D-printing e-commerce site — live catalog, a print calculator with instant pricing, and a free model converter, live at drukit.store.
Role
Stack
The hard part
A 3D-printing shop needs to quote a price for almost anything a customer might upload, not just a fixed catalog — while staying fast on Workers' runtime (no native Node addons), keeping large STL uploads off the UI thread, and giving a non-technical owner a real admin panel to run pricing and orders without touching code.
A solo-built e-commerce platform for a real 3D-printing business: a browse-and-buy catalog, custom print orders priced live from an STL upload or manual dimensions, accounts and order history, a staff admin panel for products/orders/pricing, and a free client-side 3D model format converter — all running on Cloudflare Workers with a D1 database, wrapped in an animated React Three Fiber hero and motion-driven UI.
Approach
- STL upload (parsed in a Web Worker, volume via signed-tetrahedron sum) or manual dimensions → live price from DB-backed pricing coefficients, tunable at /admin/pricing
- Custom JWT auth (httpOnly cookie, PBKDF2 hashing) instead of Auth.js — Workers can't run native crypto addons
- Catalog + cart (Zustand, persisted) + order history, deployed on Cloudflare Workers with D1 for all data via Drizzle ORM
- Role-gated admin panel for products, orders, and pricing settings
- Free client-side 3D model converter — 7 formats in/out via Three.js loaders/exporters, no server round-trip
- React Three Fiber hero (animated printer + writer-arm) and Framer Motion throughout, bilingual UI (uk/en)
Verification note
Live in production at drukit.store (Cloudflare Workers + D1 + R2) as of August 2026. Checkout currently supports cash-on-delivery only — LiqPay/Fondy/WayForPay/Stripe are wired as typed provider stubs pending real merchant credentials. No order-volume or revenue numbers are claimed.