Case Study: 3D Version of React Flow by xyflow
The client needed a 3D flow-diagram library that could mirror the experience of React Flow by xyflow. The goal was to preserve the same UI patterns, accept the same data structure, and let teams move from 2D node graphs to immersive 3D flow diagrams without rethinking their existing setup.
A big part of the project was making the 3D library feel immediately recognizable to teams already using React Flow by xyflow. The API stayed intentionally close to the original, so the same mental model could carry over with minimal friction.
// React Flow by xyflow
<ReactFlow nodes={nodes} edges={edges} onNodesChange={onNodesChange}>
<Controls />
</ReactFlow>
// React Three Flow
<ReactThreeFlowCanvas
onNodesChange={onNodesChange}
enableControls
nodes={nodes}
edges={edges}
/>The canvas was not limited to nodes and edges alone. Because the library lived in a 3D rendering environment, I could place 3D objects alongside nodes in the same scene, which made it possible to mix diagram logic with richer spatial content inside a single workflow.
A key technical challenge was writing the edge logic that translated a traditional 2D flow structure into something that could be rendered clearly in 3D space. The system had to preserve source and target relationships while calculating paths that made the edges readable, spatially meaningful, and visually consistent inside a three-dimensional canvas.
npm
React
TypeScript
Next.js
Three.js
This project reflects my ability to take an existing developer workflow and reimagine it in a new medium without losing usability. By building a 3D equivalent of React Flow by xyflow that could accept the same data and interaction patterns, I delivered a solution that felt both innovative and immediately usable.
Check out the project:
Visit Wiizworks