Model the backend as metadata
Define data, relationships, access, files, flows, realtime behavior, and admin UI from one inspectable metadata model.
Model data, APIs, permissions, hooks, workflows, realtime behavior, and admin tools as metadata that runs. Update everyday backend behavior without routine server restarts.
docker run -d --name enfyra -p 3000:3000 -v enfyra-data:/app/data enfyra/enfyra:latestRun the open-source runtime locally when you want full control
Enfyra Cloud
Join the launch list. Early subscribers may receive a free Starter grant when the first Cloud slots open.
Live metadata
Enfyra turns schema, routes, permissions, hooks, handlers, flows, realtime behavior, and admin UI into metadata that drives the running backend.
Define data, relationships, access, files, flows, realtime behavior, and admin UI from one inspectable metadata model.
Generated REST APIs follow the model as it changes, with permissions and query controls wired into the live runtime.
Add custom routes, pre-hooks, handlers, post-hooks, flows, websocket logic, and extension UI when product behavior goes beyond CRUD.
Apply everyday backend changes without restarting the server, while keeping the option to run Enfyra Cloud or self-hosted infrastructure.
No-downtime runtime
Start with generated APIs, then add auth, permissions, files, realtime, workflows, and extensions as runtime capabilities that reload without routine server restarts.
runtime reload
Tables, routes, GraphQL schema, guards, permissions, flows, packages, and websocket definitions reload through the running cluster. The app keeps serving while metadata changes land.
Socket gateways, rooms, user targeting, and broadcasts run through the same sandbox and metadata runtime. Websocket handlers reload without restarting the app.
const { roomId } = @BODY;
if (!roomId) @THROW400("roomId is required");
@SOCKET.join(`orders_${roomId}`);
@SOCKET.emitToCurrentRoom(`orders_${roomId}`, "orderLive", {
userId: @USER.id
});
return { joined: roomId };Create SQL or Mongo-backed data models with relations, validation, generated forms, and metadata access rules.
Generated REST routes support filters, fields, sort, pagination, permissions, and route-level publishing.
JWT auth, roles, route permissions, metadata guards, field permissions, and column rules work together.
Custom logic and guided test runs give teams a controlled escape hatch when generated behavior is not enough.
Files, realtime, cache, workflows, and runtime visibility live beside the API and admin experience.
Generated admin UI can be extended with custom Vue pages, widgets, menus, and header actions.
Deep customization
Enfyra keeps generated APIs, access rules, custom logic, realtime behavior, admin tools, and deployment choices connected so product-specific behavior does not become scattered glue code.
collections, forms, permissions, docs, and runtime tools
generated REST, auth, files, and optional GraphQL
hooks, handlers, workflows, and extensions
managed Enfyra Cloud projects, or your own database, storage, cache, and deployment environment
Who it is for
Internal tools where schema, API, forms, and permissions should evolve together.
Teams that want to start on a managed Cloud project without giving up the option to self-host later.
Projects that need generated REST now, with optional GraphQL per table when it fits.
Workflow-heavy business systems that need files, realtime, and admin extensions.
Start building
Create an isolated Enfyra project, inspect the generated API, then add the hooks, flows, realtime behavior, and admin tools your product needs without routine restarts.
npx @enfyra/create my-enfyra