1. Home
  2. 1: Introduction

The Architecture of a Rayven Application

How the core elements of a Rayven app work together to deliver a complete solution

Overview

A Rayven application brings together data, workflows, interfaces, and user access rules into a single working system.
The diagram below illustrates not just the main building blocks, but the sequence of selections and relationships that control what appears for each user when they log in.


How the pieces come together

Workflows and Data

  • All application logic is built in workflows.

  • Workflows can read/write from structured tables and automatically store all unstructured/time-series data in Cassandra.

  • When you add a Frontend node to a workflow, it creates something that can be visualised as a widget in the front end.

  • Workflows can update Primary and Secondary Tables, enabling you to store and retrieve structured data dynamically while processing live workflow data and driving real-time front end visuals.

Interfaces and Frontend Nodes

  • Interfaces are the pages of your application.

  • Inside an Interface, you select which Frontend nodes (from any workflow in the application) will appear as widgets.

  • This step is crucial: even if a Frontend node exists in a workflow, it won’t appear for anyone until it’s selected on an Interface.

Filters and Label Values

  • Filters are powered by Labels in the Primary Table.

  • A Label Value, if selected, acts as a rule that limits the data visible to the group’s users. By default, no filtering is applied, so all data is visible — meaning labels and filters are entirely optional unless your use case requires them.

  • These filters apply automatically to widgets on all assigned interfaces — meaning the workflow logic doesn’t need to be duplicated to serve different audiences.

User Groups and Interface Access

  • A User Group is more than a list of users — it’s the link between users, interfaces, and data filters.

  • For each User Group you:

    • Select which Interfaces they can see.

    • Define Filters by choosing Label Values from the Primary Table.

      • These filters determine which rows of Primary Table data (and any related data) the group has access to.

  • In a Shared User Group, all users see the same set of interfaces, the same widget layouts, and the same data. In a Private User Group, users still share the same interfaces and layouts, but each can see different data based on their individually assigned label value filters.


What the User Sees

  • When an Application User logs in:

    1. The system identifies their User Group.

    2. It loads the Interfaces assigned to that group.

    3. It applies the Label Value filters to all data feeding into widgets on those interfaces.

  • The result: even if two users share the same interface layout, the data in each widget can be completely different depending on the user group filters.


Why this structure works

  • Separation of concerns – Workflows handle processing, Interfaces handle layout, User Groups handle access and filtering.

  • Reusability – The same workflow and interface can serve multiple audiences with different data filters.

  • Scalability – You can add new interfaces or workflows without changing existing group structures.

  • Security – Label-based filtering enforces data visibility at the platform level, not just in the front end.


Summary

What a user sees in the Rayven front end is determined by a chain of configurations:

  1. Frontend nodes are created in workflows.

  2. Those nodes are selected in interfaces.

  3. Interfaces are assigned to user groups.

  4. User groups apply filters via label values from the Primary Table.

  5. The combination of these settings produces a personalised, secure, and relevant front end for each user.


FAQs

What is the minimum needed to create a working Rayven application?
At least one Primary Table, one workflow, and one interface. You also need at least one Application User to access it.

Can I have multiple workflows in one application?
Yes. An app can contain any number of workflows.

Do I have to use interfaces?
No. Rayven can be used for backend or workflow-only applications, where the primary purpose is data processing, integration, or automation without a front end.

How is data linked across the app?
Through UIDs in the Primary Table. Workflow data, secondary table records, and interface widgets all connect back to these unique identifiers.

Can different users see different data?
Yes — but it depends on the User Group type. In a Shared User Group, all users see the same data. In a Private User Group, each user can see different data based on their individually assigned label value filters.