{"id":56,"date":"2026-10-08T09:30:45","date_gmt":"2026-10-08T09:30:45","guid":{"rendered":"https:\/\/www.glencoulson.com\/?p=56"},"modified":"2026-10-08T09:39:02","modified_gmt":"2026-10-08T09:39:02","slug":"fortidude-keeping-ai-development-on-track","status":"publish","type":"post","link":"https:\/\/www.glencoulson.com\/index.php\/2026\/10\/08\/fortidude-keeping-ai-development-on-track\/","title":{"rendered":"FortiDude: Keeping AI Development on Track"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">What wasn&#8217;t working<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve been building a lot of software with AI lately, and one of my biggest frustrations has been <strong>regression<\/strong>. That&#8217;s when you add or fix something in an application, only to discover you&#8217;ve broken something that was already working.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AI can write some pretty impressive code, but it has a tendency to focus on the task in front of it and lose sight of the bigger picture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s why I came up with <strong>FortiDude<\/strong>, a little nod to the expression &#8220;intestinal fortitude.&#8221; I wanted to give AI some discipline and keep it focused on finishing what we started.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Give AI the Whole Blueprint<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The idea behind FortiDude is pretty simple. Instead of building an application one instruction at a time, we map out the entire project before writing code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FortiDude breaks development into five parts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Description:<\/strong> What the application is supposed to do.<\/li>\n\n\n\n<li><strong>Constitution:<\/strong> Rules and design decisions the AI must follow.<\/li>\n\n\n\n<li><strong>Sprints:<\/strong> The order in which features get developed.<\/li>\n\n\n\n<li><strong>Punchlists:<\/strong> Specific tasks that need to be completed.<\/li>\n\n\n\n<li><strong>Gates:<\/strong> Checkpoints to make sure everything still works.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This allows the AI to see the project from start to finish instead of just concentrating on the next feature.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why This Matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Think of building a house. You wouldn&#8217;t start putting up walls without knowing where the plumbing and electrical systems need to go.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Software works much the same way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By planning the entire application upfront, <strong>the software architect can fine-tune the design from the onset<\/strong>, identify potential problems, and make changes before they become expensive coding mistakes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The AI also knows what&#8217;s coming in later development stages, so it can make better decisions early on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Keeping Regression Out of the Picture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This was my biggest motivation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I got tired of asking AI to add a feature and discovering that something we finished three sprints ago was suddenly broken.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FortiDude uses its constitution, punchlists, and gates to keep development consistent. Completed features are checked as new ones are added, helping prevent regression instead of constantly repairing it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No system can guarantee that bugs won&#8217;t happen, but a complete blueprint and regular checkpoints can dramatically reduce the chances.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Bottom Line<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">FortiDude isn&#8217;t another AI programming language or coding engine. It&#8217;s a structured way to manage AI software development.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The human remains the software architect. AI does the heavy lifting, but it follows a plan that has already been thought through from beginning to end.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>My goal is simple: Spend more time building new features and less time fixing things that worked yesterday.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s FortiDude.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What wasn&#8217;t working I&#8217;ve been building a lot of software with AI lately, and one of my biggest frustrations has been regression. That&#8217;s when you add or fix something in an application, only to discover you&#8217;ve broken something that was already working. AI can write some pretty impressive code, but it has a tendency to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":61,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[12],"class_list":["post-56","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-ai-dev"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/posts\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":2,"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":62,"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/posts\/56\/revisions\/62"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/media\/61"}],"wp:attachment":[{"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/media?parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/categories?post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glencoulson.com\/index.php\/wp-json\/wp\/v2\/tags?post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}