On a platform I've worked on extensively, people could personalize a product on a flat canvas, or configure it in 3D. Never both at once. One side was built for artwork, pricing, production limits. The other for variants, materials, real-time behavior. The real opportunity wasn't fixing either side. It was asking if they could become one system.

This prototype chased that question outside the limits of the live platform, built through AI-assisted development with Claude Code, which made it possible to dig deeper into interaction logic than a static design tool ever would. The direction came from a structured analysis grounded in real operational context:

Builder — interface overview Try It Yourself View Live Demo

The Friction

Three patterns emerged consistently across all methods. Each pointed to a different dimension of the same underlying problem.

Structural Gap

The platform could not do it all

UV mapping, 2D canvas, and shaders all required leaving the platform: a structural gap.

Orientation

No map through the process

Attributes, canvas layers, 3D stage: many disconnected contexts users had to map in their heads.

Feedback Loop

Errors visible only at the end

Lighting, camera setup, and configuration logic were only verifiable in the final preview.

Running across all three was a deeper tension: a Canvas is not just an editable surface, it can also be mapped onto a 3D object. Personalization, visualization, and production intent needed to stay aligned inside the same logic, but the platform kept them separate.

A prototype should not answer questions. It should make better questions possible.

Three Roles, Two Layers

Three roles kept surfacing: graphic designers placing and editing artwork, 3D tech artists handling material mappings and real-time behavior, and PMs or merchants managing pricing and option structure without needing production depth.

They were not using the product at the same depth, so asking them to operate inside one flat interface created unnecessary friction. This led to a two-level structure.

Layer 01

Dashboard

A simpler environment for merchants and project owners to prepare project settings and shape the project before deeper production work begins. Its role was to absorb higher-level decisions that do not require technical depth.

Layer 02

Builder

The operational environment for designers and 3D technical profiles, where assets, Canvas mappings, scene logic, frontend options, and behaviors could be authored in detail.

Dashboard and Builder — two-level interface structure

Design System

A large switcher at the top of the interface defines the working context of the platform. It allows users to move between Design and 3D Stage, with additional switches for Studio and Live. This makes the product legible as a multi-context architecture rather than a single editor forced to contain everything at once.

From there, the builder is organized around a few persistent interface areas. The system relies on a few patterns reused consistently across contexts, most visible in the outliner, which changes shape but never changes logic between 2D, 3D, and option views.

Builder interface — design system in context

The outliner exists in different forms depending on context: a 2D outliner for Canvas and design layers, a 3D outliner for scene hierarchy, and an option set outliner dedicated to the controls that later become frontend UI elements.

Each maintains the same interaction model while exposing context-relevant structure. Switching between them is frictionless because the underlying pattern stays consistent.

The viewport supports 2D, 3D, and split modes, allowing users to work on surfaces, objects, and their relationships without leaving the same environment.

The split mode is particularly useful for maintaining alignment between Canvas layout and 3D placement during configuration. Two views, one authoring context.

The inspector is contextual. It changes according to what is selected, so complexity is revealed progressively rather than all at once.

This prevents overload while still making every available parameter accessible when needed. The same component behaves differently depending on whether a 2D element, a 3D object, or a configuration option is active.

The asset library acts as a centralized repository for all elements in the system. It is not just storage, but a control point from which assets can be reviewed, traced, replaced, and kept consistent across the project.

Any reference, whether a material, an animation, or a Canvas layer, could be opened as a slot: traced to the library, replaced from a dropdown, or updated by drag and drop. The same gesture worked everywhere it applied, so replacements and updates propagated without manual re-linking.

Configuration Logic

A key part of the exploration was clarifying how configuration should be authored. Both options and 3D objects were structured around a double level inside the inspector.

That distinction was important because it separated static definition from reactive behavior, making the authoring model clearer and more scalable.

Edit

Edit panel — item definition and setup

What an item is, and how it's set up: transformations, pricing logic, the Canvas sides it's tied to.

Events

Events panel — trigger, condition, action model

What an item does: hiding a component, updating a price, triggering a Canvas change, all through the same trigger, condition, action model, never hardcoded rules.

Two AI Layers

The exploration also introduced two distinct AI layers. Together, they framed AI as both an operational and a creative layer inside the product, each with a distinct scope and a distinct place in the interface.

Operational

AI Assistant

Designed to operate across the platform, it contextualizes assistance relative to what the user is currently doing.

Creative

AI Studio

A dedicated context for creating and editing 2D and 3D assets through a node-based AI system.

Why It Mattered

The prototype did exactly what this kind of work should do: it turned a vague sense of friction into specific, actionable decisions.

Product

Clearer Product Vision

Distance from the as-is platform made structural friction visible: where contexts needed separation, where configuration logic needed coherence, where the product could become more consistent.

Team

Shared Language

Scattered observations became a shared vocabulary for talking about roles, contexts, authoring logic, and AI integration as parts of a system rather than isolated features.

Roadmap

Individual Features, Prioritized

Rather than landing as a single monolithic pitch, the exploration broke down into individual features, each specific enough to be picked up, discussed, and prioritized on its own within the actual product roadmap.

That's the real value of building past the point a static design tool allows: the platform's friction could be named precisely enough to act on. What came out of it wasn't a concept to file away, but a set of concrete features now being carried forward directly with product and engineering.

Builder — closing visual