[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-index":3,"blog-categories":207,"blog-tags":222},{"posts":4,"pagination":202,"error":14},[5,28,43,61,79,100,114,132,145,160,174,188],{"id":6,"title":7,"slug":8,"excerpt":9,"cover":10,"coverAlt":15,"datePublished":16,"dateModified":16,"category":17,"author":20,"tags":23},"bhqshiz4a0stwy96jp5bjkoi","AI Agent, Rules Engine, or Conventional Software: How to Choose","ai-agent-rules-engine-or-conventional-software","The question is rarely whether a task could use an AI agent. It is how much the input varies and what a wrong answer costs. A practical way to match a task to an approach.",{"url":11,"width":12,"height":13,"alt":14},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fblog_feature_ai_agent_rules_engine_5182feff11.jpg",3200,1800,null,"AI Agent vs Rules Engine vs Conventional Software","2026-09-17",{"name":18,"slug":19},"AI and Automation","ai-and-automation",{"name":21,"slug":22},"DrieVerse Tech","drieverse-tech",[24,26],{"name":25,"slug":25},"decision-frameworks",{"name":27,"slug":27},"human-in-the-loop",{"id":29,"title":30,"slug":31,"excerpt":32,"cover":33,"coverAlt":35,"datePublished":36,"dateModified":36,"category":37,"author":38,"tags":39},"l8v93is8wurosun0sowl4io2","How to Prioritize an Automation Backlog When Everything Looks Urgent","how-to-prioritize-an-automation-backlog","A backlog nobody has ordered gets ordered by whoever complained most recently. Here is how to rank automation candidates by the hours they actually return.",{"url":34,"width":12,"height":13,"alt":14},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fblog_feature_automation_backlog_c3169b22fd.jpg","Dark cover reading \"Rank by hours returned\" above six descending bars, with the DrieVerse Tech logo, for a post about prioritizing an automation backlog.","2026-09-16",{"name":18,"slug":19},{"name":21,"slug":22},[40,42],{"name":41,"slug":41},"process-design",{"name":25,"slug":25},{"id":44,"title":45,"slug":46,"excerpt":47,"cover":48,"coverAlt":50,"datePublished":51,"dateModified":51,"category":52,"author":55,"tags":56},"tvvj273m9sq3gal86fv6ddlu","How to Write a Software Project Brief That Vendors Can Actually Use","how-to-write-a-software-project-brief","If three vendors quote three different projects, the brief may be the problem, not the vendors. Here is what a software project brief actually needs to cover.",{"url":49,"width":12,"height":13,"alt":14},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fexports_drieverse_blog_project_brief_3200x1800_5c78424ec5.jpg","Dark field-notes cover reading \"One request. Three quotes.\" with the DrieVerse Tech logo, for a post about writing software project briefs vendors can use.","2026-09-15",{"name":53,"slug":54},"Engineering","engineering",{"name":21,"slug":22},[57,59,60],{"name":58,"slug":58},"discovery",{"name":25,"slug":25},{"name":41,"slug":41},{"id":62,"title":63,"slug":64,"excerpt":65,"cover":66,"coverAlt":70,"datePublished":51,"dateModified":51,"category":71,"author":72,"tags":73},"pd4jza5v2v3mlzkn1zpuqtqc","Custom Software vs Off-the-Shelf Software: Which Is Right for Your Business?","custom-software-vs-off-the-shelf-software","Buying and building are not opposites. The real decision is which parts of your stack are commodity, which are differentiated, and what the workaround is already costing you.",{"url":67,"width":68,"height":69,"alt":14},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fexports_drieverse_blog_custom_vs_offtheshelf_1200x675_432e8be1b9.jpg",2400,1350,"Purple-to-blue gradient cover for a build-versus-buy article, with an example capability list marking Analytics and Billing as Buy, Pricing Logic as Build.",{"name":53,"slug":54},{"name":21,"slug":22},[74,76,77],{"name":75,"slug":75},"architecture",{"name":25,"slug":25},{"name":78,"slug":78},"technical-debt",{"id":80,"title":81,"slug":82,"excerpt":83,"cover":84,"coverAlt":88,"datePublished":89,"dateModified":89,"category":90,"author":93,"tags":94},"x241areyikdk5hz1bp7r0a10","What an Incident Runbook Should Actually Contain","what-an-incident-runbook-should-actually-contain","Most incident runbooks are either too vague to use under pressure or too detailed to keep current. Here is what actually earns a place in one.",{"url":85,"width":86,"height":87,"alt":88},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fwhat_an_incident_runbook_should_actually_contain_cover_0b0a204432.png",1200,630,"What an Incident Runbook Should Actually Contain - cover image (seed-blog-content-cover)","2026-09-05",{"name":91,"slug":92},"Infrastructure and Operations","infrastructure-and-operations",{"name":21,"slug":22},[95,97,98],{"name":96,"slug":96},"observability",{"name":41,"slug":41},{"name":99,"slug":99},"risk-management",{"id":101,"title":102,"slug":103,"excerpt":104,"cover":105,"coverAlt":107,"datePublished":89,"dateModified":89,"category":108,"author":109,"tags":110},"uyqm3qwx7pvjhflghagpv9w9","Retrieval-Augmented Generation, Explained for the Team Deciding Whether to Build It","retrieval-augmented-generation-explained-for-builders","RAG is not a magic fix for a model that does not know your data. It is a specific architecture with real tradeoffs. Here is what it actually does and when it is the wrong tool.",{"url":106,"width":86,"height":87,"alt":107},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fretrieval_augmented_generation_explained_for_builders_cover_8846eb9f58.png","Retrieval-Augmented Generation, Explained for the Team Deciding Whether to Build It - cover image (seed-blog-content-cover)",{"name":18,"slug":19},{"name":21,"slug":22},[111,112],{"name":75,"slug":75},{"name":113,"slug":113},"evidence-based-claims",{"id":115,"title":116,"slug":117,"excerpt":118,"cover":119,"coverAlt":121,"datePublished":89,"dateModified":89,"category":122,"author":125,"tags":126},"n6ngi38hl6ob37b8x686x6i4","What We Look for in a Discovery Call Before We Say Yes to a Project","what-we-look-for-in-a-discovery-call","A discovery call is a two-way evaluation. Here is what we are actually listening for, and why some conversations end with us recommending someone else.",{"url":120,"width":86,"height":87,"alt":121},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fwhat_we_look_for_in_a_discovery_call_cover_83f12dbabe.png","What We Look for in a Discovery Call Before We Say Yes to a Project - cover image (seed-blog-content-cover)",{"name":123,"slug":124},"Company","company",{"name":21,"slug":22},[127,128,130,131],{"name":58,"slug":58},{"name":129,"slug":129},"positioning",{"name":99,"slug":99},{"name":27,"slug":27},{"id":133,"title":134,"slug":135,"excerpt":136,"cover":137,"coverAlt":139,"datePublished":89,"dateModified":89,"category":140,"author":141,"tags":142},"hr6slx7pj1jhpsdjitsiftj6","What a Technical Discovery Phase Should Produce Before Anyone Writes a Spec","what-technical-discovery-should-produce","Discovery is not a meeting series, it is a deliverable. Here is exactly what a discovery phase should hand you before a single sprint starts.",{"url":138,"width":86,"height":87,"alt":139},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fwhat_technical_discovery_should_produce_cover_53a60a88be.png","What a Technical Discovery Phase Should Produce Before Anyone Writes a Spec - cover image (seed-blog-content-cover)",{"name":53,"slug":54},{"name":21,"slug":22},[143,144],{"name":58,"slug":58},{"name":99,"slug":99},{"id":146,"title":147,"slug":148,"excerpt":149,"cover":150,"coverAlt":152,"datePublished":89,"dateModified":89,"category":153,"author":156,"tags":157},"e0swphiy3kmndja64mtxx9in","Logo Refresh or Brand Refresh: How to Tell Which One You Actually Need","logo-refresh-or-brand-refresh-how-to-tell-which-you-need","A tired logo and a brand problem look similar from the inside. Here is the actual test for which one you are facing before you commission either.",{"url":151,"width":86,"height":87,"alt":152},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Flogo_refresh_or_brand_refresh_how_to_tell_which_you_need_cover_6342f9f84f.png","Logo Refresh or Brand Refresh: How to Tell Which One You Actually Need - cover image (seed-blog-content-cover)",{"name":154,"slug":155},"Brand and Design","brand-and-design",{"name":21,"slug":22},[158,159],{"name":129,"slug":129},{"name":25,"slug":25},{"id":161,"title":162,"slug":163,"excerpt":164,"cover":165,"coverAlt":167,"datePublished":89,"dateModified":89,"category":168,"author":169,"tags":170},"dgfzi6pl54bb1ac28vyejq9j","Monolith or Microservices for Your First Release: How to Actually Decide","monolith-or-microservices-for-your-first-release","A first product version almost never needs microservices. Here is the actual test for when it does, and what a monolith costs you if you guess wrong.",{"url":166,"width":86,"height":87,"alt":167},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fmonolith_or_microservices_for_your_first_release_cover_d06eda51a2.png","Monolith or Microservices for Your First Release: How to Actually Decide - cover image (seed-blog-content-cover)",{"name":53,"slug":54},{"name":21,"slug":22},[171,172,173],{"name":75,"slug":75},{"name":25,"slug":25},{"name":78,"slug":78},{"id":175,"title":176,"slug":177,"excerpt":178,"cover":179,"coverAlt":181,"datePublished":89,"dateModified":89,"category":182,"author":183,"tags":184},"b8s65pxknri4f5h8czuzeuqs","Reading a Legacy Codebase Before You Touch It: A Practical Audit","auditing-a-legacy-codebase-before-you-touch-it","Before the first commit against an inherited codebase, run an audit that answers what it actually does, what depends on it, and what breaks first if you get it wrong.",{"url":180,"width":86,"height":87,"alt":181},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fauditing_a_legacy_codebase_before_you_touch_it_cover_7e7f7d9c69.png","Reading a Legacy Codebase Before You Touch It: A Practical Audit - cover image (seed-blog-content-cover)",{"name":53,"slug":54},{"name":21,"slug":22},[185,186,187],{"name":58,"slug":58},{"name":78,"slug":78},{"name":99,"slug":99},{"id":189,"title":190,"slug":191,"excerpt":192,"cover":193,"coverAlt":195,"datePublished":89,"dateModified":89,"category":196,"author":197,"tags":198},"b3grwenadgzrfng90izu7vv4","Where Automation Actually Pays Off in Back-Office Work, and Where It Quietly Fails","where-automation-actually-pays-off-in-back-office-work","Automation earns its keep on high-volume, well-defined steps. It fails quietly on judgment calls dressed up as rules. Here is how to tell the two apart before you build.",{"url":194,"width":86,"height":87,"alt":195},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fwhere_automation_actually_pays_off_in_back_office_work_cover_68975e3557.png","Where Automation Actually Pays Off in Back-Office Work, and Where It Quietly Fails - cover image (seed-blog-content-cover)",{"name":18,"slug":19},{"name":21,"slug":22},[199,200,201],{"name":41,"slug":41},{"name":25,"slug":25},{"name":99,"slug":99},{"page":203,"pageSize":204,"pageCount":205,"total":206},1,12,2,19,[208,210,212,214,216,220],{"name":18,"slug":19,"description":209,"seo":14},"Applied AI and automation: what it actually does inside a working system, and where a human stays in the loop.",{"name":154,"slug":155,"description":211,"seo":14},"Visual identity and interface design, and how a consistent design system holds together across a product.",{"name":123,"slug":124,"description":213,"seo":14},"Updates from DrieVerse Tech: what we are building, shipping and learning.",{"name":53,"slug":54,"description":215,"seo":14},"Software architecture, code quality and the engineering practice behind the systems we build.",{"name":217,"slug":218,"description":219,"seo":14},"Growth","growth","Search visibility, content and acquisition: the growth work that sits alongside a build rather than bolted onto it.",{"name":91,"slug":92,"description":221,"seo":14},"DevOps, hosting, reliability and the operational work that keeps a system running once it is live.",[223,224,225,226,227,228,229,230,231,232],{"name":75,"slug":75},{"name":25,"slug":25},{"name":58,"slug":58},{"name":113,"slug":113},{"name":27,"slug":27},{"name":96,"slug":96},{"name":129,"slug":129},{"name":41,"slug":41},{"name":99,"slug":99},{"name":78,"slug":78}]