<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Signal and Structure]]></title><description><![CDATA[Practical thinking on web dev, Drupal, AI, and what actually matters.]]></description><link>https://www.lizkrukosky.com</link><image><url>https://substackcdn.com/image/fetch/$s_!xpal!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711ab894-7881-4d32-8e7a-d1303b0a506c_600x600.png</url><title>Signal and Structure</title><link>https://www.lizkrukosky.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 16 Sep 2026 00:38:15 GMT</lastBuildDate><atom:link href="https://www.lizkrukosky.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Liz Krukosky]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[lizkrukosky@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[lizkrukosky@substack.com]]></itunes:email><itunes:name><![CDATA[Liz Krukosky]]></itunes:name></itunes:owner><itunes:author><![CDATA[Liz Krukosky]]></itunes:author><googleplay:owner><![CDATA[lizkrukosky@substack.com]]></googleplay:owner><googleplay:email><![CDATA[lizkrukosky@substack.com]]></googleplay:email><googleplay:author><![CDATA[Liz Krukosky]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[I've Watched Drupal Grow Up.]]></title><description><![CDATA[The thing Drupal never lost]]></description><link>https://www.lizkrukosky.com/p/ive-watched-drupal-grow-up-203</link><guid isPermaLink="false">https://www.lizkrukosky.com/p/ive-watched-drupal-grow-up-203</guid><dc:creator><![CDATA[Liz Krukosky]]></dc:creator><pubDate>Mon, 07 Sep 2026 13:17:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xpal!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711ab894-7881-4d32-8e7a-d1303b0a506c_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>What makes me most optimistic is that Drupal didn&#8217;t have to throw away what made it Drupal to become easier to use.</span></p><p><span>Drupal CMS 2.0 still sits on Drupal Core. The same platform known for extensibility, structured content, complex workflows and long-lived websites is underneath the newer editing experience. That distinction matters.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><span>There are plenty of tools that can make putting something on a webpage easy.</span></p><p><span>The harder question is what happens afterwards and what happens down the road.</span></p><p><span>What happens when the site grows? When five editors become fifty? When content needs to appear in more than one place? When the organization needs workflows, permissions, integrations, translations, governance and years of future changes?</span></p><p><span>What feels different now is that the people creating and managing the content do not have to pay such a high usability price to get it.</span></p><p><span>Easy today isn&#8217;t enough. The platform has to stay healthy tomorrow. That is the part of Drupal I have always believed in. Durability, tested through over 25 years of success. Open source with an excellent, devoted community behind it.</span></p><h1><span>I watched the platform grow up</span></h1><p><span>Cool Fire has been a Drupal shop since 2008. I watched the platform grow up. That depth is exactly what I bring to the AI work now.</span></p><p><span>There were years when I would recommend Drupal because I knew what we could engineer with it, while also knowing we would have to work hard to make parts of the experience easier for the people using it every day.</span></p><p><span>Now I find myself excited about the experience itself. Canvas is easier. The component approach is cleaner. AI is becoming useful inside the workflow instead of being bolted onto the side.</span></p><p><span>The content can still have the structure that makes Drupal so powerful in the first place, while the whole platform feels much more approachable without feeling less serious.</span></p><p><span>After working with Drupal for this long, that is what surprises me most.</span></p><p><span>It doesn&#8217;t feel like Drupal became something else.</span></p><p><span>It feels like Drupal finally made more of its power accessible to more of the people who were supposed to benefit from it all along. And for someone who has been watching since Drupal 6, it really does feel like a whole new world.</span></p><p><span>This is the third and final piece of a longer reflection on Drupal CMS 2.0.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[I've Watched Drupal Grow Up. ]]></title><description><![CDATA[Embedding AI Where Content Work Actually Happens.]]></description><link>https://www.lizkrukosky.com/p/ive-watched-drupal-grow-up</link><guid isPermaLink="false">https://www.lizkrukosky.com/p/ive-watched-drupal-grow-up</guid><dc:creator><![CDATA[Liz Krukosky]]></dc:creator><pubDate>Fri, 04 Sep 2026 17:11:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xpal!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711ab894-7881-4d32-8e7a-d1303b0a506c_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>The AI work is another reason this feels like a different era.</span></p><p><span>Drupal CMS 2.0 doesn&#8217;t treat AI as a novelty sitting off to the side. Current features include Canvas AI for generating landing pages from prompts, an administrative chatbot that can help with site-building tasks, and AI-generated alt text for images. Drupal&#8217;s current product direction also includes AI-assisted content creation, editing and review as part of the CMS experience.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><span>That&#8217;s where I think AI becomes interesting.</span></p><p><span>I don&#8217;t need a CMS to put an AI button somewhere so it can say it has AI. I want AI where the work is happening, integrated. If I&#8217;m creating a page, help me create it. If I&#8217;m organizing content, understand the content model. If I&#8217;m working inside a structured system, use that structure as context. Drupal is particularly well positioned for this because structure has always been one of its strong suits.</span></p><p><span>Content types, fields, taxonomy and reusable content give Drupal an underlying model of what the information actually is. Drupal CMS continues to emphasize structured content that can be organized, reused and published across different experiences. That structure was valuable before AI, and it may become even more valuable because of AI.</span></p><h1><span>We are already seeing what that structure can mean</span></h1><p><span>We recently ran Cool Fire&#8217;s own Drupal site through the </span><a href="https://fireup-aio.com/ai-visibility-scorecard/"><span data-color="#3c78d8" style="color: rgb(60, 120, 216);">FireUp AIO AI Visibility Scorecard</span></a><span>. Our overall score was 64 out of 100, so there is plenty we still want to improve. But the Foundation pillar scored 100%. &#8220;Foundation&#8221; measures structural signals (e.g., semantic HTML, schema, entity clarity) where Drupal naturally excels.</span></p><p><span>I found that particularly interesting because the foundation is exactly where Drupal has always been strong. Good content is not just words sitting on pages. It has structure, relationships, context and meaning.</span></p><p><span>That doesn&#8217;t mean Drupal automatically gives you perfect AI visibility. It doesn&#8217;t on its own. Our own scorecard identified work we still need to do around expertise, citations, case studies and measurable proof. But it does reinforce something I have believed for a long time and that&#8217;s when the underlying structure is built well, you are starting from a much better place.</span></p><p>This is the second piece of a longer reflection on Drupal CMS 2.0, more coming.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[I've Watched Drupal Grow Up. Drupal CMS Feels Like a Whole New World.]]></title><description><![CDATA[Canvas, reusable components and AI are making Drupal easier for content teams without giving up the structure that made it powerful.]]></description><link>https://www.lizkrukosky.com/p/ive-watched-drupal-grow-up-drupal</link><guid isPermaLink="false">https://www.lizkrukosky.com/p/ive-watched-drupal-grow-up-drupal</guid><dc:creator><![CDATA[Liz Krukosky]]></dc:creator><pubDate>Thu, 03 Sep 2026 19:25:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xpal!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711ab894-7881-4d32-8e7a-d1303b0a506c_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>I started working with Drupal in 2008, right around the time Drupal 6 was coming onto the scene.</span></p><p><span>I&#8217;ve carried sites through version after version since then, including the Drupal 7 to 8 rewrite. I&#8217;ve watched Drupal become more powerful, more sophisticated and more capable of running websites that organizations depend on every day.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><span>I&#8217;ve also watched it make some things much harder than they needed to be.</span></p><p><span>That was always the tradeoff. With great power came... great complexity. But with Drupal CMS 2.0, the platform finally gets its hero arc.</span></p><p><span>Drupal could do almost anything, but getting all that power into the hands of the people actually managing the content often took more effort than it should have. Developers understood why Drupal was special. Editors did not always have the same experience.</span></p><p><span>That&#8217;s where Drupal CMS 2.0 enters the picture. It&#8217;s not just another version of Drupal.</span></p><p><span>It feels like Drupal has finally brought two things together that used to live much farther apart: serious engineering underneath and an editing experience that content teams can actually enjoy using.</span></p><h1><span>Canvas changes the conversation</span></h1><p><span>Drupal Canvas may be the part I am most excited about.</span></p><p><span>Canvas is now the default editing experience in Drupal CMS 2.0. Editors can drag components onto a page, see what they are building as they work and edit directly in context instead of bouncing back and forth between administrative forms and previews.</span></p><p><span>That sounds simple until you have spent years building CMS websites. The ability to give an editor a visual, drag-and-drop experience without giving up the structure underneath is more of a big deal than one may realize. An editor can work with things that make sense to an editor: a hero, a card, a testimonial, an accordion or a callout. Drupal CMS ships with reusable components for exactly those kinds of building blocks.</span></p><p><span>But developers are not giving up engineering discipline to make that possible.</span></p><p><span>Drupal&#8217;s Single Directory Components, or SDCs, provide a component architecture where a component&#8217;s metadata, markup and, when needed, CSS and JavaScript coexist. They are modular, reusable building blocks rather than one-off page constructions.</span></p><p><span>That matters because good visual editing should not mean chaos underneath, as visual builders lacking underlying structure often do.</span></p><p><span>The editor gets freedom while the organization gets consistency. And the developer? The protagonist in this story, still gets maintainable code.</span></p><p><span>That&#8217;s the balance I have wanted Drupal to reach for a very long time.</span></p><p>This is one piece of a longer reflection on Drupal CMS 2.0, more coming.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI Will Do Exactly What You Tell It]]></title><description><![CDATA[That's the Problem]]></description><link>https://www.lizkrukosky.com/p/ai-will-do-exactly-what-you-tell</link><guid isPermaLink="false">https://www.lizkrukosky.com/p/ai-will-do-exactly-what-you-tell</guid><dc:creator><![CDATA[Liz Krukosky]]></dc:creator><pubDate>Sun, 02 Aug 2026 14:44:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xpal!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711ab894-7881-4d32-8e7a-d1303b0a506c_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AI web development tools are genuinely impressive. They can generate content, write code, and scaffold entire sites in minutes. They do exactly what you ask.</p><p>The problem is that most of us don&#8217;t know with precision what to ask. And the tools don&#8217;t know the difference.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The Instruction Gap</p><p>There&#8217;s a meaningful difference between a tool that does what it&#8217;s told and a tool that does what you meant for it to do. AI tools are definitely in the first category. They generate output that matches the instruction put in, not the output you&#8217;re thinking of. And that accounts for everything the instructions left out.</p><p>The compliance requirement that limits what data can be stored where. The future integration that will need this system to behave in a specific way. The security implication of a particular architecture choice. The module that is widely used but poorly maintained. The most important parts of any development decision are the constraints that never appear in the prompt.</p><p>AI tools don&#8217;t ask about these. They execute against what was specified and produce something that works within that narrow frame. Whether it works within the broader context of the organization&#8217;s actual requirements is a different question.</p><p>What &#8220;It Works&#8221; Means</p><p>One of the most common misreadings of AI-generated code and content is treating it as a finished product. It generates, it functions, it deploys. The temptation is to treat all of that as completed work you can run with.</p><p>When someone says AI-generated code works, here&#8217;s what that actually establishes. It produces the expected output given the tested inputs, in the environment where it was tested. It doesn&#8217;t mean that it will handle edge cases. It doesn&#8217;t mean that it is structured in a way that will be maintainable in two years. It doesn&#8217;t mean that it follows the security practices your industry requires. It also doesn&#8217;t mean that it will integrate cleanly with the systems you add next year.</p><p>Those evaluations require judgment.</p><p>Where AI Tools Actually Excel</p><p>The point isn&#8217;t that AI tools are bad. They&#8217;re genuinely useful for many tasks.</p><p>They&#8217;re good at generating boilerplate code scaffolding, the repetitive structure, the starting point that would otherwise take an engineer a day to produce. They&#8217;re very good at documentation and summarizing what a function does then generating first drafts that get edited into something better. They&#8217;re good at exploration into things as well. They test approaches quickly, comparing patterns, and generating options for a decision that requires a human to make.</p><p>They&#8217;re tools, plain and simple, even though they may seem otherwise. The organizations that use them most effectively use them as part of a process that includes human judgment, and not as a replacement for it. The human side matters.</p><p>The Compounding Effect</p><p>AI-generated code and content has a quality that is often plausible but not quite optimal. It follows common patterns, just like people do.</p><p>But, the problem is that looking right isn&#8217;t the same as being right when it comes to content and solutions. When a senior engineer reviews AI-generated output, they are evaluating it against a set of criteria the AI didn&#8217;t have access to. Most non-engineers reviewing AI output aren&#8217;t able to make that evaluation; they see something that looks like it works and they accept it and move on. </p><p>The gaps that get skipped at that stage continue to compound. A first unstable, fragile, or insecure pattern could get replicated. An architecture that doesn&#8217;t scale may get extended. By the time the problem is visible enough to be realized, addressing it requires reworking everything built on top of the original issue.</p><p>What Senior Engineers Do Differently With AI Tools</p><p>Senior engineers use AI tools too but the difference is in how they use them and what they do with the output.</p><p>They prompt with constraints that reflect the actual context: the specific platform, the compliance requirements, the integration architecture, the performance characteristics and goals the system needs to hit. They review what comes back against criteria the tool did not have. They keep the parts that are good and discard the parts that are lacking or just downright wrong, including parts that may look right but are not.</p><p>They treat AI output as a first draft, not a final product, just as a content creator should as well. The engineering judgment that makes a first draft useful is not only in the well planned generation, but in the evaluation.</p><p>The Platform Question This Creates</p><p>For organizations that have used AI builders to launch sites and applications, the question is not whether to use AI, it&#8217;s whether the output has been evaluated by someone with the judgment to know what&#8217;s missing, including the obvious and not so obvious.</p><p>A site built in Framer or with Lovable can be a valid starting point. It can also be a platform with structural security gaps, SEO ceilings, and architectural decisions that limit what the organization can build on top of it. The tool that built it does not know which situation applies. That evaluation requires a person capable of that call.</p><p>Before You Build Anything Else On Top Of It</p><p>If you&#8217;ve already launched something built with an AI tool, here are five questions worth asking before you add the next thing.</p><ol><li><p>Where does your data actually live, and does that hold up against the rules your industry has about it?</p></li><li><p>What happens on the inputs nobody reviewed or tested? Not the demo path, the wonky ones.</p></li><li><p>If you handed this to a new developer in two years, could they pick up where you left off, or would they want to start over?</p></li><li><p>Are the modules and libraries in it actually maintained, or just widely used? Those aren&#8217;t the same thing.</p></li><li><p>What&#8217;s the next system you&#8217;ll want to connect this to, and has anything already been decided that makes that harder?</p></li></ol><p>If you can&#8217;t answer these, that isn&#8217;t a failure. It&#8217;s the evaluation the tool couldn&#8217;t do for you. Where does your code or content fall?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Site Looked Fine]]></title><description><![CDATA[Nobody decides to let a website fall apart.]]></description><link>https://www.lizkrukosky.com/p/the-site-looked-fine</link><guid isPermaLink="false">https://www.lizkrukosky.com/p/the-site-looked-fine</guid><dc:creator><![CDATA[Liz Krukosky]]></dc:creator><pubDate>Sat, 01 Aug 2026 00:03:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xpal!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711ab894-7881-4d32-8e7a-d1303b0a506c_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>That is the part I want to talk about, because when people hear about a site in bad shape they picture neglect. Somebody who stopped caring. That is almost never what happened.</p><p>What happens is quieter, and it is why it goes on so long.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>A while ago we were brought into a Drupal site that looked completely fine from the outside. Loaded properly, looked professional, nothing visibly wrong.</p><p>The forms were not working. Emails were not going out.</p><p>Sit with that for a second, because it is worse than a site being down. A site that is down tells you. Everybody knows within the hour and somebody fixes it. A form that quietly fails tells nobody. People filled it in, hit send, saw a thank you message, and went about their day thinking they had reached someone.</p><p>Nobody on the business side had any way to know. There is no alert for the message that never arrived.</p><p>There was more. Functionality already built into the site was not doing what it was supposed to do. Other things the business genuinely needed built could not get built, because the work had outgrown the setup they had. So the list of things that did not quite work got longer, and everyone learned to route around it.</p><p>That is the pattern, and I see it constantly. **No single bad decision. A hundred small workarounds nobody wrote down.**</p><p>When we got into the code we found the rest of it. There was broken code, messy code, and patched patches. Problems layered on top of older problems, in the way that happens when every fix has to avoid the last one.</p><p>The client was frustrated and genuinely did not know what to do next. That is the honest emotional middle of this story and I think it is the most common place for a business owner to be. They weren&#8217;t indifferent, they were stuck. Aware something was wrong, unable to describe it precisely enough to ask for the right help, and braced for someone to say the whole thing had to be rebuilt.</p><p>It did not have to be rebuilt.</p><p>We refactored the code that was causing the trouble. We built the functionality they had been waiting on. We fixed the long tail of things that were not working properly.</p><p>It was the same site and same platform, and their content and their history all stayed exactly where they were.</p><p>What changed is that it worked. The forms went through. The emails arrived. The functionality they had been unable to get built existed. The workarounds went away, and so did the complaints, which in a story like this one means more than it sounds like, because the silence before was the problem.</p><p>The client was thrilled. Sales went up and their customers were happier with the experience.</p><p>Here is the thing I most want you to take from this story.</p><p>Their site was costing them money for months and it did not look like anything was wrong. That is the whole danger. A slow site is annoying and a hacked site is a crisis, but both of those announce themselves. A form that silently drops leads doesn&#8217;t. Neither does functionality that just annoys people, quietly, with nothing reporting it. Problems like those keep going for as long as nobody tests them.</p><p>So while you are here, go and do these five things. They take about fifteen minutes.</p><p>1. **Fill in your own contact form.** All the way through, like a stranger would. Then confirm the message actually arrived somewhere a human reads.</p><p>2. **Do the same for every other form**, quote requests, newsletter signups, applications, event registrations. **Forms fail one at a time, not all together.**</p><p>3. **Ask whoever maintains your site when the last security update was applied**, and if anything broke when it was. If nobody knows, that is your answer.</p><p>4. **Write down every workaround your team uses.** Note the &#8220;oh you have to do it this way&#8221; instructions. Each one is a broken thing no one is fixing.</p><p>5. **Ask what your team has wanted to build and could not.** The reason is usually the real diagnosis.</p><p>If that list turns up nothing, genuinely good. You are in better shape than most.</p><p>If it turns up something, you have not found a disaster. You have found the thing that was quietly true anyway, and now you can decide what to do about it.</p><p>That is a much better position than not knowing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Start Here]]></title><description><![CDATA[What this newsletter is, and who it's for]]></description><link>https://www.lizkrukosky.com/p/start-here</link><guid isPermaLink="false">https://www.lizkrukosky.com/p/start-here</guid><dc:creator><![CDATA[Liz Krukosky]]></dc:creator><pubDate>Sat, 25 Jul 2026 01:51:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xpal!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711ab894-7881-4d32-8e7a-d1303b0a506c_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most business advice tells you to do more. This is not going to be that.</p><p>The businesses that get stuck aren&#8217;t lazy and they&#8217;re not behind on tools. They&#8217;re carrying too much that only exists in one person&#8217;s head, sitting on top of systems that were never built for anyone else to understand.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve spent twenty-one years building and untangling the systems businesses run on. Before that it was servers, networks, and databases, so I&#8217;ve seen this from a few angles. Lately a lot of that work is AI. Which is where this gets interesting. AI is the first tool that genuinely cannot help you until what&#8217;s in your head is gathered somewhere it can reach. Once it is, and you point AI at it with the right directions and guardrails, the thing that only existed in one person&#8217;s head becomes something your whole business can benefit from.</p><p>That&#8217;s what this newsletter is about. Signal is the part that actually matters. Structure is what makes it usable by someone other than you, including, now, by AI.</p><p>Here&#8217;s what to expect. Short pieces, most of them under five minutes. Plain language, because most of the jargon in my industry exists to make simple things sound expensive. And occasionally, something you can actually go do at the end, not just something to think about.</p><p>I&#8217;ll write about websites, because that&#8217;s where the scar tissue came from. I&#8217;ll write about AI honestly, including the parts that are overhyped and the parts that genuinely changed how my own company works. And I&#8217;ll write about the unglamorous structural things that decide whether either one is of any help to you at all.</p><p>If you&#8217;re sitting on a website that&#8217;s holding you back, or trying to work out where AI actually fits in your business, that&#8217;s what I&#8217;m here for.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.lizkrukosky.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Signal and Structure! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>