Structra Overview
Structra is a Tauri desktop app for visually building structured data and YAML workflows — design a document once in a visual editor, and export it live as JSON, YAML, TOML, XML, or JSON Schema, without hand-writing the same structure five times in five formats. Internally, its own architecture doc refers to it by the working name "Reverse Guifier" — a UI compiler that goes from visual builder to structured output, the reverse direction of a typical low-code GUI-from-schema tool.
Who it's for
An operator who needs to author structured config/data by hand often enough that a visual builder with live multi-format export is worth having — plus a separate but related workflow: modeling YAML pipelines (Structra YAML, GitHub Actions, GitLab CI) as a dependency graph rather than raw YAML.
The core concept
graph TD
A[Visual Builder UI] --> B[Internal Document Model]
B --> C[Transform Engine - Rust]
C --> D1[JSON]
C --> D2[YAML]
C --> D3[TOML]
C --> D4[XML]
B --> E[Workflow Engine]
E --> F[YAML Pipeline Output]
B --> G[Schema Generator]
G --> H[JSON Schema]
The frontend (React + Vite + TypeScript + Tailwind + Zustand) owns the visual editing surface and the React Flow-based workflow graph; the Rust/Tauri backend owns transformation and validation (generate_output, validate_document exposed over Tauri IPC), so format-correctness logic lives in Rust rather than JavaScript. Projects save/load as .sdb.json, and JSON/JSON Schema can be imported and round-tripped back through the visual editor rather than only exported one-way.
Why this shape
Splitting UI (React) from transformation/validation (Rust) means the actual format-conversion logic — the part that has to be correct — runs compiled and typed, while the editing experience gets React's UI ecosystem. The YAML workflow workbench (with exports specifically targeting GitHub Actions and GitLab CI, not just generic YAML) suggests a secondary, concrete use case: authoring CI pipelines visually as a dependency graph instead of writing raw .yml by hand.