惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
腾讯CDC
P
Palo Alto Networks Blog
Spread Privacy
Spread Privacy
S
Schneier on Security
NISL@THU
NISL@THU
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
T
Threatpost
Scott Helme
Scott Helme
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
I
Intezer
C
Check Point Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
S
Securelist
Security Latest
Security Latest
大猫的无限游戏
大猫的无限游戏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
小众软件
小众软件
www.infosecurity-magazine.com
www.infosecurity-magazine.com
云风的 BLOG
云风的 BLOG
量子位
T
Tor Project blog
博客园 - 叶小钗
The Cloudflare Blog
Simon Willison's Weblog
Simon Willison's Weblog
T
Tailwind CSS Blog
W
WeLiveSecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Security Affairs
罗磊的独立博客
Know Your Adversary
Know Your Adversary
Engineering at Meta
Engineering at Meta
G
Google Developers Blog
Help Net Security
Help Net Security
美团技术团队
P
Privacy International News Feed
The Hacker News
The Hacker News
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

Sanity.io

A Board Game agent built using Sanity Context and Vercel's AI SDK | Sanity Build a prototype with Claude Code that your whole team can edit | Sanity What’s New - May 2026 | Sanity I built a London pub guide with v0 and the Sanity MCP in six hours. Here's what I learned. | Sanity Build a conference concierge with Agent Context and Anthropic | Sanity Build a content-aware Telegram agent with Vercel AI SDK and Chat SDK | Sanity How I used Agent API to generate photos for my family’s recipes | Sanity What’s New April - 2026 | Sanity Better context, better matches: An AI love story (for dogs) | Sanity How to write for an agent | Sanity Content Agent, meet Slack: AI content operations in your workflow | Sanity Structure powers intelligence | Sanity Your agent needs better content. Here's how to give it. | Sanity How to serve content to agents (a field guide) | Sanity Sanity TypeGen GA: Automatic TypeScript types for content and GROQ | Sanity Sanity is now available on the Vercel Marketplace | Sanity The logo soup problem (and how to solve it) | Sanity Content Releases: From scattered updates to coordinated publishing | Sanity What's New - February 2026 | Sanity How we solved the agent memory problem | Sanity v0 Builder Challenge: The winners | Sanity Introducing: Sanity Agent Skills | Sanity Content Agent: Days of work in one conversation | Sanity Our Sanity Values | Sanity Open Source Pledge 2025: Stepping up when it matters | Sanity v0 builder challenge: $3000 in prizes | Sanity Why AI Breaks Without Structured Content Operations | Sanity What’s New January - 2026 | Sanity BFCM 2025: What teams built when infrastructure stopped being the problem | Sanity How AI shaped holiday shopping and what it means for content in 2026 | Sanity Sanity Studio v5: Embracing React 19 | Sanity You’ll need a CMS eventually. Let your agent set it up. | Sanity “You should never build a CMS” | Sanity AI Content Operations: A 30-Day Implementation Guide | Sanity What’s New December - 2025 | Sanity Scheduled Drafts: Stop manually publishing content at midnight | Sanity What’s New November - 2025 | Sanity Everything *[NYC] 2025 recap: A day of AI, Content Operations, and Culture | Sanity Clankers and content operations | Sanity Content Agent: AI that understands your structured content is here | Sanity What's New October - 2025 | Sanity From studio to inbox: How Kevin Green eliminated email campaign friction | Sanity The content editor's guide to content operations [E-commerce edition] | Sanity styled-components maintenance mode: A 40% faster fork | Sanity From zero code to a live website in 7 hours (thanks, Cursor!) | Sanity First attempt will be 95% garbage: A staff engineer's 6-week journey with Claude Code | Sanity Internationalization is more than translating words | Sanity What's New - September 2025 | Sanity We just deleted our 35k-member community Slack | Sanity What's New - August 2025 | Sanity The engineer's guide to content operations [E-commerce edition] | Sanity SEO for AI: Evolving from Web Pages to the Content Lake | Sanity What's New - July 2025 | Sanity Sanity Studio v4: A major version bump for a minor reason | Sanity What's New - June 2025 | Sanity Dashboard and Insights: Your New Content HQ | Sanity Canvas: AI-accelerated, context-aware, freeform authoring | Sanity Agent Actions: AI building blocks for structured content | Sanity Functions: Life beyond pressing publish | Sanity A new era for content applications with Sanity App SDK | Sanity The end of CMS era and our $85M Series C. | Sanity What's New – May 2025 | Sanity Introducing the Sanity Model Context Protocol (MCP) server | Sanity What's New – April 2025 | Sanity Pushing all the envelopes with ambitious content | Sanity Self-hosting is only free if your time is worth nothing | Sanity Content that lasts: Scaling beyond your frontend | Sanity The Live Content API is now Generally Available | Sanity The future beyond AI chat bots | Sanity Learning the new skill of working with AI | Sanity What's New - March 2025 | Sanity Give it in plain text: Making your content AI-Ready | Sanity No More 'DO NOT PUBLISH': Introducing Content Releases | Sanity React in 2025, what's next? | Sanity The final boss of front-end: block editors | Sanity Introducing Sanity for Startups | Sanity A block content editor that loves you back | Sanity A Black Friday Snooze Fest: Massive Traffic, No Drama | Sanity How to make a recipe site that scales well | Sanity The Sanity Winter Release 2024 | Sanity AVIF Arrives, Sanity’s Promise Fulfilled | Sanity Sanity joins the Open Source Pledge | Sanity Your content is now Live by default | Sanity Begin Team to Join Sanity | Sanity Sanity Digest - September '24 Edition | Sanity Sanity partners with Google. Now live on the Google Cloud Marketplace. | Sanity Sanity Digest - August ‘24 Edition | Sanity Now playing: the latest Mux Video Input plugin for Sanity | Sanity Community Digest - June ‘24 Edition | Sanity Community Digest - May ‘24 Edition | Sanity Guide to Sanity's newest product announcements | Sanity AI and Content Creation: A Leader's Guide | Sanity Of course, you should be able to type your content quickly! | Sanity New to AI Assist: translation, reference suggestions, image generation | Sanity Speak the language of your editors: Sanity Studio UI localization | Sanity Introducing the new Sanity Growth plan to serve collaborative teams | Sanity Presentation: Work faster than ever with structured content | Sanity Goodbye Feedback Frenzy, Hello Sanity Studio Comments! | Sanity Easing into the App Router with the Sanity Toolkit for Next.js | Sanity Making website updates easier with structured content | Sanity
Why design-driven content modeling creates technical debt, not velocity | Sanity
Knut Melvær · 2025-10-22 · via Sanity.io

Design-driven content modeling creates technical debt, not velocity.

You know that moment when your designer updates a Figma component and suddenly your content model breaks in production? No? Consider yourself lucky.

A headless CMS vendor just announced their Figma connector at their first conference. Others have been pushing "visual development" workflows. The pitch is seductive: push a button in Figma, get content types in your CMS. "Eliminate hours of manual work!" The demos are slick. Watch a component magically transform into schema fields.

But here's what they don't show in the demo: developers still need to build every frontend component, write every query, and maintain every connection. You haven't eliminated developer work. You've just moved it downstream where it's harder to fix.

This is like writing inline styles instead of CSS classes. Sure, you can see exactly what you're styling right there in the markup. But good luck maintaining it, reusing it, or changing your design system.

What the headless CMS vendor literally shows in their demo: designers creating content types without understanding your codebase, your data patterns, or your API contracts. They're celebrating saving "hours" on schema creation, as if the problem with content modeling was the typing, not the thinking. Meanwhile, your developers now have to build components that consume whatever structure got auto-generated, whether it makes sense or not.

The fundamental mismatch

Here's what actually happens when you let design tools dictate your content model:

Now multiply this by every component variant, every A/B test, every seasonal campaign. Your designers are doing exactly what they should: versioning and organizing their work. But that organizational system was never meant to become your data model.

Your content team wants to update a product description once and have it appear everywhere. Your developers want clean, predictable data structures. Your AI tools need semantic understanding of content relationships. None of these stakeholders care about the 40px padding on your hero section.

Why separate content from presentation

Content operations at scale require:

  • Reusability: Update once, publish everywhere
  • Portability: Survive redesigns, work across channels
  • Interoperability: Flow between systems via APIs
  • Semantic clarity: AI and automation need to understand intent

Design-driven modeling violates all of these principles. You're creating single-purpose content types tied to specific visual presentations. That "TestimonialCard_v2" type becomes useless when you redesign the testimonials section next quarter.

The real cost of component-based content

Let's trace what happens in a typical organization using design-to-CMS mapping:

Month 1: "This workflow is amazing! Designers can ship landing pages without dev involvement!"

Month 2: Developers discover they're coding against content types like HeroWithTwoButtonsLeft and HeroWithOneButtonCentered. Every design variation has become a unique API contract they have to implement.

Month 3: You have 47 content types. Half are variations of the same concept. TeamMember, StaffCard, AboutUsProfile, and PersonnelBio all represent the same thing: a person.

Month 6: Content editors are copy-pasting between similar-but-not-identical types. The "Meet Our Team" page uses different data than the author bylines, which differ from the conference speaker profiles.

Month 12: A rebrand requires updating 200+ components. Since each maps to a content type with production data, migration scripts multiply like rabbits. Your "velocity gain" has become a refactoring nightmare.

When design-first actually works

There's exactly one scenario where component-to-content mapping makes sense:

  • Single-channel marketing sites
  • No content reuse requirements
  • Throwaway campaign pages
  • Prototypes that will be rebuilt properly
  • Small teams where designers and developers are the same people
  • Perfect design system governance (good luck with that)

If you're building one-off landing pages that will be deleted after the campaign, go wild. For everyone else, there's a better way.

"But what about page builders?"

You might think page builders are the perfect use case for design-driven content types. After all, aren't they literally about assembling visual components?

Not quite. Even in page builder scenarios, you need real content modeling:

Even page builders benefit from proper content architecture. That team member who appears in your "About Us" page builder block? They should be the same Person document that appears in blog post bylines, conference speaker lists, and email signatures.

That product featured in your hero? It should pull from your product catalog, not duplicate the data. When the price changes or it goes out of stock, you want that reflected everywhere automatically.

Page builders aren't an excuse to abandon content modeling. They're just another presentation layer that should consume your properly structured content.

The sustainable alternative: Design-informed, not design-driven

Here's how teams successfully balance design velocity with content operations:

The governance burden nobody talks about

For design-to-content workflows to even remotely work at scale, you need military-grade governance of your design system. Not just "keep components tidy" governance, but:

  • Every designer must understand the downstream content implications of creating a new variant
  • Every component must be named with API compatibility in mind
  • Every property must consider reusability across channels
  • Every iteration must maintain backward compatibility with production content

Ask yourself: Has your design team ever renamed a component from HeaderNav to PrimaryNavigation for clarity? Congratulations, you just broke production. Did someone create TeamMemberCardCompact because the original TeamMemberCard didn't fit the new layout? You now have duplicate content types that will haunt you forever.

This isn't how design teams work, and it shouldn't be. Designers need freedom to explore, iterate, and respond to user feedback without worrying about database migrations.

The truth is, it's far easier to use your content model to inspire your design system. Here's why:

Why content-first design actually works

When you start with a content model, you're starting with the business domain. A Person is a person whether they appear in an author byline, team page, or conference speaker list. A Product has the same core attributes whether it's in a hero banner or a comparison table.

Your design system can create infinite presentations of the same content. But the content structure remains stable, reusable, and semantically clear.

Cross-functional teams need stable contracts

In organizations where design, development, and content teams collaborate, you need stable interfaces between disciplines. The content model is that interface.

When the content model is stable:

  • Designers can create new components without breaking APIs
  • Developers can refactor implementations without touching content
  • Content teams can update once and publish everywhere
  • AI and automation can understand and process content reliably

When design drives content structure:

  • Every design change requires a developer review
  • Every new component risks creating duplicate content types
  • Every team waits for every other team
  • Every automation breaks when components change

Here's what this looks like in practice:

The agency handoff disaster

This problem gets worse with agency handoffs. An agency builds a beautiful design system in Figma, pushes it to your CMS, and leaves. Six months later:

  • You can't modify components without breaking content types
  • New team members can't understand why HeroBannerV2Final exists alongside HeroSectionUpdated
  • The agency's naming conventions are now your database schema
  • You're paying for migration scripts instead of new features

Compare this to content-model-first handoffs:

The agency can completely reimagine the presentation without touching your content structure. When they leave, you can hire anyone to continue the work. The content model is the contract, and contracts need to be stable.

Why schema-as-code makes content-first design easier

With Sanity, your content model lives in version control, right next to your design system. Both are code, both are versioned, both can evolve. But here's the key: they evolve independently.

Designers can ship new variants every sprint. Developers can refactor components every day. The content model remains your stable foundation. This is only possible when your schema is code, not something clicked together in a UI that auto-generates from Figma.

Model your domain, not your UI

Use AI tools to bridge design and code, not push schemas around

The Figma MCP server plus modern AI coding assistants show a smarter pattern. Instead of pushing component structures into your CMS, you can:

Your content model stays clean. Your design system stays flexible. Your developers stay sane.

Create a translation layer, not a direct mapping

Smart teams build an abstraction between design components and content types:

This way, design can evolve independently from content structure. When you redesign, you're updating the presentation layer, not migrating data.

The Figma-to-production pipeline that actually scales

Here's how modern teams are using AI tools to bridge design and content without creating technical debt:

This isn't about building another abstraction layer or plugin. It's about using AI context to translate between design intent and existing content structure. The Figma MCP server gives your AI assistant visibility into the design system, while your codebase provides the content model context.

The key difference: Figma informs the component creation, but your content model drives the data structure. No new tools, no complex mappings. Just intelligent code generation that respects both design and data.

Why AI-assisted beats "automatic" every time

The tools pushing automatic Figma-to-CMS conversion want you to believe that removing the developer from the loop increases velocity. But what they're really doing is removing the only person who understands the downstream implications.

With AI-assisted development (Figma MCP + Claude/Cursor):

  • You maintain control: Review and adjust mappings before they hit production
  • You preserve context: AI understands your existing patterns and conventions
  • You catch problems early: "Wait, we already have a Person type, don't create TeamMember"
  • You build systematically: Each component follows your established architecture

The "automatic" approach gives you speed today and migration scripts forever. The AI-assisted approach gives you sustainable velocity.

Red flags that you're doing it wrong

  • Content types named after UI components (FooterLinks, NavbarItem)
  • Version numbers in your schema (HeroV2, CardV3Final)
  • Duplicate content across similar types
  • Migration scripts for every design update
  • Content editors asking "which type should I use?"

What to do if you're already in component hell

If you've already gone down this path, here's your escape route:

  1. Audit your content types: List every type and what it actually represents
  2. Find the duplicates: Group types that represent the same domain concept
  3. Create canonical types: Build proper domain models for your core entities
  4. Build a migration plan: Move content gradually, starting with the most reused
  5. Add a translation layer: Map old component-types to new domain types
  6. Create shared understanding: Help the whole team see content as data that serves multiple purposes, not just visual elements

The bottom line

Look, we get it. The pressure to ship fast is real. When a vendor shows you a button that turns Figma components into content types, it feels like found time.

But here's the thing: you're not actually saving developer time. You're just moving it. Instead of spending an hour thinking through your content model upfront, you'll spend weeks untangling it later. Instead of one developer reviewing schema changes, you'll have three developers debugging why the same content exists in five different types.

The companies pushing design-to-content workflows have built a solution to a problem that mostly exists because of architectural choices. If your content model is trapped in a UI, yeah, you need magic buttons to generate it. But if your content model is code—versioned, reviewed, and living right next to your components—you don't need the automation. You need good architecture.

Design tools should accelerate how you present content. Your content model should represent your business domain. The bridge between them? That's what developers are for. And honestly, with AI coding assistants that understand both your Figma components and your existing schema, building that bridge is faster than ever.

Just don't let the bridge become your foundation.

---

Want to talk through your content architecture before you end up with 47 types representing the same concept? We're here for that, get in touch.