[data-reveal]{opacity:1!important;transform:none!important}
Now availableDashboard Management System

Build your product. Not another back office.

A code-first dashboard for your pages, data and operations. Write code, use the visual editor or ask the AI assistant: every change stays clean, readable code your developers can edit.

  • Code-first · Developer-owned
  • Open source · Apache 2.0
  • Vue-first · React welcome
  • Self-hostable

Inside the DMS

From a blank page to a working dashboard.

Compose a page, let the assistant make a change, then publish a version. Follow the full flow in the preview below.

Product preview
  1. 01

    Compose

    Arrange tables, forms and charts around your data.

  2. 02

    Refine

    Configure the details or work with the AI assistant.

  3. 03

    Publish

    Review changes, version your work and deploy.

Code-first · No exceptions

Three ways to build. One source of truth: code.

Code isn't an escape hatch. It's the foundation. Every change, whether written by you, made in the visual builder or requested in the AI chat, lives in clean, editable TypeScript.

  1. 01 · Editor

    Write it yourself

    Every page is a TypeScript class: tables, forms and charts declared in code. Read, edit and extend your dashboard with the editor, tests and workflow you already use.

  2. 02 · Visual builder

    Build it visually

    Click Edit this page and compose it in the builder. Each change rewrites the TypeScript source and is saved only if it compiles, ready for a developer to review.

  3. 03 · AI chat

    Ask the AI

    Describe a change in the chat. The assistant works on the same codebase, through the builder in safe mode, so you can review its work and take over in your editor.

src/pages/dashboard.ts TypeScript
@RegisterPage()
export class DashboardPage extends PageController("dashboard", {
  displayName: "Dashboard",
  category: pagesCategory,
}) {
  static kpis = Grid({ gap: "1rem" }).child("row",
    GridRow()
      .child("revenue", KpiCard({ title: "Revenue", fetchUrl: "/api/kpi/revenue" }))
      .child("orders", KpiCard({ title: "Orders", fetchUrl: "/api/kpi/orders" })),
  );
}
Open it in your editor. Review the diff. Make it yours.

Core · Ready on day one

The basics every admin needs. Already built.

Every admin platform ends up needing the same foundation: profiles, security, notifications, preferences, members, invitations and roles. Most teams rebuild it for each project. With DMS, it is all there from the first day, down to roles on every component.

app.antelopejs.io / settings

Settings

Your profile, security and preferences, plus the people and roles of this workspace.

Your account

ALOwner
Two-factor authenticationDisabled
Backup codesNot generated
LanguageEnglish

Recent account activity

Sign-in from Firefox on Windows 10127.0.0.1 · This device
Profile
Language & region
Security
Notifications
Appearance
Shortcuts

How DMS compares

Your dashboard. Your stack.

Payload, Sanity, NocoBase, Strapi and Appwrite each cover part of the job. DMS plugs into the backend you already run, and keeps everything, even what you build visually, as code your team owns.

AntelopeJS DMSCode-First: Dashboard Management SystemPayloadNext.js-native CMSSanityHosted content platformNocoBaseNo-code platformStrapiHeadless CMSAppwriteBackend as a service
PlatformHow each product is built and run.
Backend languageWhat the product itself is written in

✓ TypeScript

End to end, from the data model to the page.

✓ TypeScript

Node.js.

~ TypeScript + closed backend

Studio is TypeScript; the Content Lake is proprietary and hosted only.

✓ TypeScript

Node.js.

✓ TypeScript

Node.js.

PHP

The server itself. Functions run in a dozen other languages.

Backend frameworkWhere the product runs

✓ Plugs into your backend

  • AntelopeJS
  • AdonisJS

Adapters are open: extend one or build your own.

~ Inside Next.js only

Installs into a Next.js app; no Express, NestJS or AdonisJS adapter.

– Hosted backend only

The Content Lake can't run in your backend; only Studio embeds in a React app.

– Its own server

Runs as a separate Koa app, extended with NocoBase plugins.

– Its own server

Runs as a separate Koa app, not inside your existing backend.

– Its own platform

A separate PHP service you call through SDKs and REST.

Admin frontendWhat the admin UI is built with

✓ Vue today, open adapters

  • Vue
  • PlannedReact, TanStack, Astro, Angular

Open adapters: bring the framework your team already knows.

~ React only

  • React

React on the Next.js App Router; it can't be swapped.

~ React only

  • React

Studio extends with React components and plugins; it can't be swapped.

~ React only

  • React

The admin panel is built in React and can't be swapped.

~ React only

  • React

The admin panel is built in React and can't be swapped.

– Fixed console

Appwrite's own console. It can't be extended into your admin.

Dashboard builderCompose pages from tables, forms and charts

✓ Visually, in code or with AI

Three ways in, one result: pages your team owns as code.

~ Code-defined widgets

Widgets are React components in config; editors only arrange them.

– Code-configured widgets

Dashboard widgets come from code; visual editing only previews content.

✓ Visual builder

Blocks for tables, forms and charts, plus JS blocks.

– Not an admin builder

Homepage widgets are registered in code.

– Not an admin builder

The console is a data browser.

What the builder producesWhen you configure it visually

✓ Clean, readable code

Each page is a TypeScript class. Visual edits rewrite that source and are saved only if the code compiles.

– No visual builder

Everything is TypeScript config, written by hand.

– No visual builder

Schema is TypeScript; roles, members and tokens live in hosted settings.

– Database records

Models and pages are stored as metadata in the database.

~ JSON + database

Content types become schema.json files; admin layouts are stored in the database.

~ Database + JSON export

Console changes are stored in the database; the CLI can pull them into a JSON config.

Version controlDiff, review, roll back

✓ Native: it's code

Every change goes through Git like the rest of your codebase.

✓ Native: it's code

Schema and admin config are TypeScript you commit.

✓ Git config

Schema and Studio config in Git; webhooks and Functions as code.

– Not Git-based

Backups are free; migrations and version control start at the Professional edition.

~ Models only

Admin layouts stay in the database.

~ Through the CLI

Pull and push a JSON config file.

Roles & permissionsHow fine access can get

✓ Down to each component

Every block, button and action on every page carries its own permission.

~ Collection, field, document

Access functions in code; no roles UI, no per-block rules.

~ Custom roles: Enterprise

Fixed roles below Enterprise; nothing per field or per Studio page.

~ Menu, action, field, row

Per page in the menu, not per block on the page.

~ Content type, action, field

No per-page or per-block rules in the admin.

~ Table, row, file

Per resource and action; no field-level rules.

Audit trailWho changed what, and when

✓ Included

Every administrative change is logged in the core.

~ Version history only

Versions record who changed a document; no dedicated audit log.

~ Audit log: Enterprise

Document history kept 3 to 365 days depending on the plan.

~ Enterprise only

Audit logs come with the paid Enterprise edition.

~ Enterprise only

Audit logs come with the paid Enterprise plan.

~ Included, short retention

1 hour on Free, 7 days on Pro.

LicenseWhat you're allowed to do with it

✓ Apache 2.0

No extra terms.

MIT

Enterprise adds SSO, a visual editor, A/B testing and AI.

MIT Studio, SaaS backend

The Content Lake is proprietary; Growth is $15 per seat per month.

Apache 2.0 + extra terms

Branding must stay; no reselling as a no-code or AI platform.

MIT

Enterprise features under a proprietary license.

BSD-3-Clause

Permissive; no paid self-hosted edition.

Official modulesReady-made modules from the AntelopeJS team, installed from the CLI.
SaaSRun your product as a SaaS

✓ A complete SaaS platform

Self-service sign-up, Stripe plans, invoices and customer segments. Suspend, reactivate or upgrade any workspace.

~ Tenant plugin

Official multi-tenant plugin; Stripe sync but no plans or billing UI.

– Not built in

Projects and datasets only; no tenant plans or billing.

~ Enterprise only

Multi-app and multi-space; no plans or billing.

– Not built in

No native tenants, plans or billing in the docs.

~ Teams as tenants

No plans or billing.

APIRoutes, request logs, traffic

✓ Routes, logs and traffic

Every route, its request logs and traffic statistics, with a slow-request threshold, right inside your admin.

~ Generated APIs

Auto REST, GraphQL and Local API; no request logs or traffic stats.

~ GROQ and GraphQL

Content APIs with downloadable request logs; not a catalog of your routes.

~ Docs and logs

Swagger docs and request logs; traffic metrics need Enterprise.

~ Metrics on Cloud only

Latency and logs on Strapi Cloud; the docs plugin is unmaintained on v5.

~ Platform metrics

Usage charts for Appwrite's own API, not a catalog of your routes.

AI assistantBuilding the admin itself

✓ Two modes, your call

  • Safe mode
  • Vibe mode

Claude Code or Codex inside the dashboard: it inspects your modules and edits the project. Hover a mode to compare.

– Content AI only

MCP for content; Enterprise AI writes and translates. Nothing builds the admin.

~ AI for content

AI Assist, Agent Actions and an MCP server; nothing builds the Studio UI.

✓ AI employees

Each skill asks first or runs on its own. Changes land in the database.

~ Content types only

Strapi AI drafts content types, on the paid Growth plan.

~ Suggestions

Proposes columns and indexes, and answers questions about the docs.

AutomationVisual workflows

✓ Visual workflows

Node graphs of triggers, actions and data nodes, fired by cron or webhooks. Any module can add its own nodes.

~ Jobs in code

Tasks, workflows and cron defined in code; no visual builder.

~ Functions in code

Functions, webhooks and an early-access Workflows engine; nothing visual.

✓ Visual workflows

About 20 free nodes; some triggers and nodes are paid.

– Webhooks in code

Review Workflows only covers content approval.

– Functions in code

Event and cron triggers, nothing visual.

DatabaseSchemas, data, queries

✓ Explorer, diagram, AQL

Health and schema overviews, a data browser, a schema diagram and an AQL query workspace.

– No explorer

MongoDB, Postgres and SQLite adapters; no schema browser or query console.

~ GROQ playground

The Vision plugin runs queries; no schema browser or diagram.

✓ Explorer and ER diagram

A graph view of the main database, plus SQL collections.

~ Content manager

Entries and schemas; no diagram or query console.

~ Data browser

A SQL editor comes with native PostgreSQL.

MailingTemplates, sends, delivery

✓ Templates, logs, metrics

Block-editor email templates, a send log and delivery metrics. Send per tenant and language through your provider.

~ Sending only

Nodemailer and Resend adapters; no templates, send log or metrics.

– Not built in

Email only through Functions and a third-party provider.

~ Inbox and sending

The Email Manager is Enterprise; no delivery metrics.

~ Sending only

Through providers; no send log or campaigns.

~ Messaging

Email, SMS and push with a status per message; HTML only, no editor.

MarketingTraffic, funnels, A/B tests

✓ Cookieless analytics

Cookieless, first-party analytics: traffic, UTM campaigns, click heatmaps and A/B funnels. Data stays in your database.

~ A/B tests (Enterprise)

No built-in analytics or funnels.

~ A/B plugin

Field variants via GrowthBook or LaunchDarkly; no visitor analytics.

– Not built in

Chart blocks only.

– Not built in

– Not built in

Traffic charts are infrastructure metrics.

MediaFiles, folders, images

✓ Library with folders

A Finder-style library with per-folder permissions, direct-to-storage uploads, image presets and crop and rotate.

~ Upload collections

Image sizes, crop and focal point; folders in beta, no per-folder permissions.

~ Media Library: Enterprise

Image CDN with crop and hotspot on all plans; folders in beta.

~ File manager

Storage engines and thumbnails; no documented folders.

~ Media Library

Folders and responsive formats; no permissions per folder.

✓ Storage

File permissions and image transformations; folders are virtual.

PublicationVersions, environments, deploys

✓ Versions and Git deploys

Versions as Git tags, environments as branches: deploy or roll back any environment to any version.

~ Drafts and scheduling

Versions, drafts and scheduled publish; no environments or Git deploys.

~ Releases: Enterprise

Scheduled drafts on Growth; environments are separate datasets.

~ Paid migrations

Environments and snapshots from the Professional edition; not Git-based.

✓ Releases and Cloud deploys

Content releases from the Growth plan; Git deploys on Strapi Cloud.

~ Git deploys for code

Functions and Sites only; no releases for the app itself.

TranslationsYour app's languages

✓ Key-by-language matrix

A key-by-language matrix that flags missing translations, with coverage per language and a public locale endpoint.

~ 30+ admin languages

Content localization per field; no translation management UI.

✓ Locale and i18n plugins

Official Studio UI locales and content i18n plugins; AI translation on Growth.

✓ UI localization

Edit UI text per language, with AI translation; no matrix view.

~ Content only

Admin UI text is translated in code.

– Locale data only

No translation management.

Based on each product's public documentation, source code and pricing pages, October 2026. Editions and plans change; check each vendor for the latest.

Part of the AntelopeJS ecosystem

Your dashboard. Your infrastructure.

Keep control of your DMS deployment on your own infrastructure. Looking for managed hosting? Explore AntelopeJS Cloud, the ecosystem's managed operations platform.

Deploy option A

Self-host

Your infra, your rules

Deploy option B

AntelopeJS Cloud

Managed hosting

DMS

Dashboard Management System

Open source · Apache 2.0

Get started · Join the community

Your next back office
starts here.

Explore the developer docs, meet the team and tell us what your product needs from its dashboard.