What is Structr?
Structr is an open-source low-code platform that lets you build complete, data-driven web applications from a single integrated environment. It combines a graph database (Neo4j), a visual schema editor, automatic REST APIs, server-side scripting, a page rendering engine, and a built-in security system into one self-hosted platform.
Structr is developed by Structr GmbH in Germany and has been in active development for over 15 years. It is licensed as open source, runs on your own infrastructure, and gives you full control over your data and your application.
How It Works
Instead of assembling a stack of separate tools – a database, an ORM, a backend framework, an API layer, an auth library, a frontend framework, a migration tool – Structr provides all of these as one coherent system.

The Graph View: explore your application’s data as an interactive graph – nodes, relationships, and properties visualized in real time.
You define a data model using a visual schema editor. Types, properties, relationships, constraints – all modeled visually and stored as a graph. Structr enforces your schema at the database level, including type validation, uniqueness, required fields, and relationship cardinality.

The Schema Editor: define types, properties, and relationships visually. Changes take effect in milliseconds.
You get a REST API immediately. Every type in your schema is automatically exposed as a REST endpoint with full CRUD operations, filtering, sorting, and pagination. No routing configuration, no serialization code, no boilerplate. You can configure JSON views to control exactly which properties are exposed for each context.
You build pages visually. Structr includes a server-side page rendering engine with template expressions and repeaters for data binding, and event-action mappings that connect DOM events (clicks, form submissions) directly to backend operations like creating, updating, or deleting data.
You write business logic in JavaScript. When the visual tools aren’t enough, you write server-side JavaScript (running on GraalVM) or use StructrScript, a simpler expression language for template contexts. You can define methods on your types, create lifecycle callbacks that fire on data changes, schedule cron jobs, and call external services.
You automate workflows visually. The Flow Editor provides a node-based interface for building multi-step processes – data transformations, conditional branching, loops, and external service calls – without writing code.

The Flow Editor: design automated workflows with a visual, node-based interface.
Security is built in from the start. Users, groups, object-level permissions, visibility flags, OAuth 2.0, JWT, JWKS validation, two-factor authentication, and SSL are all part of the core platform. Every object in the system – from database records to individual page elements – has its own access control.
Schema changes are instant. Unlike traditional databases that require migration scripts and deployment cycles, Structr applies schema modifications in milliseconds while the system is running. The schema itself is stored as graph data, so modifying it is just another database operation. Read more about this in Core Concepts.
Why a Graph Database?
This is the architectural decision that sets Structr apart from virtually every other platform in its category.
Most development platforms and low-code tools store data in relational tables. Relationships between objects are modeled through foreign keys and reconstructed at query time through JOIN operations. This works, but it becomes increasingly expensive as the complexity of your data model grows – JOINs have multiplicative cost, and query performance degrades as more tables are involved.
Structr uses Neo4j, a graph database where relationships are first-class citizens stored as direct pointers between nodes. Traversing from one object to its related objects is a constant-time operation per hop, regardless of the total dataset size. Query performance scales linearly with the amount of data actually traversed, not with the total amount of data in the system.
In practice, this means:
- Complex, deeply connected data models perform well without careful denormalization or query optimization
- Permission structures that follow organizational hierarchies resolve efficiently
- Data that models real-world networks – supply chains, workflows, knowledge graphs, organizational structures – maps naturally to the storage layer
- There is no ORM impedance mismatch because your application objects map directly to graph nodes and relationships
Structr also supports Cypher, Neo4j’s graph query language, for advanced traversals and pattern matching directly in your business logic.
What You Can Build
Structr is a general-purpose application platform. Typical use cases include:
- Internal business applications (project management, asset tracking, CRM, ticketing)
- Data management platforms with complex access control requirements
- Customer portals and self-service applications
- Document and content management systems
- Applications integrating data from multiple external sources (via JDBC, MongoDB, MQTT, Kafka, Pulsar, REST)
- Workflow and process automation tools
- Prototypes and MVPs that need to evolve into production systems
Structr also supports multi-site hosting, file management with custom metadata, localization, mail templates, spatial indexing, and Server-Sent Events for real-time updates.

The Data Editor: browse, filter, and edit your application data directly.
How Structr Compares
vs. Traditional Development Stacks
Building a web application with React + Node.js + PostgreSQL, Django, Spring Boot, Rails, or a similar stack means selecting, integrating, and maintaining a long list of components. Each dependency has its own update cycle, its own breaking changes, and its own security surface.
Structr replaces this entire assembly. The data layer, the API, the UI engine, the auth system, and the scripting environment are all part of one platform. You don’t spend weeks wiring up infrastructure that every application needs. You write code only for what is genuinely unique to your domain – your business rules, your integrations, your specific workflows.
This also changes the maintenance picture fundamentally. Security patches, database management, API versioning, and schema evolution are handled by the platform, not by your team maintaining a bespoke stack.
vs. Other Low-Code Platforms
Platforms like OutSystems, Mendix, Retool, Appian, or Microsoft Power Apps share several characteristics that Structr deliberately avoids:
Vendor lock-in. Most low-code platforms are cloud-only SaaS products. Your application logic, your data model, and your data live on the vendor’s infrastructure, under the vendor’s terms. Structr is self-hosted. Your data sits in a standard Neo4j database that you can query, back up, and migrate independently of Structr.
Proprietary abstractions. Many platforms force you into visual-only development with no escape hatch, or use proprietary scripting languages. Structr lets you use standard JavaScript when visual tools reach their limits. Your developers don’t need to learn a vendor-specific language that has no value outside that platform.
Artificial tier restrictions. Low-code vendors commonly limit users, applications, API calls, or data volume based on pricing tier. Structr has no such limits.
Relational foundations. No other major low-code platform is built on a graph database. This gives Structr a genuine architectural advantage for complex, relationship-heavy data models that would require extensive workarounds on table-based platforms.
vs. Commercial Off-The-Shelf Software (COTS)
Buying a packaged product – a CRM, a project management tool, an ERP – solves the immediate problem, but at a cost: your processes must fit the vendor’s assumptions. When they don’t, you’re looking at expensive customization, plugin ecosystems, or workarounds that become technical debt.
Structr is a platform for building applications, not one specific application. You model exactly the data structures, workflows, and interfaces your organization needs. A single Structr instance can serve functions that would otherwise require multiple separate products – each sharing the same data model, security system, and infrastructure.
When requirements change (and they will), you modify the schema and business logic directly, in milliseconds, without waiting for a vendor’s product roadmap.
vs. Fully Custom Development
Custom development from scratch gives you maximum flexibility, but at maximum cost and timeline. A team needs months to build what Structr provides on day one: persistence, REST APIs, authentication, authorization, user management, file handling, and a rendering engine.
Structr provides this foundation immediately. Your team focuses on the domain-specific 20% instead of rebuilding the infrastructure 80% that every web application requires. The result is faster delivery and significantly lower ongoing maintenance.
vs. Closed-Source Platforms
With closed-source software, you accept dependencies you cannot inspect. You cannot audit the code for security issues, you cannot fix bugs yourself, you cannot adapt the platform to edge cases, and you have no recourse if the vendor changes direction.
Structr’s source code is publicly available. You can audit it, extend it, and contribute to it. For organizations in regulated industries or with strict security policies, this is not a philosophical preference – it’s a practical requirement for risk management.
vs. US-Owned Software Platforms
For organizations in Europe and other regions with strict data protection requirements, the legal jurisdiction of your software vendor is a technical consideration, not just a political one.
GDPR and data residency. Self-hosted Structr keeps your data exactly where you deploy it. No telemetry, no cloud dependencies routing data through third-party jurisdictions.
Legal frameworks. US-based vendors operate under US law, including the CLOUD Act, which can compel disclosure of data stored abroad. European organizations face ongoing legal uncertainty around transatlantic data transfers (Schrems II and its successors). A platform developed and maintained under German/EU law eliminates this category of risk entirely.
Geopolitical independence. US cloud services can be affected by sanctions, export restrictions, or policy changes that have nothing to do with your business. A self-hosted European platform removes this dependency.
Long-term alignment. Structr has been independently developed for 15+ years as a German Mittelstand company – without VC pressure to pivot, monetize aggressively, or exit. The incentives are aligned with long-term platform stability and customer success, not quarterly growth metrics.
For governments, public institutions, defense contractors, healthcare organizations, and enterprises in regulated industries, digital sovereignty is not a marketing buzzword. It’s an operational requirement, and Structr is built to satisfy it.
Technical Foundation
- Runtime: Java on GraalVM (supports Java, JavaScript, Python, Ruby, and other languages)
- Database: Neo4j (primary), with experimental support for Memgraph and Amazon Neptune
- Deployment: Docker, Debian packages, or manual installation on any Linux server
- APIs: Automatic REST, OpenAPI, Server-Sent Events, WebSocket
- Integrations: JDBC, MongoDB, MQTT, Kafka, Apache Pulsar, FTP, Email/IMAP, RSS
- Security: OAuth 2.0, JWT, JWKS, 2FA, object-level permissions, SSL/TLS
- Scripting: Server-side JavaScript (GraalVM), StructrScript, Cypher queries – see Built-in Functions
- Admin UI: Dashboard, Schema Editor, Pages Editor, Data Browser, Code Editor, Graph Visualization, Flow Editor
- Requirements: Java 25+, Neo4j 5.x or 2026.x
Get Started
The fastest way to explore Structr is a free sandbox – a cloud-hosted instance managed by the Structr team. No installation, no credit card, ready in minutes.
For local development, the Docker setup gets you running with a single docker compose up -d.
For production, Structr installs as a standard Debian package on any Linux server.
Try the Sandbox | Docker Setup | Documentation | Build Your First Application