[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-page-3":3,"blog-categories":206,"blog-tags":219},{"posts":4,"pagination":201,"error":14},[5,30,52,69,83,99,117,130,146,159,173,187],{"id":6,"title":7,"slug":8,"excerpt":9,"cover":10,"coverAlt":15,"datePublished":16,"dateModified":16,"category":17,"author":20,"tags":23},"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":11,"width":12,"height":13,"alt":14},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fexports_drieverse_blog_custom_vs_offtheshelf_1200x675_432e8be1b9.jpg",2400,1350,null,"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.","2026-09-15",{"name":18,"slug":19},"Engineering","engineering",{"name":21,"slug":22},"DrieVerse Tech","drieverse-tech",[24,26,28],{"name":25,"slug":25},"architecture",{"name":27,"slug":27},"decision-frameworks",{"name":29,"slug":29},"technical-debt",{"id":31,"title":32,"slug":33,"excerpt":34,"cover":35,"coverAlt":39,"datePublished":40,"dateModified":40,"category":41,"author":44,"tags":45},"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":36,"width":37,"height":38,"alt":39},"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":42,"slug":43},"Infrastructure and Operations","infrastructure-and-operations",{"name":21,"slug":22},[46,48,50],{"name":47,"slug":47},"observability",{"name":49,"slug":49},"process-design",{"name":51,"slug":51},"risk-management",{"id":53,"title":54,"slug":55,"excerpt":56,"cover":57,"coverAlt":59,"datePublished":40,"dateModified":40,"category":60,"author":63,"tags":64},"wdrmafnbhcgpqub3hvdxda5o","What an AI Feature Needs Before It Ships: Guardrails, Evaluation, and a Human in the Loop","what-an-ai-feature-needs-before-it-ships","An AI feature is not done when the model gives good answers in a demo. It is done when it has guardrails, a way to measure quality over time, and a clear point where a human intervenes.",{"url":58,"width":37,"height":38,"alt":59},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fwhat_an_ai_feature_needs_before_it_ships_cover_970ecf0e95.png","What an AI Feature Needs Before It Ships: Guardrails, Evaluation, and a Human in the Loop - cover image (seed-blog-content-cover)",{"name":61,"slug":62},"AI and Automation","ai-and-automation",{"name":21,"slug":22},[65,67,68],{"name":66,"slug":66},"human-in-the-loop",{"name":47,"slug":47},{"name":51,"slug":51},{"id":70,"title":71,"slug":72,"excerpt":73,"cover":74,"coverAlt":76,"datePublished":40,"dateModified":40,"category":77,"author":78,"tags":79},"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":75,"width":37,"height":38,"alt":76},"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":61,"slug":62},{"name":21,"slug":22},[80,81],{"name":25,"slug":25},{"name":82,"slug":82},"evidence-based-claims",{"id":84,"title":85,"slug":86,"excerpt":87,"cover":88,"coverAlt":90,"datePublished":40,"dateModified":40,"category":91,"author":94,"tags":95},"tiosouidy8ekxcnx36bdsllt","Why Most B2B Websites Rank for the Wrong Keywords","why-most-b2b-websites-rank-for-the-wrong-keywords","Ranking for a keyword nobody who buys actually searches for is a common, avoidable mistake. Here is where it comes from and how to check if it is happening to you.",{"url":89,"width":37,"height":38,"alt":90},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fwhy_most_b2b_websites_rank_for_the_wrong_keywords_cover_10b937d46d.png","Why Most B2B Websites Rank for the Wrong Keywords - cover image (seed-blog-content-cover)",{"name":92,"slug":93},"Growth","growth",{"name":21,"slug":22},[96,98],{"name":97,"slug":97},"positioning",{"name":82,"slug":82},{"id":100,"title":101,"slug":102,"excerpt":103,"cover":104,"coverAlt":106,"datePublished":40,"dateModified":40,"category":107,"author":110,"tags":111},"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":105,"width":37,"height":38,"alt":106},"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":108,"slug":109},"Company","company",{"name":21,"slug":22},[112,114,115,116],{"name":113,"slug":113},"discovery",{"name":97,"slug":97},{"name":51,"slug":51},{"name":66,"slug":66},{"id":118,"title":119,"slug":120,"excerpt":121,"cover":122,"coverAlt":124,"datePublished":40,"dateModified":40,"category":125,"author":126,"tags":127},"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":123,"width":37,"height":38,"alt":124},"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":18,"slug":19},{"name":21,"slug":22},[128,129],{"name":113,"slug":113},{"name":51,"slug":51},{"id":131,"title":132,"slug":133,"excerpt":134,"cover":135,"coverAlt":137,"datePublished":40,"dateModified":40,"category":138,"author":141,"tags":142},"h6bkjx6pkcmk2dgy3tm8fnsx","Why a Design System Pays Off Later, Not on the First Project","why-a-design-system-pays-off-later-not-on-project-one","A design system costs more than a one-off style guide on the first project and less than rebuilding the same components repeatedly on every project after it.",{"url":136,"width":37,"height":38,"alt":137},"https:\u002F\u002Fmedia.drieverse.com\u002Fdrieverse-media\u002Fcms\u002Fwhy_a_design_system_pays_off_later_not_on_project_one_cover_3c657a92bc.png","Why a Design System Pays Off Later, Not on the First Project - cover image (seed-blog-content-cover)",{"name":139,"slug":140},"Brand and Design","brand-and-design",{"name":21,"slug":22},[143,144,145],{"name":25,"slug":25},{"name":29,"slug":29},{"name":27,"slug":27},{"id":147,"title":148,"slug":149,"excerpt":150,"cover":151,"coverAlt":153,"datePublished":40,"dateModified":40,"category":154,"author":155,"tags":156},"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":152,"width":37,"height":38,"alt":153},"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":139,"slug":140},{"name":21,"slug":22},[157,158],{"name":97,"slug":97},{"name":27,"slug":27},{"id":160,"title":161,"slug":162,"excerpt":163,"cover":164,"coverAlt":166,"datePublished":40,"dateModified":40,"category":167,"author":168,"tags":169},"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":165,"width":37,"height":38,"alt":166},"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":18,"slug":19},{"name":21,"slug":22},[170,171,172],{"name":25,"slug":25},{"name":27,"slug":27},{"name":29,"slug":29},{"id":174,"title":175,"slug":176,"excerpt":177,"cover":178,"coverAlt":180,"datePublished":40,"dateModified":40,"category":181,"author":182,"tags":183},"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":179,"width":37,"height":38,"alt":180},"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":18,"slug":19},{"name":21,"slug":22},[184,185,186],{"name":113,"slug":113},{"name":29,"slug":29},{"name":51,"slug":51},{"id":188,"title":189,"slug":190,"excerpt":191,"cover":192,"coverAlt":194,"datePublished":40,"dateModified":40,"category":195,"author":196,"tags":197},"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":193,"width":37,"height":38,"alt":194},"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":61,"slug":62},{"name":21,"slug":22},[198,199,200],{"name":49,"slug":49},{"name":27,"slug":27},{"name":51,"slug":51},{"page":202,"pageSize":203,"pageCount":204,"total":205},3,12,4,40,[207,209,211,213,215,217],{"name":61,"slug":62,"description":208,"seo":14},"Applied AI and automation: what it actually does inside a working system, and where a human stays in the loop.",{"name":139,"slug":140,"description":210,"seo":14},"Visual identity and interface design, and how a consistent design system holds together across a product.",{"name":108,"slug":109,"description":212,"seo":14},"Updates from DrieVerse Tech: what we are building, shipping and learning.",{"name":18,"slug":19,"description":214,"seo":14},"Software architecture, code quality and the engineering practice behind the systems we build.",{"name":92,"slug":93,"description":216,"seo":14},"Search visibility, content and acquisition: the growth work that sits alongside a build rather than bolted onto it.",{"name":42,"slug":43,"description":218,"seo":14},"DevOps, hosting, reliability and the operational work that keeps a system running once it is live.",[220,221,222,223,224,225,226,227,228,229],{"name":25,"slug":25},{"name":27,"slug":27},{"name":113,"slug":113},{"name":82,"slug":82},{"name":66,"slug":66},{"name":47,"slug":47},{"name":97,"slug":97},{"name":49,"slug":49},{"name":51,"slug":51},{"name":29,"slug":29}]