Case study

3DCraft — A Storefront That Prints Itself, on a Trilingual SEO + GEO Engine

A trilingual storefront for a large-format 3D-printing service in Tallinn: a scroll-printed WebGL hero over a keyword-localized SEO + GEO engine, with the whole operational pipeline running on ERPFlow.ai.

Client
3DCraft
Industry
Manufacturing
Timeline
2 weeks
Year
2026
Stack
Next.jsTypeScriptThree.js / React Three FiberGSAPLenisnext-intlERPFlow.ai
3DCraft — A Storefront That Prints Itself, on a Trilingual SEO + GEO Engine

3DCraft prints, models and scans in Tallinn — large-format FDM up to 800 × 800 × 1000 mm, single-piece capacity most local shops can't offer. We built and launched their trilingual platform in 2025, two months from kickoff to live. In July 2026 we shipped v2: a storefront whose hero literally 3D-prints itself as you scroll, on a rebuilt local SEO and GEO engine designed to make 3DCraft the answer in three languages — in Google, and in the AI assistants people increasingly ask instead. Behind the storefront, the business itself runs on ERPFlow.ai — every lead, customer, quote, order and invoice in one system. The surface performs the product; the engine underneath makes sure the performance gets found.

The opportunity

3DCraft sells physical proof. Prototypes, spare parts, short-run production and finished one-offs come off machines that handle single pieces up to 800 × 800 × 1000 millimeters, backed by 3D modeling and scanning for customers who arrive with an idea instead of a file. The platform we launched in 2025 — trilingual, fast, live in two months — did its job: it put the shop on the map and started the inquiry flow.

By 2026, the ground under it had moved. Discovery is shifting from a page of blue links to a single AI-generated answer, and the local market has grown crowded. Nobody searching for a print service types a brand name — they type "3d printimine tallinnas" and take whoever answers best, in whichever language they think in. Meanwhile the shop's strongest sales asset, its portfolio of real prints, hung off a third-party Instagram feed that search engines can't read. A business whose whole product is visible craft needed a site that performs the process — and needed to become the quotable answer wherever the question gets asked.

What we built

A storefront that prints itself

The hero doesn't show a 3D print — it performs one. A fluted vessel, modeled procedurally in Three.js from a lathe-turned amphora profile (no downloaded asset), rises layer by layer as you scroll the page. Custom shader code injected into the material draws the horizontal layer lines of a real FDM print and discards everything above the current build height, so the part genuinely prints upward; an emissive band in the brand yellow glows at the active layer the way a live print head would, and a thin scan ring tracks it up the part. The vessel turns on a slow turntable and leans toward your pointer. As much engineering went into restraint as into spectacle: a WebGL probe renders nothing on unsupported devices, rendering pauses when the tab is hidden, and reduced-motion visitors get the finished part instead of the show. The canvas is decorative by contract — aria-hidden, pointer-transparent — and every word of copy stays server-rendered HTML that crawlers read in full.

A machine-room design language

Around the scene sits a design system that dresses the site as the workshop itself: machine-shop grays, near-black ink and one brand yellow; Golos Text headlines over an IBM Plex Mono body that reads like a job ticket. Section labels are literally set as tickets — [ 01 — TEENUSED ] — with corner ticks and blueprint dot grids. Scroll into the process section and a stack of printed slices, a CSS-3D echo of the sliced-cube logo, pins to the screen, tilts and pulls apart as each production step lights up in sequence — desktop only, static on mobile. The motion layer runs on GSAP with Lenis smooth scrolling wired straight into the animation ticker so nothing stutters: masked headline reveals that stay plain text in the server HTML, cursor-magnetic buttons, count-up numbers, a header that steps aside on the way down. The works carousel reserves its own height so the layout never shifts, and every animation on the site gates on prefers-reduced-motion.

Trilingual down to the slug

3DCraft sells in Estonian, English and Russian, and the architecture treats each as a native site rather than a translation. Estonian is authoritative and serves unprefixed from the bare domain; every route carries a keyword-localized slug per language — services is /teenused, /services and /uslugi, and the Tallinn landing page is /3d-printimine-tallinnas, /3d-printing-tallinn and /3d-pechat-tallinn. The URL itself is the search term in each language. Canonical URLs and the full hreflang map — x-default included — derive from a single routing source, so the router and the SEO layer can never drift apart. Titles and H1s target "Tallinn" and "Eesti" queries natively in every locale.

A local-SEO engine for one city

Local intent gets a dedicated Tallinn landing page in all three languages — workshop pickup, courier across the city, parcel machines across Estonia, real prices and real lead times. We retired the Instagram feed and replaced it with a local works gallery: eighteen photographs of real prints, renamed with Estonian keyword filenames, captioned in three languages, and wired into ImageGallery markup and the image sitemap — because a Meta feed is portfolio content search engines never see. The sitemap carries genuine last-modified dates and hreflang alternates for every route, and the copy that sells — prices, capabilities, delivery terms — is server-rendered, never injected by JavaScript. Around it sits a content library that answers the whole buying question: sixty articles, twenty per language and cross-linked by translation key, including a 2026 price roundup and a step-by-step ordering guide. And a live calculator turns material, weight and print time into an instant estimate from the shop's real cost model.

The GEO layer — built to be the answer

When someone asks ChatGPT or Perplexity where to 3D-print an 800-millimeter part in Tallinn, the answer depends on what the model can quote — so we wrote the quotes. Every page ships a server-rendered schema.org graph anchored by a dual-typed Organization + LocalBusiness node: postal address, geo-coordinates, service area, price range, and a knowsAbout entity list naming 3D-printing terms in three languages down to individual material codes. FAQ sections on every route double as FAQPage markup, answers visible in the HTML. A hand-authored llms.txt hands AI crawlers the key facts in extractable form — the 800 × 800 × 1000 mm maximum build size, 11 material families in 24 colors, 3–7 day lead times with a 24–48 hour rush option, delivery methods, typical price ranges — and llms-full.txt goes further, inlining the complete materials catalogue and the full text of every article. The robots rules explicitly welcome the crawlers that matter now: GPTBot, Google-Extended, Bing's Copilot, PerplexityBot, ClaudeBot, Meta-ExternalAgent, Applebot and YandexBot.

Operations on ERPFlow.ai

A storefront's job ends the moment an inquiry lands — and that's where the second half of the partnership picks up. 3DCraft runs its entire operational pipeline — leads, customers, quotes, orders, invoicing — on ERPFlow.ai, the multi-tenant SaaS ERP that Onpolar builds and operates. An inquiry becomes a lead, a lead a customer, a quote an order, an order a paid invoice — one system of record instead of a spreadsheet, an inbox and three disconnected tools. We've told ERPFlow's own story separately — API-first on Go and PostgreSQL — but for 3DCraft the point is simpler: the partner who built the storefront that wins the customer also operates the ERP that carries every job from first contact to payment.

The result

What's live today is the platform the craft deserved. A storefront that performs the product instead of describing it. Three native-language sites aimed at one city's search intent. A structured-data and llms.txt substrate built to be quoted by the AI assistants that increasingly decide what gets recommended. And an operational backbone on ERPFlow.ai that carries every inquiry through to invoice. Two months to first launch in 2025, a two-week full rebuild in 2026, the same team on both — because a partnership that ships is worth more than a handoff that ends.