The Development Flow With and Without Studio

View as Markdown
Last updated July 17, 2026

Six steps end-to-end. The first two ship through git, PR, and a deploy (your normal SDLC). The next three ship through Studio's publish, same React, same CMS, no rebuild. Below: where each step lives, who owns it, and what you don't have to repeat per page.

Click to enlarge

What You Do, Side-by-Side

StepWithout StudioWith Studio
SetupApp shell + Delivery SDKApp shell + Delivery SDK + Studio SDK + canvas route (a dedicated route where Studio renders the editor) + ONE catch-all template route (handles every URL)
Build componentsAuthor + Storybook (isolated, fixtures)Author + Storybook + register in Studio (1-liner or via CLI)
Compose multiple componentsIn code, per pageIn Studio as sections: reusable, previewable with real data
Build a pageHand-code layout + data-fetch + prop-mapping per pageBuild a template once; drop sections; bind to fields; done
Change page layoutCode change, PR, redeployAuthor in Studio, publish
Re-map a prop to a different CMS fieldCode change, PR, redeployClick the binding, pick a different field, publish
Preview a composed page with real dataBuild + deploy + visit URLOpen the section/template canvas, pick a preview entry
Launch a new content type pageNew route + new layout file + new fetcherCreate a new template for the content type, drop sections

What Stays the Same

This matters because Studio isn't trying to take over your stack:

  • Your components stay in your repo: same build, same bundler, same deploy
  • Your design system stays sovereign: Studio uses your components, tokens, breakpoints; not its defaults
  • Contentstack stays Contentstack: entries, content types, locales, publishing, branches, webhooks all work the same way
  • Storybook still does its job: isolated component preview is still its lane
  • Your existing pages keep working: Studio is additive; you can adopt it section-by-section, template-by-template

When You'd Still Use Code (and Why That's Fine)

Studio is for layout + composition + binding. Some things are still better done in code:

  • Component implementation itself (Studio doesn't write components for you, it composes them)
  • App-level concerns (auth, routing, analytics, error boundaries)
  • One-off complex logic inside a component (data transforms, animations, integrations)
  • Server-side data fetching strategy (Studio supports CSR + SSR but you choose the path)

The right way to think about Studio: the layer above components, the layer below the app shell. Everything above stays code; everything below stays code; the composition in between becomes data.

Two Paths to Onboard

Depending on where you are, pick the onboarding path that matches:

Both lead to the same destination: a Studio-powered app that composes your components against your CMS data, previewable at every step.