{"id":201,"date":"2026-07-20T20:34:24","date_gmt":"2026-07-20T20:34:24","guid":{"rendered":"https:\/\/demos.canvaswp.com\/business\/2026\/07\/20\/component-libraries-that-survive\/"},"modified":"2026-07-20T20:34:24","modified_gmt":"2026-07-20T20:34:24","slug":"component-libraries-that-survive","status":"publish","type":"post","link":"https:\/\/demos.canvaswp.com\/business\/2026\/07\/20\/component-libraries-that-survive\/","title":{"rendered":"Component Libraries That Survive Their Authors"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Most component libraries die within eighteen months. Not from technical failure, from drift. Someone needs a button that is almost the standard button, ships a variant, and six months later there are eleven buttons and no rule for choosing between them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The libraries that last share one property: adding a variant is harder than using an existing one. That sounds hostile, and it is, deliberately. When the path of least resistance is reuse, reuse happens without anyone policing it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In practice this means a small, opinionated set of primitives, a documented reason for each, and a review step that asks what the new thing replaces rather than what it adds. It also means deleting things. A library that only grows is an inventory, not a system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The goal is not to prevent change. It is to make sure change is a decision rather than an accident.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most component libraries die within eighteen months. Not from technical failure, from drift. Someone needs a button that is almost the standard button, ships a variant, and six months later there&hellip;<\/p>\n","protected":false},"author":1,"featured_media":207,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[49,50,51],"class_list":["post-201","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-components","tag-design-systems","tag-maintenance"],"_links":{"self":[{"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/posts\/201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/comments?post=201"}],"version-history":[{"count":0,"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/posts\/201\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/media\/207"}],"wp:attachment":[{"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/media?parent=201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/categories?post=201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demos.canvaswp.com\/business\/wp-json\/wp\/v2\/tags?post=201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}