Overview:
We’ll build a simple Chatbot flow builder using React and try to make the code extensible to easily add new features.
A chatbot flow is built by connecting multiple messages together to decide the order of execution.
(double click on the images to enlarge)

#Note →
- Use https://reactflow.dev/ for the flow builder.
- You are free to use any other library on top of React Flow.
- You can use either of JavaScript or TypeScript for this Task
- Add comments to explain your code
Features:
-
Text Node
- Our flow builder currently supports only one type of message (i.e Text Message).
- There can be multiple Text Nodes in one flow.
- Nodes are added to the flow by dragging and dropping a Node from the Nodes Panel.
-
Nodes Panel
- This panel houses all kind of Nodes that our Flow Builder supports.
- Right now there is only Message Node, but we’d be adding more types of Nodes in the future so make this section extensible
-
Edge
- Connects two Nodes together
-
Source Handle
- Source of a connecting edge
- Can only have one edge originating from a source handle
-
Target Handle
- Target of a connecting edge
- Can have more than one edge connecting to a target handle
-
Settings Panel

- Settings Panel will replace the Nodes Panel when a Node is selected
- It has a text field to edit text of the selected Text Node
-
Save Button
-
Button to save the flow
-
Save button press will show an error if there are more than one Nodes and more than one Node has empty target handles

Submission
- Deploy a working version on a free hosting service like Heroku, Vercel, etc
- Host the code repo on Github and add hosting link from the above step to the readme file
- Please fill this form to submit the task
BiteSpeed - Frontend Task Submission