BuildWithMatija
  1. Home
  2. Blog
  3. Payload
  4. CMS Prototype vs Implementation: 8 Steps to Avoid Rework

CMS Prototype vs Implementation: 8 Steps to Avoid Rework

How to convert prototypes into implementation-ready CMS design, content models, migration plans, and defined ownership.

2nd July 2026·Updated on:15th July 2026··
Payload
CMS Prototype vs Implementation: 8 Steps to Avoid Rework

Need Help Making the Switch?

Moving to Next.js and Payload CMS? I offer advisory support on an hourly basis.

Book Hourly Advisory

📚 Comprehensive Payload CMS Guides

Detailed Payload guides with field configuration examples, custom components, and workflow optimization tips to speed up your CMS development process.

No spam. Unsubscribe anytime.

📄View markdown version
0

Frequently Asked Questions

About the author

Matija Žiberna

Matija Žiberna

Full-stack developer, co-founder

AboutResume

Self-taught full-stack developer sharing lessons from building software and startups.

I'm Matija Žiberna, a self-taught full-stack developer and co-founder passionate about building products, writing clean code, and figuring out how to turn ideas into businesses. I write about web development with Next.js, lessons from entrepreneurship, and the journey of learning by doing. My goal is to provide value through code—whether it's through tools, content, or real-world software.

Contents

  • A CMS Prototype Is Only Half the Implementation Story
  • What a prototype actually proves
  • Design intent, component design, CMS design, and implementation are different layers
  • 1. Design intent
  • 2. Component design
  • 3. CMS and content design
  • 4. Production implementation
  • The prototype shows one successful state
  • Visual flexibility isn't the same as editorial flexibility
  • A visible component may hide several systems
  • Deciding whether something is a template, block, collection, or integration
  • The difference becomes expensive during migration
  • Backlog ideas must not silently become launch scope
  • Storybook documents components, the CMS documents content
  • The missing artifact is a design-to-CMS mapping
  • What implementation-ready actually means
  • A better prototype handoff process
  • Step 1: Identify the reusable visual system
  • Step 2: Identify the content domains
  • Step 3: Define system ownership
  • Step 4: Define editorial control
  • Step 5: Define states and edge cases
  • Step 6: Separate launch scope from future ideas
  • Step 7: Connect the future model to migration
  • Step 8: Produce acceptance criteria
  • The prototype remains essential
On this page:
  • A CMS Prototype Is Only Half the Implementation Story
  • What a prototype actually proves
  • Design intent, component design, CMS design, and implementation are different layers
  • The prototype shows one successful state
  • Visual flexibility isn't the same as editorial flexibility
Build with Matija logo

Build with Matija

Modern websites, content systems, and AI workflows built for long-term growth.

Services

  • Headless CMS Websites
  • Next.js & Headless CMS Advisory
  • AI Systems & Automation
  • Website & Content Audit

Resources

  • Case Studies
  • How I Work
  • Blog
  • Topics
  • CMS Hub
  • E-commerce Hub
  • B2B Website Strategy
  • Dashboard

Headless CMS

  • Payload CMS Developer
  • CMS Migration
  • Multi-Tenant CMS
  • Payload vs Sanity
  • Payload vs WordPress
  • Payload vs Contentful

Get in Touch

Ready to modernize your stack? Let's talk about what you're building.

Book a discovery callContact me →
© 2026Build with Matija•All rights reserved•Privacy Policy•Terms of Service
BuildWithMatija
Get In Touch

A CMS Prototype Is Only Half the Implementation Story

A polished website prototype can create a dangerous feeling of certainty.

The homepage looks convincing. Product cards exist. Blog, recipe, event, and product templates have been designed. The component library contains reusable patterns. Stakeholders can click through the experience and understand the intended direction.

It feels as though the project has moved beyond planning and is ready for development.

A prototype usually answers only one part of the implementation question, though:

What should the website look and feel like?

It rarely answers the full set of questions required to build a maintainable content platform:

  • Where does each piece of information come from?
  • Which fields can editors change?
  • Which structures must remain locked in code?
  • Which content belongs in the CMS?
  • Which data belongs in another system?
  • What happens when content is missing?
  • Who can create, review, approve, and publish it?
  • Which variations are required?
  • What happens on mobile?
  • What happens in every loading, empty, error, expired, unpublished, or unavailable state?
  • Which ideas are confirmed launch requirements, and which are still exploratory?

A prototype earns its value by establishing design direction, testing user journeys, revealing reusable components, and helping stakeholders discuss the future website, well short of serving as an implementation specification.

Treating it as one forces developers to fill every missing decision with an assumption. Those assumptions then become schemas, APIs, component contracts, permissions, migration scripts, and production behaviour.

By the time the original ambiguity becomes visible, the team is already paying for it in rework.

What a prototype actually proves

A good prototype can confirm several important things.

It can show the intended visual hierarchy, page composition, interaction direction, brand character, content density, navigation model, and general relationship between different page types.

It can also reveal useful reusable patterns.

A multi-brand health and wellness platform we recently reviewed already had directional designs for:

  • product cards
  • recipe cards
  • blog cards
  • event cards
  • resource cards
  • store cards
  • product detail pages
  • article templates
  • recipe templates
  • event templates
  • homepage marketing sections
  • health-goal and ingredient visual systems

That was valuable work. It showed that the future platform could be built from a coherent, reusable frontend design system rather than assembled from unrelated one-off pages.

That library already contained the beginning of a reusable frontend design system, even though it hadn't yet confirmed the production contract behind those components.

A product card might visually contain an image, product name, category, short description, badges, and a call to action.

That does not tell the implementation team:

  • whether the product name comes from the CMS or a product information system
  • whether the image must come from an approved DAM
  • whether editors can override the image
  • whether badges are manually selected or derived from product data
  • what happens when a product is unavailable in one region
  • whether the short description is localized
  • whether the entire card is clickable
  • whether the call to action changes by website, locale, or product status
  • whether product cards support multiple visual variants
  • whether editors can manually select products or only define filtering rules
  • whether product information has already passed regulatory approval
  • what tracking event should fire when the card is clicked
  • how the card behaves when required data is missing

The component can be visually complete while its implementation contract remains mostly undefined.

Design intent, component design, CMS design, and implementation are different layers

Many projects collapse four separate layers into one.

1. Design intent

Design intent describes the experience the team wants to create.

It answers questions such as:

  • What should receive visual emphasis?
  • How should the brand feel?
  • What should the user notice first?
  • How should content be grouped?
  • Which journeys should feel simple?
  • Which page types should look related?

Figma prototypes are effective at communicating this layer.

2. Component design

Component design turns repeated visual patterns into reusable frontend units.

It defines things such as:

  • product card variants
  • article card variants
  • hero layouts
  • banner styles
  • content sections
  • navigation patterns
  • responsive rules
  • spacing and typography systems
  • visual states

Storybook can be useful here because it isolates components and shows their supported variants, though a reusable React component still doesn't automatically define a reusable CMS structure.

A frontend component may accept a loose object containing a heading, text, image, link, and presentation options, without editors necessarily getting unrestricted control over every one of those properties.

3. CMS and content design

CMS design defines how editors create, connect, review, and publish the information shown by those components.

It answers different questions:

  • Is this a collection, global, block, relationship, or configuration?
  • Which fields are required?
  • Which fields are localized?
  • Which values are derived automatically?
  • Which values can be overridden?
  • Which content types can use this component?
  • Which roles can edit it?
  • Does it require approval?
  • Can it be scheduled?
  • Does it reference a product, person, asset, category, or campaign?
  • What validation rules protect the frontend?
  • How should existing content migrate into the structure?

Payload configuration belongs primarily to this layer.

4. Production implementation

The implementation specification connects all previous layers and defines how the system must behave.

It must cover:

  • frontend behaviour
  • CMS schemas
  • external integrations
  • permissions
  • workflows
  • localization
  • accessibility
  • analytics
  • responsive behaviour
  • empty and error states
  • migration rules
  • performance constraints
  • acceptance criteria
  • launch scope
  • future scope

A prototype contributes to the specification without replacing it.

The prototype shows one successful state

Most prototypes show the website under ideal conditions.

The image exists. The title fits. The description has the expected length. The product is available. The event is upcoming. The article has an author. The translation is complete. The external API responds successfully.

Production systems must also handle everything around that ideal state.

Consider an event card.

The prototype may show a date, title, image, location, and registration button.

The specification must decide what happens when:

  • the event has no image
  • the event is online rather than physical
  • registration happens through an external community platform
  • registration happens through Zoom
  • registration is handled directly by the new website
  • the event has reached capacity
  • registration has closed
  • the event has been cancelled
  • the event date has passed
  • a replay is available
  • the French translation is not complete
  • the event belongs to one brand but appears on another site
  • the registration provider is temporarily unavailable

These details determine the content model, integration boundaries, component states, editor fields, automated status changes, and testing requirements.

The prototype represents an example, while the specification defines the system behind it.

Visual flexibility isn't the same as editorial flexibility

One of the most important questions in a CMS project is deciding which parts of the design should become configurable.

A prototype may include a homepage made from several visually distinct sections. It's easy to conclude that every section should become a CMS block editors can reorder freely, though the actual requirement is often much narrower:

  • the homepage hero remains fixed
  • marketing can update a rotating banner
  • featured products can be selected
  • approved marketing sections can be enabled or disabled
  • editors can change copy, assets, links, and scheduling
  • the overall layout and interaction model remain controlled in code

This still gives marketing useful autonomy without turning the homepage into an unrestricted visual page builder.

The distinction matters because every configurable property becomes part of the product.

Supporting section reordering requires more than a drag-and-drop field in the CMS: it also requires the design and development teams to confirm that every permitted section works correctly before and after every other permitted section.

The system must handle spacing, background transitions, repeated calls to action, duplicate headings, incompatible combinations, mobile behaviour, accessibility landmarks, and visual rhythm.

A prototype may show five sections in one carefully designed order, though that doesn't prove all 120 possible combinations are valid.

A visible component may hide several systems

Modern websites rarely own all the information they display.

A product page may combine:

  • product data from a PIM
  • website-specific content from Payload
  • approved assets from a DAM
  • inventory information from an operational system
  • store availability from a locator service
  • reviews from a review platform
  • lead capture through a CRM
  • related articles and recipes from the CMS
  • analytics and personalization from separate services

The prototype can present this as one cohesive page, while the implementation specification has to define the boundary between every system behind it.

For each section, the team needs to identify:

  • the source of truth
  • the direction of data flow
  • whether data is fetched, synchronized, referenced, or duplicated
  • whether editors can override it
  • what happens when the source is unavailable
  • whether the content requires another approval
  • how frequently it updates
  • how it is cached
  • whether it differs by locale, brand, region, or environment

Without these decisions, the easiest development path often wins.

That can result in product data being copied into the CMS because it is convenient, approved assets being uploaded again because the DAM integration is not ready, or external form pages continuing to control the website experience because nobody defined a cleaner boundary.

The website may match the prototype while the architecture quietly becomes harder to govern.

Deciding whether something is a template, block, collection, or integration

A page visible in a prototype can be implemented in several very different ways.

A giveaway page could be:

  • a generic page assembled from blocks
  • a fixed giveaway template
  • a dedicated Giveaways collection
  • a campaign record connected to a form
  • a manually edited page with duplicated contest rules
  • a frontend route powered by an external contest platform

All six could look almost identical, even though only some of them would actually support the operational requirement.

When giveaways happen repeatedly, a dedicated structured collection may be more appropriate. The record could contain the prize, products, eligibility, start date, end date, rules, form configuration, winner announcement, campaign tracking, and archive status.

One structured record can then populate the landing page, contest rules, campaign listings, scheduled activation, expiry behaviour, and archive.

The prototype shows the giveaway page, while the specification identifies the giveaway as a repeatable business process.

This is why page-by-page implementation is often misleading. What appears to be a page may actually need to become a content type, workflow, integration, or reusable domain model.

The difference becomes expensive during migration

When a prototype is treated as a specification, migration planning often begins too late.

The development team builds the new templates first. Only afterward does someone inspect the existing WordPress content and discover that:

  • articles use several incompatible field structures
  • product references are embedded inside rich text
  • recipes contain inconsistent ingredient formats
  • microsites use one-off page-builder layouts
  • some event registrations point to external tools
  • lead magnets are hosted through CRM-generated pages
  • important files are linked from public cloud storage
  • metadata and URLs vary across sites
  • older pages contain functionality not represented in the prototype

At that point the new design may not have a destination for everything that already exists.

A proper specification connects the future design to the current content before implementation is locked.

For every existing page type and capability, the team should know whether it will become:

  • a Payload collection
  • a fixed template
  • a reusable block
  • an external integration
  • an unchanged external platform
  • a manually rebuilt experience
  • a retired page
  • a redirected URL
  • a later implementation phase

This coverage map is part of the implementation specification. The prototype can't provide it on its own — it describes the proposed experience, and the migration responsibility sits elsewhere.

Backlog ideas must not silently become launch scope

Prototypes frequently contain a mixture of confirmed requirements, designer proposals, stakeholder suggestions, and future ideas.

They may all look equally real once they appear on screen.

A designer may include:

  • product reviews
  • a nearby-store widget
  • configurable product FAQs
  • a custom event landing page
  • social media promotion
  • enhanced product storytelling
  • a locale selector
  • a saved-items feature

Some may be approved launch requirements. Some may be useful concepts. Some may depend on systems that do not yet exist. Some may have been mentioned once and never validated.

The implementation specification must label them clearly.

A practical classification is:

  • confirmed launch scope
  • confirmed future phase
  • exploratory design direction
  • integration-dependent
  • awaiting stakeholder decision
  • excluded

Without this classification, estimates become unreliable.

Developers either build everything visible in the prototype, or they omit features that stakeholders assumed were included because they had already seen them demonstrated.

Both outcomes create conflict that a better specification could have prevented.

Storybook documents components, the CMS documents content

Storybook is valuable because it can document reusable frontend components, their props, and their visual states.

It can help answer:

  • Which card types exist?
  • Which variants are supported?
  • What happens with long text?
  • How does the component behave at different viewport sizes?
  • Which visual states have been implemented?
  • Which patterns are truly reusable?

Storybook typically documents the frontend component contract, while the CMS still needs its own separate content contract.

For example, Storybook may show that a banner component accepts:

  • eyebrow
  • heading
  • body
  • image
  • link
  • alignment
  • theme
  • size

The CMS specification must decide:

  • which page types may use the banner
  • whether every theme is available on every brand
  • whether editors choose the alignment
  • whether the image is required
  • whether mobile and desktop images are separate
  • whether links may be internal or external
  • whether the banner is localizable
  • whether it can be scheduled
  • whether it requires marketing approval
  • whether the CMS should expose the technical size property at all

A component prop and an editor field are two different decisions. Many component props exist to support implementation flexibility, and only a subset of them make sense as editor-facing fields.

The missing artifact is a design-to-CMS mapping

Before production implementation begins, every important page type and component should be mapped across design, frontend, CMS, and systems.

A practical mapping can include the following columns:

AreaQuestions to define
PurposeWhat user or business need does this serve?
Design patternWhich prototype or component represents it?
Frontend implementationWhich component or template renders it?
CMS modelCollection, global, block, relationship, configuration, or none?
Data sourcePayload, PIM, DAM, CRM, ecommerce, API, or derived data?
Editable contentWhat can the editor safely control?
Locked structureWhat remains controlled by design and development?
VariantsWhich approved variations exist?
Required fieldsWhat must exist before publishing?
StatesEmpty, loading, unavailable, expired, unpublished, error, and fallback behaviour
PermissionsWho can create, edit, review, approve, and publish?
LocalizationWhich fields and behaviours vary by locale?
AnalyticsWhat must be tracked?
Migration sourceWhere does equivalent current content exist?
Scope statusLaunch, future, exploratory, excluded, or unresolved?

This mapping converts a visual proposal into a buildable system definition, and it reveals where the prototype is incomplete without devaluing the prototype itself.

What implementation-ready actually means

A design does not need every sentence of final copy before implementation begins.

It does need enough definition that the team is no longer making structural product decisions accidentally during development.

A page or component is implementation-ready when the team can answer:

  1. What is its purpose?

  2. Is it a fixed template, reusable component, configurable section, or one-off experience?

  3. What data does it require?

  4. Which system owns each field?

  5. What can editors change?

  6. What must remain locked?

  7. Which variants are supported?

  8. What happens when data is missing, invalid, unavailable, unpublished, or expired?

  9. How does it behave across mobile, tablet, and desktop?

  10. Who can create, approve, and publish it?

  11. How is it localized?

  12. What existing content must migrate into it?

  13. Which integrations does it depend on?

  14. Is it required for launch?

  15. How will the team verify that it works?

Not every decision must be final. Unresolved decisions can remain open when they are documented with an owner, an assumption, a deadline, and an understood implementation impact.

The real risk is hidden uncertainty dressed up as completion.

A better prototype handoff process

The prototype shouldn't be thrown over the wall to developers with a request to "make this editable in Payload."

A stronger handoff runs through several deliberate steps.

Step 1: Identify the reusable visual system

Review the prototype and Storybook for repeated templates, cards, sections, controls, states, and responsive patterns.

Separate genuine reusable components from elements that merely look similar in one prototype.

Step 2: Identify the content domains

Determine which repeated experiences represent structured content types.

Examples may include:

  • articles
  • recipes
  • products
  • events
  • giveaways
  • ambassadors
  • resources
  • campaigns
  • lead magnets
  • microsites

Match these to real content domains rather than defaulting everything to generic Pages and Blocks.

Step 3: Define system ownership

For each visible data point, identify its source of truth.

Product data may come from a PIM. Assets may come from a DAM. Lead submission may belong to Salesforce. Inventory may belong to an operational platform. Payload may only own the website-specific presentation and relationships.

Step 4: Define editorial control

Specify exactly what editors can change, what they can select, what is derived automatically, and what remains fixed.

This is where the project converts visual flexibility into controlled autonomy.

Step 5: Define states and edge cases

Document mobile behaviour, empty states, errors, expired content, unavailable integrations, missing translations, long text, absent images, and unpublished relationships.

Step 6: Separate launch scope from future ideas

Label every visible or discussed capability.

An attractive prototype shouldn't get to turn optional ideas into invisible commitments.

Step 7: Connect the future model to migration

Map existing content and functionality into the proposed collections, templates, integrations, and retirement decisions.

Step 8: Produce acceptance criteria

Define how the team will know that the implementation matches the intended experience and operational requirement.

Only then does the prototype become part of an implementation-ready package.

The prototype remains essential

A strong prototype remains one of the best tools available for aligning stakeholders, testing hierarchy, revealing reusable patterns, and making an abstract platform direction tangible.

The mistake is asking it to answer questions it was never designed to answer.

A prototype should communicate the intended experience. A component system should define reusable frontend behaviour. A CMS blueprint should define content structure, editorial control, permissions, relationships, and system ownership. An implementation specification should connect all of these into a testable production contract.

When those layers are separated clearly, the design can remain ambitious without forcing developers to invent the architecture underneath it. When they get collapsed together, the prototype creates false confidence, and the website can look almost finished before the project has actually decided how it works.

That is the gap teams need to close before implementation begins.

A CMS prototype shows what the platform could look like; an implementation specification defines what it must do, who controls it, where its information comes from, and how it behaves once reality stops matching the perfect screen.