How Prax Works
Prax is structured around a node-based execution engine that supports modular, composable workflows. Developers create flows, which are directed graphs composed of nodes. Each node performs a task and passes its result to the next node(s) in the chain.
Architecture Overview
Frontend: Built with React and TailwindCSS. Provides the drag-and-drop editor and chat interface for testing flows.
Backend: Built on Node.js and Express. Handles flow execution, state management, and API endpoints.
Database: Stores user data, flows, memory state, and environment configuration. Supports SQLite, Postgres, and external document stores.
Flow Engine: Executes node chains in order, manages input/output passing, handles errors and retries, and supports branching or parallelism.
API Layer: Exposes each flow as a REST endpoint. External applications can trigger flows via HTTP with custom payloads.
Flow Execution Modes
Interactive Mode: Test flows directly in the built-in chat interface
Programmatic Mode: Call flows via REST API
Trigger-based Mode (coming soon): Schedule flows or react to events like webhooks
Data Handling
Node outputs can be referenced by downstream nodes using variable substitution
Supports structured JSON inputs/outputs for complex transformations
Data can be logged, stored, or used in conditional branching logic
Last updated