1. Home
  2. 1: Introduction

Core Concepts

A foundational overview of the Rayven platform's architecture, elements, and principles

Overview

Rayven is a full-stack, low-code application development platform designed to help you build, deploy, and manage flexible, data-driven SaaS applications. Understanding the core concepts of the Rayven platform is essential before you start building. These concepts explain how data, logic, users, and interfaces come together to form a fully functional application. This page serves as your foundational reference point for everything else in the knowledge base.


What Makes Up a Rayven Application?

A Rayven Application is a self-contained solution that can be deployed to end users. It is built using four primary components:

1. Tables

Tables are used to store structured data. There are two types:

  • Primary Tables: These hold core records (e.g., customers, assets) and contain unique identifiers (UIDs). They act as anchors for storing and grouping data.

  • Secondary Tables: These extend Primary Tables by storing related or supporting data, such as logs or lookup values. Secondary Tables can be linked to Primary Tables via UIDs or label values.

2. Workflows

Workflows are the logic engines of your application. Created using Rayven’s drag-and-drop Workflow Builder, they are where:

  • Data is ingested and transformed.

  • Logic and automations are implemented using node-based or JavaScript logic.

  • AI functionality, including Generative AI, is incorporated.

  • Interfaces are powered through frontend nodes.

3. Interfaces

Interfaces define what the end user (Application User) sees and interacts with. These are made up of:

  • Widgets generated by frontend workflow nodes.

  • Top-Level Interfaces: Appear in the application menu.

  • Drilldown Interfaces: Accessed via interaction with widgets.

  • Layout and configuration are defined by admin users on the frontend.

4. Users

There are two user types:

  • Workspace Users: People who have access to the backend Workspace (the Rayven development environment).

  • Application Users: End users who interact with the application interface.

Users are assigned to User Groups, which control:

  • Which interfaces they can see.

  • What data they have access to (using label-based filtering).


The Workspace

The Workspace is your development environment. This is where Workspace Users:

  • Create and configure Tables, Workflows, Interfaces, and Users.

  • Manage access and whitelabelling.

  • View service usage and system logs.

All application configuration is done here. Once an application is built and users are added, they access it via a different interface (usually hosted at https://app.rayven.io or a white-labelled equivalent).


Structured vs Unstructured Data

Rayven supports a dual-storage approach:

  • Structured Data: Stored in MySQL-based Tables (Primary and Secondary), explicitly managed by Workspace Users.

  • Unstructured Workflow Data: Stored automatically in Cassandra. Every data point is tied to a UID, node ID, and timestamp—ideal for time-series or real-time applications.

This structure gives your application a "third dimension" of data: historical, contextual, and adaptable.


Labels & UIDs

  • UIDs are unique identifiers in the Primary Table. They’re critical for linking and storing data.

  • Labels are used to group and filter data. For example, you could use a label like Region = Asia Pacific to filter data views for specific users.

Labels play a key role in:

  • Determining which widgets show on an interface.

  • Controlling data access for Application Users.

  • Driving workflow logic and triggers.


Nodes and Workflows

Workflows are built using nodes, and each node performs a specific function:

  • Connector Nodes: Ingest or send data (e.g., APIs, FTP).

  • Logic Nodes: Perform operations, transformations, and calculations.

  • Frontend Nodes: Create widgets for interface display.

  • AI Nodes: Integrate AI services like Generative AI.

  • JavaScript & UI Code Nodes: Embed custom logic and full interface experiences.

Workflows can be run:

  • Once per trigger.

  • Iteratively for every UID.

  • For subsets of UIDs based on label values.

This enables high degrees of automation, customisation, and data processing.


Real-time, Time Series & IoT Capabilities

Rayven includes built-in capabilities for real-time and time series applications, making it ideal for IoT, monitoring, and event-driven solutions. All workflow data is automatically stored in a Cassandra time-series database, indexed by UID, node ID, and timestamp—enabling efficient processing of high-frequency or continuously changing data.

Primary Table rows can represent devices, assets, or sources, and workflows can run iteratively for each UID or group of UIDs using labels. Frontend widgets such as charts, gauges, and data tables can be configured to auto-refresh at intervals, and specialised Analytics Interfaces allow users to filter and explore historical data using built-in date selectors.

Rayven is well suited to these use cases because it includes:

  • Time-series database optimised for large volumes of event data

  • Iterative workflows that process data per UID or label group

  • Automatic real-time processing on data receipt

  • Live-updating widgets that refresh without user input

  • Analytics Interfaces with time range filters for historical exploration

  • Table-driven modelling of devices, sensors, or assets with structured identifiers

These features make Rayven a strong fit for any application requiring continuous monitoring, sensor integration, or time-based analysis.


Bringing It All Together

Each Rayven Application is composed of:

  • Tables for storing structured data.

  • Workflows for logic and automation.

  • Interfaces for presenting and interacting with data.

  • User configurations for tailored access control.

This modular design allows applications to range from simple forms to complex, multi-interface systems integrated with third-party data sources and AI.


Summary

Rayven’s core concepts provide a framework for building tailored, powerful applications using a combination of structured data, flexible logic, interactive interfaces, and role-based access control. Every application you build in Rayven follows this pattern, but the flexibility of the toolkit allows you to shape it around your specific business needs.


FAQs

What’s the difference between a Rayven Application and a Rayven Account?
A Rayven Account is the umbrella under which one or more Applications are built. Each Application is a standalone solution with its own users, data, and configuration.

Do I need to use all elements (Tables, Workflows, Interfaces) in every app?
Yes, at least one of each is required to create a usable application.

Can an Application User be part of more than one application?
Yes. Users can be given access to multiple applications and user groups within a Rayven Account.

Where is data stored?
Structured data lives in MySQL-based Tables. Unstructured data flowing through workflows is stored in a Cassandra database, indexed by UID, node, and timestamp.

What is the role of labels in data filtering?
Labels allow you to control data visibility and grouping. They’re essential for user-based data access and for configuring how widgets and workflows behave.