v4 · Live preview is live

The CMS your
editors actually
want to open.

Dart Desk is a headless CMS for product teams who ship in public — typed schemas, a calm editor, one source of truth for every surface.

Dart Desk CMS — full studio view
Developer workflow

Schema in Dart.
Editor in browser. Content anywhere.

01
Model in Dart

Declare content models as annotated Dart classes. Field options, validation, hotspots, min/max, relations — all in the type system.

02
Edit calmly

Your team works in a focused studio with realtime presence, branching previews, and a schema-aware editor that refuses bad input.

03
Ship to every surface

One source of truth for Flutter app, kiosk, web, and signage. Typed Dart client over Serverpod — end-to-end types, no codegen drift.

lib/cms/home_config.dart Dart
@DeskModel(title: 'Home screen')@MappableClass(discriminatorValue: 'homeConfig')class HomeConfig extends CmsContent {final ImageReference? heroImage;final String heroEyebrow;final String heroHeadline;final CtaAction primaryCta;final List<FeaturedDish> featuredDishes;final StoreCallout storeCallout;}
field inspector · HomeConfig generated
Dart Desk input panel — generated editor fields
lib/screens/home_screen.dart Dart
class HomeScreen extends StatelessWidget {final HomeConfig config;final BrandTheme theme; const HomeScreen({super.key,required this.config,required this.theme,}); @overrideWidget build(BuildContext context) {return AuraTheme.wrap(theme,child: MobileFrame(child: Column(children: [HeroBanner(image: config.heroImage,eyebrow: config.heroEyebrow,headline: config.heroHeadline,primaryCta: config.primaryCta,),FeaturedCarousel(dishes: config.featuredDishes),StoreCalloutCard(data: config.storeCallout),]),),);}}
Flutter · iPhone 15 Pro live data
Dart Desk — mobile preview pane