Build Interactive Decision Trees in Minutes
Dendros is a modern, graph-based workflow engine for creating dynamic decision trees, surveys, and branching narratives. Build intelligent, adaptive user experiences without writing code.
Try it out without installation!
- Drag-and-drop interface for building complex decision trees
- Real-time preview of your workflows
- Undo/Redo support for safe editing
- Multiple node types: Root, Question, Info, End
- Conditional branching based on user responses
- Dynamic workflows that adapt to user input
- Multiple choice paths for complex decision making
- Graph validation to prevent errors
- Traffic visualization with edge thickness based on volume
- Percentage and count labels on each path
- User journey tracking to see popular routes
- Graph view / List view toggle for different perspectives
- Next.js 16 with App Router for optimal performance
- React Flow for professional node-based editing
- Firebase for authentication and real-time data
- Tailwind CSS 4 for beautiful, responsive design
- Zustand for state management
- TypeScript for type safety
- Surveys & Forms: Create dynamic surveys that adapt based on responses
- Decision Guides: Help users make informed decisions with interactive guides
- Workflows: Design and visualize complex business processes
- Interactive Stories: Build branching narratives and choose-your-own-adventure experiences
- Node.js 18.17+ (LTS recommended)
- npm or yarn
- Firebase account
- Clone the repository
git clone https://github.com/SweetieBirdX/Dendros.git
cd Dendros- Install dependencies
npm install- Set up environment variables
Create a .env.local file in the root directory:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id- Run the development server
npm run dev- Open your browser Navigate to http://localhost:3000
- Sign up and access the dashboard
- Click "Create New Dendros"
- Give it a title and description
- Use the visual editor to add nodes
- Connect nodes with edges
- Configure questions and logic
- Preview in real-time
- Click "Publish" when ready
- Share the public link with users
- Track responses in real-time
- View analytics in Graph or List mode
- See traffic patterns and popular paths
- Export data for further analysis
Dendros uses a Directed Acyclic Graph (DAG) structure:
{
dendrosId: string;
ownerId: string;
config: {
title: string;
slug: string;
description?: string;
isPublished?: boolean;
allowAnonymous?: boolean;
};
graph: {
nodes: Node[]; // Questions, Info, Logic, Endings
edges: Edge[]; // Connections with conditions
};
createdAt?: Date;
updatedAt?: Date;
}- Root: Starting point of the flow
- Question: Multiple choice, checkbox, and text input questions
- Info: Information displays
- End: Terminal nodes
- Creator Access: Firebase Authentication required
- Ownership Validation: Server-side checks ensure only owners can edit
- Public Access: Anyone can access published Dendros via link
- Unpublish Feature: Pause submissions while preserving data
Modern, professional landing page with features showcase
Drag-and-drop interface with real-time preview
Traffic visualization with edge thickness and percentages
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Eyüp Efe
- Twitter: @eyupefekrkc
- GitHub: @SweetieBirdX
- Built with Next.js
- Powered by React Flow
- Hosted on Firebase
© 2026 Dendros. All rights reserved.