Skip to content

3Drukit

SHIPPED2026

Bilingual 3D-printing e-commerce site — live catalog, a print calculator with instant pricing, and a free model converter, live at drukit.store.

Role

Product ArchitectureFull-Stack Development3D/WebGLE-commerce & Pricing LogicMotion Design

Stack

Next.jsCloudflare WorkersReact Three FiberDrizzle ORMD1Framer Motion

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.