[data-reveal]{opacity:1!important;transform:none!important}
AntelopeJS DMS

How DMS compares

Your dashboard. Your stack.

Retool, Forest Admin, Basedash, Refine, 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 DMS Code-First: Dashboard Management SystemRetool Internal-tool builderForest Admin Admin on your databaseBasedash AI dashboards, hostedRefine React admin frameworkPayload Next.js-native CMSSanity Hosted content platformNocoBase No-code platformStrapi Headless CMSAppwrite Backend as a service
Platform How each product is built and run.
Backend language What the product itself is written in

✓ TypeScript

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

~ Node.js, closed source

The server runs on Node.js; its source is proprietary. App Functions are written in TypeScript.

~ Open agents, closed server

Agents in TypeScript, Ruby and Python; the hosted UI and its server are proprietary.

Closed source

The code isn't public; the self-hosting config points to Node.js with Prisma.

TypeScript, no backend

Refine Core is a TypeScript frontend; the backend is whatever API you connect.

✓ 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 framework Where the product runs

✓ Plugs into your backend

  • AntelopeJS
  • AdonisJS

Adapters are open: extend one or build your own.

– Its own platform

Retool Cloud, or its containers self-hosted on Enterprise; apps can't run inside your backend.

~ Agent in your backend

The agent mounts on Express, NestJS, Rails or Django; Forest hosts the UI, on-premise on request.

– Its own platform

Hosted SaaS; self-hosting is an Enterprise option for select customers.

✓ Any API, no server

Runs in your React app and calls your API through 15+ official data providers.

~ 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 frontend What the admin UI is built with

✓ Vue today, open adapters

  • Vue
  • Planned React, TanStack, Astro, Angular

Open adapters: bring the framework your team already knows.

~ React only

New apps are React with shadcn/ui; the framework can't be swapped.

~ Hosted UI, Ember views

Forest's proprietary UI; Smart Views are Ember 4.12 components. It can't be swapped.

– Fixed web app

Its own UI, embeddable by iframe or a React SDK on Enterprise; it can't be extended.

~ React only

Headless core with shadcn/ui, Ant Design, Material UI, Chakra UI and Mantine integrations.

~ 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 builder Compose pages from tables, forms and charts

✓ Visually, in code or with AI

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

✓ AI, code or drag-and-drop

New apps come from prompts and editable React; classic apps keep the drag-and-drop editor.

✓ Layout editor and Workspaces

Drag in tables, fields, actions, charts and custom HTML/JS components, on every plan.

~ Charts by AI or drag and drop

Charts, read-only tables and text blocks, built in chat or arranged by hand; no forms.

~ Code, or AI-generated

Pages are React you write; Inferencer and the paid Refine AI scaffold them 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 produces When 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.

~ React that runs on Retool

New apps are React and TypeScript you can edit or clone with the CLI; they only run inside Retool.

– Layout kept by Forest

Layouts live in Forest, versioned with its own branches; only the agent's schema file sits in your repo.

– Records in Basedash

Dashboards are stored in Basedash and reached through its REST API; exports are PDF or CSV.

~ AI-generated React code

No visual editor; Refine AI writes React code, exported on the $20 Pro plan.

– 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 control Diff, review, roll back

✓ Native: it's code

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

~ Git on Enterprise

Releases and history on every plan; Git branches through Source Control on Enterprise only.

~ Code only

Agent code goes in Git; layouts move through Forest branches and workflows keep versions, outside Git.

– Not Git-based

Each chart keeps a query history; no Git sync or dashboard versions documented.

✓ Native: it's code

The whole admin is a React app you commit.

✓ 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 & permissions How fine access can get

✓ Down to each component

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

~ App, resource, row

Custom groups per app and resource from Business; row rules on Enterprise, PostgreSQL only.

~ Collection, action, record

Custom roles from Starter, $499 a month; roles set nothing per field or per component.

~ Source, table, column

Three fixed roles; data access down to the column, rows through Postgres RLS. No per-chart rules.

~ Provider you implement

CanAccess can gate any component, but you write every rule; no roles UI.

~ 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 trail Who changed what, and when

✓ Included

Every administrative change is logged in the core.

~ Business plan and up

Logs every query and user action, kept one year on Cloud; streaming on Enterprise.

✓ Included, unlimited retention

Activity logs on every plan; before and after values go to a PostgreSQL database you provide.

~ Enterprise only

Sign-ins, access changes, queries and AI actions, kept 90 days by default.

~ Provider you implement

CRUD hooks call your audit log provider; storage and the log view are yours to build.

~ 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.

License What you're allowed to do with it

✓ Apache 2.0

No extra terms.

Proprietary

Free up to 5 users; self-hosting needs Enterprise and a license key.

Apache 2.0 agents, SaaS UI

The UI is proprietary; free Sandbox for 2 users, then from $499 a month.

Proprietary

From $1,000 per month for 25 users; self-hosting needs an Enterprise license key.

MIT

Enterprise packages (Okta, multitenancy) and the Refine AI builder are paid.

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 modules Ready-made modules from the AntelopeJS team, installed from the CLI.
SaaS Run 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.

~ Customer apps, no billing

External users from Business, Spaces on Enterprise; no tenant plans or billing.

– Not built in

Teams and partner users for your ops staff; no tenant sign-up, plans or billing.

– Embedded analytics only

One organization per tenant for embedded dashboards, on Enterprise; no plans or billing.

~ Multitenancy: Enterprise

Route-based tenants through the paid Enterprise package; no plans or billing.

~ 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.

API Routes, request logs, traffic

✓ Routes, logs and traffic

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

– Consumes your APIs

REST, GraphQL and gRPC resources; no catalog of your routes or traffic stats.

– Not built in

An MCP server and a public API for logs; nothing lists or monitors your own routes.

– Its own REST API

An API and MCP server for Basedash itself; no catalog, logs or traffic for your routes.

– Consumes your API

Data providers call your endpoints; no route catalog, request logs or traffic stats.

~ 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 assistant Building 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.

✓ AI app builder

Prompts build and edit apps, on every plan with AI credits; Claude Code can build through its MCP server.

~ AI in workflows

AI sets up some workflow steps from plain language; nothing builds pages or layouts.

✓ Builds dashboards

Chat and MCP clients build charts and dashboards from a prompt; the result stays in Basedash.

~ Refine AI, separate and paid

A hosted web IDE that generates the admin from prompts; from $0.99, export on Pro.

– 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.

Automation Visual workflows

✓ Visual workflows

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

✓ Visual workflows

Blocks on a canvas, run on a schedule or by webhook; 500 runs a month on Free.

✓ Visual workflows

Builder on every plan; automated triggers need Starter, LLM steps need Professional.

~ Prompt automations

AI tasks on a schedule or a polled SQL trigger, sent to Slack or email; no visual workflows.

– Not built in

No workflows, jobs or cron; that logic stays in your backend.

~ 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.

Database Schemas, data, queries

✓ Explorer, diagram, AQL

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

~ Hosted PostgreSQL

Retool Database: spreadsheet editor, SQL and schema migrations; 5 GB on Cloud, no schema diagram.

~ Data browser, SQL charts

Browse and edit records; SELECT queries only inside charts. No schema diagram or query console.

~ SQL editor and schema

Read-only SQL and a schema browser; AI writes run once approved, on Postgres, Redshift or Supabase.

– Not built in

Frontend only: no schema browser, diagram or query console.

– 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.

Mailing Templates, 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

Retool Email on Cloud, capped at 120 an hour, or your SMTP; no templates, send log or metrics.

– Not built in

No templates, send log or email integration; sending goes through actions you code.

– Report emails only

Emails its own reports and alerts; no templates or sends for your app.

– Not built in

No templates, sending or delivery logs.

~ 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.

Marketing Traffic, funnels, A/B tests

✓ Cookieless analytics

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

– Not built in

App usage analytics on Enterprise; no visitor traffic, funnels or A/B tests.

– Not built in

Charts on your own data; no visitor analytics, campaigns or A/B tests.

~ Charts on synced data

Funnel charts over GA4, Mixpanel or Google Ads data; no tracking or A/B tests of its own.

– Not built in

No visitor analytics, funnels or A/B tests.

~ 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.

Media Files, folders, images

✓ Library with folders

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

~ Retool Storage

A file store with folders, 5 GB on Cloud; no image presets or crop documented.

~ File fields only

Upload and preview widgets, S3 through a plugin; no media library or folders.

– Not built in

Files attach to a single chat; no media library.

– Not built in

Upload fields come from the UI library; storage, folders and image tools are yours.

~ 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.

Publication Versions, environments, deploys

✓ Versions and Git deploys

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

~ Releases and environments

Releases on every plan, staging from Team; Git releases across instances on Enterprise.

~ Layout deploys

Branches push layouts to staging and production; your app code ships through your own pipeline.

– Not built in

Edits save live; no versions, environments or deploys documented.

~ Netlify hosting: Refine AI

Refine AI Pro publishes the app to Netlify; no versions, environments or rollbacks.

~ 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.

Translations Your 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.

~ i18n: Enterprise

Upload JSON translation files per locale; no editor or missing-key view in the docs.

– Date and number formats

A locale setting formats dates and numbers; no translation management.

– UI in four languages

English, Spanish, French or Portuguese interface; no translation management for your app.

~ i18n provider

Wraps the i18n library you choose, such as react-i18next; no translation management UI.

~ 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.