SuperViz for React Flow

Enhance your node-based editors and interactive diagram with our SDK and API for easy integration of advanced collaboration features

Get started for freeSee live demo
A SuperViz for React Flow interface shows a collaborative flowchart with nodes like Products, Add Items, and Order. Participants Isabella, Sarah, and Arthur are on video calls, with their names and avatars pointing to their locations. A comments panel displays project discussions, and the SuperViz for React Flow logo is at the top

For developers, by developers

Our straightforward, feature-complete API and SDK integrates into your project with minimal code

1
import { createRoom, Room } from "@superviz/room";
2
import { Comments, HTMLPin, MousePointers } from '@superviz/collaboration'
3
import { v4 as generateId } from "uuid";
4
5
import { useCallback, useEffect, useRef } from "react";
6
import { Realtime, type Channel } from "@superviz/realtime/client";
7
import ReactFlowComponent from './reactflow-component'
8
9
const DEVELOPER_TOKEN = import.meta.env.VITE_SUPERVIZ_API_KEY;
10
11
const Children = () => {
12
const channelRef = useRef<Channel | null>(null);
13
const roomRef = useRef<Room | null>(null);
14
const initializedRef = useRef(false);
15
const commentsRef = useRef<Comments | null>(null);
16
const mousePointersRef = useRef<MousePointers | null>(null);
17
18
const initialize = useCallback(async () => {
19
if (initializedRef.current) return;
20
21
initializedRef.current = true;
22
23
try {
24
const participantId = generateId();
25
const realtime = new Realtime(DEVELOPER_TOKEN, {
26
participant: {
27
id: participantId
28
},
29
});
30
31
channelRef.current = await realtime.connect("react-flow-nodes-sync");
32
33
const room = await createRoom({
34
developerToken: DEVELOPER_TOKEN,
35
roomId: "ROOM_ID",
36
participant: {
37
id: participantId,
38
name: "Participant",
39
},
40
group: {
41
id: "GROUP_ID",
42
name: "GROUP_NAME",
43
},
44
});
45
46
mousePointersRef.current = new MousePointers('react-flow-container')
47
const pin = new HTMLPin('react-flow-container', {
48
dataAttributeName: "data-id",
49
dataAttributeValueFilters: [/.*null-(target|source)$/],
50
})
51
52
commentsRef.current = new Comments(pin)
53
54
room.addComponent(commentsRef.current)
55
room.addComponent(mousePointersRef.current)
56
57
roomRef.current = room;
58
} catch (error) {
59
console.error("Error initializing SuperViz Room:", error);
60
}
61
}, []);
62
63
useEffect(() => {
64
initialize();
65
66
return () => {
67
if(roomRef.current) {
68
roomRef.current.leave();
69
}
70
71
if(channelRef.current) {
72
channelRef.current.disconnect()
73
}
74
}
75
}, []);
76
77
78
return (
79
<div className="w-full h-full bg-gray-200 flex items-center justify-center flex-col">
80
<div id="react-flow-container" className="w-full h-full">
81
<ReactFlowComponent />
82
</div>
83
</div>
84
);
85
};
86
87
const App = () => {
88
return (
89
<ReactFlowProvider>
90
<Children />
91
</ReactFlowProvider>
92
)
93
}
94
95
export default App;
Read the docs
real-time_demo

Collaborative Node-based dashboard

Why Choose SuperViz

Create your first proof of concept in minutes! Our tutorials and demos are here to guide you.

Intuitive documentation and a free account - The ideal combination to run your first tests.

We love collaboration! Our Discord community is open for feedback and support.

Get access to a demos and samples to build even faster.

See the docs

Extend React Flow with a complete set of features

Two diagrams demonstrate the collaborative features of SuperViz for React Flow. The first diagram shows a decision flow with Modal and Page nodes, where a user named Anna is interacting with the Action node. The second diagram has a similar setup but with the user John interacting with the Modal node. Both diagrams highlight real-time collaboration with visible user avatars.

Real-time Co-Editing

Boost productivity by letting users collaboratively edit notes in real-time. Witness the magic of multiple users bringing ideas to life simultaneously.

Contextual Comments

Add threaded comments for direct feedback on your React Flow dashboard. Add pins to specific notes to reduce miscommunication and ensure faster resolutions

A flow diagram using SuperViz for React Flow shows the sequence from Login to Email to App, with user avatars indicating collaboration. John interacts with the App node, while another user is connected to Email. A comment panel on the right displays discussions about project scope, user testing, and launch plans
Three mouse pointers with names indicating real-time collaboration using SuperViz for React Flow. The names are Olivia, Paul, and Jane, each with a colored pointer next to their names

Real-time mouse pointers

Enhance user engagement. Real-time mouse pointers seamlessly adapt, providing intuitive interactions inside your React Flow based dashboard.

See who's online

Add avatars, badges, profile images to your application to quickly see who is online inside the same room.

Profile pictures of three users with colored circles around them indicating online status, followed by an icon showing plus four more users. This image represents the See who is online feature in SuperViz for React Flow
A flow diagram created using SuperViz for React Flow is displayed with a video huddle panel on the left showing live video feeds of three participants: Jane (host), Alisson, and Dave. The video panel features options for screen sharing, microphone control, and ending the call

Video Huddle SDK

Integrate high-quality video conferencing directly into your app, allowing users to connect face-to-face for clearer communication, co-working and productivity.

AI Transcripts API

Easily bring AI to your video conference meetings with our AI Transcript API . Obtain essential meeting insights, generate concise summaries, pinpoint crucial decisions and much more.

A video call interface using SuperViz for React Flow shows three participants: Jane, Paul, and Olivia. Jane is speaking and asking Olivia for an overview, as displayed in a chat bubble. Olivia's response is shown in another chat bubble. The interface includes options for muting and unmuting microphones

Why extend your React Flow Solution?

Enhanced Interactive Experience

Add real-time collaboration to flowcharts and diagrams, making decision-making dynamic and efficient.

Streamlined Communication

Discuss and annotate directly within the React Flow interface with instant visual feedback.

Real-Time Data Synchronization

Instant updates for all participants ensure everyone works with current data.

Improved Remote Collaboration

Hold productive virtual meetings with video and AI transcripts within React Flow.

Increased Engagement and Participation

Enable active participation from all team members for more diverse input and better outcomes.

Versatile Application Across Industries

Enhance workflow visualization for IT, logistics, and more with interactive collaboration.

Get started for free

What is SuperViz?

SuperViz offers developers a comprehensive SDK for building interactive, real-time features. Ideal for enhancing design and data workflows, it provides a collection of collaboration components that integrates into modern web-applications.

What is React Flow?

React Flow is a library for building node-based applications. These can be anything from simple static diagrams to data visualisations to complex visual editors. You can implement custom node types and edges and it comes with components like a minimap and viewport controls out of the box.