Skip to content

Comparison

svadmin is a compile-time admin framework — no virtual DOM, no runtime diffing, just direct DOM operations. Here’s how it stacks up.

svadminRefineReact AdminAdminJS
FrameworkSvelte 5React 18+React 18+React
Runtime✅ Compiled to direct DOM ops — no VDOMVDOM → diff → patchVDOM → diff → patchVDOM → diff → patch
Reactivity✅ Runes — variable-level signalsHooks — component re-rendersHooksHooks
Bundle sizeProject-dependent; measure your selected packagesProject-dependentProject-dependentProject-dependent
Memory✅ No VDOM copy in memoryVDOM tree overheadVDOM tree overheadVDOM tree overhead
Headless✅✅Partial❌
QueryTanStack Query (Svelte)TanStack Query (React)ra-coreCustom
Types✅ Full — ResourceTypeMapPartialPartialMinimal
SSRSvelteKit nativeNext.js / RemixNext.jsExpress
BackendsvadminRefineReact Admin
REST API✅ @svadmin/simple-rest✅ @refinedev/simple-rest✅ ra-data-simple-rest
Supabase✅ @svadmin/supabase✅ @refinedev/supabaseCommunity
GraphQL✅ @svadmin/graphql✅ @refinedev/graphql✅ ra-data-graphql
Drizzle ORM✅ @svadmin/drizzle❌❌
Firebase✅ @svadmin/firebase✅ Community✅ ra-data-firebase
PocketBase✅ @svadmin/pocketbaseCommunityCommunity
Appwrite✅ @svadmin/appwrite✅ @refinedev/appwriteCommunity
Strapi✅ @svadmin/strapi✅ @refinedev/strapi✅ ra-strapi-rest
Directus✅ @svadmin/directusCommunityCommunity
Hasura✅ @svadmin/hasura✅ @refinedev/hasura✅ ra-data-hasura
NestJS✅ @svadmin/nestjs-query✅ @refinedev/nestjs-queryCommunity
Elysia (Bun)✅ @svadmin/elysia❌❌
Airtable✅ @svadmin/airtableCommunity✅ ra-data-airtable
Medusa✅ @svadmin/medusa✅ @refinedev/medusa❌
Sanity✅ @svadmin/sanityCommunityCommunity
FeaturesvadminRefineReact Admin
Provider pattern✅✅✅
Multi data provider✅✅✅
Auth provider✅✅✅
Live provider✅ WebSocket + SSE✅ WebSocket + SSE❌ Polling only
Access control✅ RBAC + ABAC + CASL + Casbin✅ RBAC + ABAC✅ RBAC
SSO (OIDC/OAuth2)✅ @svadmin/sso plugin✅ Enterprise (paid)❌ No
Router agnostic✅ Hash / SvelteKit✅ React Router / Next✅ React Router
i18n✅✅✅
SSR-first / low-JS fallback✅ @svadmin/lite (server-driven, optional enhancement)❌ Hydration Required❌ Hydration Required
FeaturesvadminRefineReact Admin
Optimistic updates✅✅✅
Undoable mutations✅✅✅
CSV import/export✅ Built-in✅ useImport / useExportCommunity
Auto-save✅ Component✅ useForm auto-save❌ DIY
Field inferencer✅ Sample data + OpenAPI✅ Sample data❌
Filter operators16 operators16 operatorsBackend-dependent
FeaturesvadminRefineReact Admin
AutoTable✅ Zero-config❌ DIY✅ <DataGrid>
AutoForm✅ Zero-config❌ DIY✅ <SimpleForm>
Field components16 types (incl ArrayField)UI kit dependent20+ types
Dark mode✅ 7 themesUI kit dependent✅
Glassmorphism✅ Auth pages❌❌
Command palette✅ Built-in✅ @refinedev/kbar❌
Permission Matrix✅ Built-in component❌ Official unspecified❌ DIY
Audit JSON Snapshot Viewer✅ Built-in component✅ Paid feature❌ DIY
Tenant switcher control✅ App wiring required❌ DIY❌ DIY
FeaturesvadminRefineReact Admin
Resource Type Registry✅ Compile-time❌❌
End-to-end type inference✅ via Elysia/Drizzle❌❌
CLI scaffolding✅ @svadmin/create✅ create-refine-app✅ create-react-admin
Overtime tracking✅ Built-in hooks✅ useLoadingOvertime❌
Steps form✅ useStepsForm✅❌
FeaturesvadminRefineReact Admin
AI chat integration✅ ChatProvider (streaming + sync)❌❌
Admin context injection✅ ChatContext auto-injects resource/view❌❌
Tool calling + approval gates✅ AgentProvider + AdminTool + needsApproval❌❌
Command palette AI mode✅ ⌘K natural language query❌❌
Field inference✅ Sample data + OpenAPI dual-engine✅ Sample data❌
Agent-ready scaffolding✅ AGENTS.md built-in❌❌
MCP data gateway✅ @svadmin/mcp❌❌
AI code generation❌✅ Refine AI Agent (commercial)❌

Positioning: Refine focuses on “AI writes your Admin” (dev-time AI); svadmin focuses on “AI built into your Admin” (runtime AI). Both are valid, but runtime AI delivers direct value to end users.

  • You prefer compiled Svelte rendering — Components use Svelte 5 rather than a React virtual-DOM runtime; benchmark your own routes and data volume before choosing on performance
  • You’re using Svelte — svadmin provides headless admin APIs and components designed for Svelte 5
  • You want direct DB access — @svadmin/drizzle lets you skip the API layer entirely
  • You need edge deployment — SQLite + Cloudflare D1 support via Drizzle
  • You want full type safety — ResourceTypeMap + Elysia/Drizzle inference
  • Bundle size matters — You can select headless providers and UI packages independently; compare production builds with the same feature set
  • You need fine-grained reactivity — svadmin components use Svelte 5 runes for reactive state
  • You want AI built into your admin — ChatProvider + AgentProvider with tool calling, approval gates, and streaming out of the box
  • You’re on React — Refine’s ecosystem is mature and React-focused
  • You need UI kit flexibility — Refine supports Ant Design, Material UI, Chakra, Mantine
  • You need the largest community — More third-party integrations and tutorials
  • You want batteries-included — Most complete out-of-the-box UI
  • You need enterprise support — Commercial license and support available
  • You have complex list views — DataGrid with inline editing, advanced filtering