<?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[Building an AI-powered Analytics Startup]]></title><description><![CDATA[The entire market is looking to leverage AI to solve various challenges around the production and consumption of analytics within the enterprise. Get insider insights on applying AI in analytics from our work with industry leaders, and customers.]]></description><link>https://journey.getsolid.ai</link><image><url>https://substackcdn.com/image/fetch/$s_!IqEn!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f9f6c60-b32a-439a-a15a-821b601ba616_680x680.png</url><title>Building an AI-powered Analytics Startup</title><link>https://journey.getsolid.ai</link></image><generator>Substack</generator><lastBuildDate>Sat, 16 May 2026 17:27:21 GMT</lastBuildDate><atom:link href="https://journey.getsolid.ai/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Solid Data Inc]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[getsolid@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[getsolid@substack.com]]></itunes:email><itunes:name><![CDATA[Yoni Leitersdorf]]></itunes:name></itunes:owner><itunes:author><![CDATA[Yoni Leitersdorf]]></itunes:author><googleplay:owner><![CDATA[getsolid@substack.com]]></googleplay:owner><googleplay:email><![CDATA[getsolid@substack.com]]></googleplay:email><googleplay:author><![CDATA[Yoni Leitersdorf]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[From Universes to Agents: A Brief History of the Semantic Layer]]></title><description><![CDATA[Semantic Layers are all the rage... again... where did they come from, and why is this time different?]]></description><link>https://journey.getsolid.ai/p/from-universes-to-agents-a-brief</link><guid isPermaLink="false">https://journey.getsolid.ai/p/from-universes-to-agents-a-brief</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 13 May 2026 13:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FOHe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FOHe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FOHe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 424w, https://substackcdn.com/image/fetch/$s_!FOHe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 848w, https://substackcdn.com/image/fetch/$s_!FOHe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 1272w, https://substackcdn.com/image/fetch/$s_!FOHe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FOHe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png" width="1284" height="644" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:644,&quot;width&quot;:1284,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55703,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/197179417?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FOHe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 424w, https://substackcdn.com/image/fetch/$s_!FOHe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 848w, https://substackcdn.com/image/fetch/$s_!FOHe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 1272w, https://substackcdn.com/image/fetch/$s_!FOHe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08cf22fb-06dc-433d-a1d3-31dc78a799e7_1284x644.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Google Trends: interest in the term &#8220;Semantic Layer&#8221;, worldwide, over the past 5 years</figcaption></figure></div><p>I&#8217;ve been around long enough to remember when <em>semantic layer</em> meant <strong>Universe Designer</strong>. In the 1990s <a href="https://bi-insider.com/portfolio-item/components-of-a-business-objects-universe/">BusinessObjects introduced a &#8220;universe</a>&#8221; &#8212; a metadata model that hid SQL and let business people drag and drop their way through a relational database. If you worked in BI back then you probably spent months building one: picking tables, defining joins and measures, and praying the business wouldn&#8217;t change its mind.</p><p>Three decades later that old idea has resurfaced. LinkedIn feeds and Gartner reports are buzzing about semantic layers. Google Trends shows a hockey&#8209;stick curve for searches on the term. Why now? What changed? And what can the past teach us about the future?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>Universes: hiding SQL from business users</h2><p>The first commercially successful semantic layer was the <strong>Universe</strong>. BusinessObjects&#8217; Universe Designer let developers build a metadata layer on top of relational databases. It mapped tables into business&#8209;friendly objects and defined measures and dimensions so that users could query without writing SQL. The Universe acted as a bridge between raw data and people, abstracting complexity, providing governed access and enabling drag&#8209;and&#8209;drop analysis. For many enterprises in the 1990s and 2000s it became the backbone of reporting and budgeting.</p><p>But the early universes had limitations. They were tightly coupled to the BusinessObjects stack; building and updating them required specialised tooling; and each universe was tied to a single database. When SAP acquired BusinessObjects it introduced the <strong>UNX</strong> universe and <strong>Data Foundation</strong> to federate multiple sources. Even so, universes remained proprietary and slow to adapt. <strong>The lock-in was a major detractor.</strong> Teams needed faster answers, and self&#8209;service BI promised agility.</p><h2>Cubes and OLAP: pre&#8209;aggregated semantics</h2><p>At the same time, OLAP platforms like Microsoft Analysis Services and Hyperion Essbase defined hierarchies, measures and dimensions in <strong>cubes</strong>. Cubes pre&#8209;aggregated data so queries were fast, and they embodied a kind of semantic layer by encoding business logic (e.g., calendars and product hierarchies). Yet they were also vendor&#8209;specific and required ETL to flatten data into a multidimensional structure. They thrived in finance and supply&#8209;chain planning but were less suited to the messy, evolving schemas of modern analytics.</p><h2>Self&#8209;service BI and the semantics vacuum</h2><p>By the late 2000s a new mantra emerged: <strong>self&#8209;service</strong>. Tools like Tableau and Qlik let analysts connect directly to databases, build their own dashboards and share insights without waiting on IT. This speed came at a cost: every team defined metrics differently. The shared context encoded in universes and cubes evaporated. Analysts wrote SQL with business logic sprinkled throughout; dashboards proliferated; definitions drifted. In other words, the semantic layer went away because it was too slow and too proprietary to keep up.</p><h2>LookML, HANA and semantics as code</h2><p>The next generation tried to marry agility with governance. Looker introduced <strong>LookML</strong>, a developer&#8209;friendly language for defining dimensions, measures and joins in YAML. LookML treated semantics as code: version&#8209;controlled, reusable and composable. But it was still locked inside the Looker ecosystem (now, the BigQuery ecosystem within Google Cloud).</p><p>SAP took a different approach with <strong>HANA</strong>. Its <strong>calculation views</strong> and <strong>Core Data Services (CDS)</strong> moved semantic modelling into the database itself, pushing down business logic for real&#8209;time analytics. HANA&#8217;s semantic layer supported federated queries across universes, BW (BEx) queries and external systems. Despite these advances, semantics remained tied to particular vendors, and adoption was limited to enterprises deep in those stacks.</p><h2>Semantics for purists, not for the business</h2><p>One of the biggest failures of semantic layers was that no one, outside the data / BI team, cared about them. Data leaders would debate which semantic approach is best, and where you should manage your entities and their relationships. </p><p><strong>But, the business didn&#8217;t care</strong>, and that meant that financially these endeavors would never take off. Companies built to fix the semantic layer problem struggled to get real traction, and saw their growth flatten out.</p><h2>The context crisis: AI exposes the gap</h2><p>Enter generative AI. Large language models (LLMs) can answer questions and generate analyses, but they don&#8217;t know what <em>revenue</em> means. When analysts ask natural&#8209;language questions directly against a warehouse, LLMs often guess incorrectly; one study found that <strong>natural&#8209;language queries against raw data were wrong in 80 % of cases</strong>. Without shared definitions, AI amplifies ambiguity and hallucinations.</p><p>On the flip side - well built semantic layers can generate massively reliable results, as <a href="https://docs.getdbt.com/blog/semantic-layer-vs-text-to-sql-2026">dbt recently showed</a>.</p><p>This context crisis is reigniting interest in semantic layers. Instead of hiding SQL from humans, the new goal is to <strong>teach machines what data means</strong>. AI&#8209;driven analytics require deterministic definitions, machine&#8209;enforceable relationships and real&#8209;time governance. The old universes were built for reporting. <strong>The new semantic layers are built for agents</strong>.</p><h2>What&#8217;s different this time?</h2><p>Several things make today&#8217;s semantic layers more than a repeat of the past:</p><ul><li><p><strong>Open and headless.</strong> Modern semantic layers are decoupled from any one BI tool. They expose definitions via open APIs (MCP, REST, GraphQL) so that agents, dashboards, notebooks, AI-assisted coding and chatbots can all consume the same context.</p></li><li><p><strong>Machine&#8209;enforceable semantics.</strong> Definitions are not just documentation; they are executed automatically. When a query references <em>net revenue</em>, the layer applies the correct joins, filters and security policies without the analyst having to remember them, nor the business user needing to know them.</p></li><li><p><strong>Federated and composable.</strong> Unlike early universes, modern layers can sit on top of multiple warehouses, vector stores and knowledge graphs. They let you define semantics once and use them everywhere, even across platforms.</p></li><li><p><strong>Driven by AI.</strong> The killer application is no longer drag&#8209;and&#8209;drop reporting; it&#8217;s AI copilots and agents that need trustworthy data to automate tasks and decisions. Research shows that grounding LLMs in a semantic layer increases accuracy by more than 3&#215;.</p></li></ul><p>In short, we&#8217;re not going back to 1992. We&#8217;re building something new: a universal, open semantic layer that acts as the control plane for both humans and machines.</p><h2>The new role: semantic engineering</h2><p>All of this raises a people question. In the old days the <strong>Universe designer</strong> sat in IT and rarely interacted with the business. Today, someone needs to own your company&#8217;s semantic layer and continuously align it with reality. That person might be a finance lead who knows the nuances of ARR, an operations manager who understands edge cases, or an analytics engineer who curates dbt models. Naming them <strong><a href="https://journey.getsolid.ai/p/semantic-engineering-the-new-discipline">semantic engineers</a></strong> gives them a mandate: codify the business logic that AI depends on.</p><p>Their job isn&#8217;t just to build dashboards; it&#8217;s to maintain a living semantic model that exposes metrics, relationships and policies to every tool and agent. Success is measured by how reliably AI operates across the enterprise, not by how many reports they ship.</p><p><strong>Writing SQL code by hand will be gone by the end of 2026. Maintaining semantic models will be the new norm.</strong></p><h2>Lessons from history &#8212; and how to start</h2><p>The history of semantic layers teaches us three things:</p><ol><li><p><strong>Abstraction matters.</strong> Universes and cubes were successful because they hid complexity and empowered non&#8209;technical users.</p></li><li><p><strong>Coupling kills adoption.</strong> They fell out of favor because they were tightly bound to proprietary tools. As the stack diversified, semantics didn&#8217;t keep up.</p></li><li><p><strong>Context is infrastructure.</strong> The AI era demands deterministic, governed semantics. Without them, LLMs hallucinate and agents do the wrong thing.</p></li></ol><p>If you want to build a semantic layer today, start small. Pick a domain where metric drift causes pain; nominate a semantic engineer; generate a first model using existing SQL and BI assets (<a href="https://getsolid.ai">Solid can automate this for you</a>); then iterate. Treat semantics as code, version it, and share it via MCP. Learn from the history and avoid the coupling mistakes of the past.</p><p></p><p>If you&#8217;d like to see a modern semantic layer in action, <strong><a href="https://www.getsolid.ai/demo">get a demo</a></strong>. We&#8217;ll show you how Solid generates and maintains a universal semantic layer on top of your data so that humans and AI can finally speak the same language.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;http://getsolid.ai/demo&quot;,&quot;text&quot;:&quot;Check out Solid&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="http://getsolid.ai/demo"><span>Check out Solid</span></a></p>]]></content:encoded></item><item><title><![CDATA[I asked ChatGPT why companies come to Solid. Here’s what it found]]></title><description><![CDATA[A qualitative analysis of our last two months of customer and prospect conversations shows a clear shift: enterprises are no longer asking whether AI can help with data. They want to know HOW to do it]]></description><link>https://journey.getsolid.ai/p/i-asked-chatgpt-why-companies-come</link><guid isPermaLink="false">https://journey.getsolid.ai/p/i-asked-chatgpt-why-companies-come</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Fri, 08 May 2026 13:02:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!w_Sv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w_Sv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w_Sv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!w_Sv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!w_Sv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!w_Sv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w_Sv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1696177,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/196477399?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w_Sv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!w_Sv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!w_Sv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!w_Sv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8758184f-7d1b-4403-803e-9e18e54ac202_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last week, I did a very startup-y thing.</p><p>I took a bunch of our recent customer and prospect interactions, anonymized the sensitive stuff, and asked ChatGPT a simple question:</p><p><em>Why are organizations coming to Solid right now?</em></p><p>Not what do we <em>think</em> they want. Not what our pitch says they should want. Not what the analyst reports say the market wants.</p><p>What are they actually trying to solve?</p><p>This is not a scientific survey. It&#8217;s not a Gartner Magic Quadrant. It&#8217;s not statistically significant. It&#8217;s a qualitative analysis of the last couple of months of conversations, pilot plans, solution proposals, and meeting summaries.</p><p>Still, the pattern was surprisingly clear.</p><p><strong>Companies are not coming to us because they woke up one morning and decided they need a semantic layer.</strong></p><p><strong>They&#8217;re coming because they want AI to do real work with their data</strong>, and they&#8217;re discovering that the missing piece is the context layer, and semantics, that makes their data understandable, governed, and reliable.</p><p>In other words: AI has created the urgency. Messy enterprise data has created the blocker.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>The short version: everyone wants agents, but agents need trusted data</h2><p>A year ago, most conversations about AI and data were still vague.</p><p>&#8220;We want to use GenAI.&#8221;<br>&#8220;We want chat with data.&#8221;<br>&#8220;We want business users to self-serve.&#8221;<br>&#8220;We want to reduce analyst bottlenecks.&#8221;</p><p>Those conversations still happen. But they&#8217;re getting sharper.</p><p>Today, the question is much more concrete:</p><p>How do we let an AI agent query our data, understand our metrics, use the right joins, respect our business definitions, and return something people actually trust?</p><p>That&#8217;s a very different conversation.</p><p>It&#8217;s no longer about a chatbot sitting on top of a warehouse and hoping for the best. We wrote about that early on in <a href="https://chatgpt.com/g/g-68f2d17cf9908191bb0f9697dd861d06-journey-post-writer/c/69f9100e-c70c-8330-922b-67edaf025940#:~:text=The%20short%20version,breaks%20very%20quickly.">Data Chatbots: what people are really doing</a>, and the reality hasn&#8217;t changed much. If the AI doesn&#8217;t understand the data, the chat experience breaks very quickly.</p><p>What has changed is that organizations are now trying to move beyond demos. They want AI agents and AI-powered workflows in production.</p><p>And production is much less forgiving than a demo.</p><h2>Trend #1: &#8220;Chat with your data&#8221; is still the door opener</h2><p>The most common entry point is still some version of &#8220;chat with your data.&#8221;</p><p>Business users want to ask questions in natural language. Data teams want to reduce ad-hoc requests. Executives want answers faster. Everyone wants the magic box where you type a question and get a reliable answer.</p><p>This is not surprising. Snowflake, Databricks, Microsoft, Google, and others are all pushing the market in this direction. Snowflake has <a href="https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst?utm_source=chatgpt.com">Cortex Analyst</a>, Databricks has <a href="https://docs.databricks.com/aws/en/genie/?utm_source=chatgpt.com">Genie</a>, and the broader AI ecosystem is converging around standards like <a href="https://modelcontextprotocol.io/docs/getting-started/intro?utm_source=chatgpt.com">MCP</a>.</p><p>The surprise is that &#8220;chat with data&#8221; is often not the end goal.</p><p>It&#8217;s the easiest way to describe the pain.</p><p>The real pain is that business users don&#8217;t know where the data is. Analysts are tired of being the routing layer between every business question and every database table. Data engineers are tired of maintaining fragile logic across dashboards, notebooks, semantic layers, and half-forgotten SQL files.</p><p>So the user says &#8220;chat with data,&#8221; but what they often mean is:</p><p>Please make our data understandable enough that humans and machines can use it without opening five Slack threads and asking the one analyst who has been here since 2017.</p><p>That&#8217;s a much bigger problem.</p><h2>Trend #2: the analyst bottleneck is getting worse</h2><p>Another strong pattern: data teams are overwhelmed.</p><p>Not &#8220;busy.&#8221; Overwhelmed.</p><p>In many organizations, analysts are still spending too much time finding the right table, reverse-engineering old dashboards, understanding metric definitions, and figuring out which version of a query is trusted.</p><p>We&#8217;ve written before that <a href="https://chatgpt.com/g/g-68f2d17cf9908191bb0f9697dd861d06-journey-post-writer/c/69f9100e-c70c-8330-922b-67edaf025940#:~:text=Trend%20%232%3A%20the,speed%20to%20decision.">nobody cares about the efficiency of the data analyst</a>. That headline was intentionally annoying, but the point was real: the business usually doesn&#8217;t buy &#8220;analyst efficiency&#8221; as the main outcome.</p><p>What they do care about is speed to decision.</p><p>What we&#8217;re seeing now is that the analyst bottleneck is becoming a business bottleneck. The business wants campaigns optimized faster. Sales wants better account signals. Finance wants cleaner performance views. Operations wants alerts that trigger action, not another dashboard to check.</p><p>The analyst is sitting in the middle of all of that.</p><p>So organizations come to us with a technical problem, but underneath it is a business problem: the demand for data work has exceeded the human capacity to fulfill it.</p><p>AI is supposed to help, but without a trusted semantic layer, it creates more review work, not less.</p><h2>Trend #3: manual semantic modeling does not scale</h2><p>This one comes up again and again.</p><p>Enterprises understand the need for a semantic layer. They know that metrics, dimensions, relationships, definitions, and business logic need to be captured somewhere. They know that without this layer, Text2SQL and agents will hallucinate.</p><p>The issue is not awareness.</p><p>The issue is labor.</p><p>Manual semantic modeling is slow. Evaluation is slow. Maintenance is slower. Every new domain requires people to identify the right tables, understand the logic, define metrics, document relationships, test the model, and keep it current as the data changes.</p><p>That may work for a few high-value BI dashboards. It does not work for enterprise AI.</p><p>We wrote about this in <a href="https://chatgpt.com/g/g-68f2d17cf9908191bb0f9697dd861d06-journey-post-writer/c/69f9100e-c70c-8330-922b-67edaf025940#:~:text=Trend%20%233%3A%20manual,the%20first%20place.">Semantic layer for AI: let&#8217;s not make the same mistakes we did with data catalogs</a>. The core mistake is believing humans will happily document and maintain everything if only the project is important enough.</p><p>They won&#8217;t.</p><p>Humans hate documenting data. They especially hate maintaining documentation they didn&#8217;t need in the first place.</p><p>So when organizations come to Solid, they&#8217;re often looking for a way to generate the semantic layer automatically, evaluate it automatically, and maintain it with much less manual effort.</p><p>The important nuance: they don&#8217;t want a black box.</p><p>They want automation with control.</p><p>The model should be generated automatically, but reviewed by humans. Accuracy should be measured, not assumed. Fixes should be recommended, not hidden. The data team still owns the truth, but AI does the heavy lifting.</p><h2>Trend #4: trust is becoming the real production blocker</h2><p>Many organizations have already tried some version of &#8220;AI on top of data.&#8221;</p><p>The demo worked.</p><p>Then someone asked a slightly different question, and the answer was wrong.</p><p>Or the SQL looked plausible but used the wrong metric.</p><p>Or the agent joined tables in a creative way.</p><p>Or the business user got a number that didn&#8217;t match the dashboard.</p><p>That&#8217;s when the excitement turns into skepticism.</p><p>We wrote about this in Everyone wants Text2SQL, but the pros don&#8217;t trust it. The problem is not only whether AI can generate SQL. The problem is whether the people responsible for the data trust the generated SQL enough to put it in front of the business.</p><p>The market is now asking for evidence.</p><p>Not &#8220;our model is accurate.&#8221;<br>Not &#8220;the LLM is better now.&#8221;<br>Not &#8220;trust us.&#8221;</p><p>They want benchmarks. They want expected SQL. They want side-by-side validation. They want to know where the model failed, why it failed, and what needs to change.</p><p>This is a healthy shift.</p><p>AI in production requires measurable trust. Vibes are not enough.</p><h2>Trend #5: the use cases are becoming more operational</h2><p>Another interesting shift: the use cases are moving from &#8220;answer my question&#8221; to &#8220;run my workflow.&#8221;</p><p>The early data chatbot dream was mostly analytical. A user asks a question. The system answers. Maybe it creates a chart.</p><p>Now we&#8217;re seeing more operational use cases:</p><p>An agent that analyzes account signals and recommends next actions.<br>An agent that reviews campaign performance and suggests changes.<br>An agent that helps prepare customer-facing teams before a meeting.<br>An agent that monitors operational issues and pulls the relevant context automatically.<br>An agent that turns business signals into prioritized workflows.</p><p>This matters because operational workflows raise the bar.</p><p>If an AI assistant gives you a wrong answer in a sandbox, that&#8217;s annoying.</p><p>If an AI agent takes the wrong action in a production workflow, that&#8217;s dangerous.</p><p>So the underlying data logic needs to be more governed, not less. The more autonomous the agent, the more important the semantic layer becomes.</p><p>The ROI from AI will not come from buying a generic assistant and hoping employees find uses for it. It will come from improving specific workflows.</p><p>That&#8217;s exactly what organizations are trying to do now.</p><h2>Trend #6: customers want flexibility, not another locked-in layer</h2><p>One theme I didn&#8217;t expect to be so strong: flexibility.</p><p>Organizations are very aware that the AI stack is changing quickly. Today they may be testing one agent framework. Tomorrow it may be another. One team may be using a cloud-native AI tool. Another may be experimenting with an orchestration platform. Another may want to export semantic models into dbt, Snowflake, Looker, or something else.</p><p>They do not want to rebuild their context layer every time the AI tool changes.</p><p>This is why the semantic layer needs to be decoupled.</p><p>It should serve many consumers: BI tools, AI agents, Text2SQL engines, internal apps, and whatever comes next. That&#8217;s also why MCP is interesting. Whether or not MCP becomes <em>the</em> standard, the direction is obvious: AI systems need a structured way to access tools and context.</p><p>The enterprise buyer is increasingly allergic to anything that feels like a closed semantic island.</p><p>They want one governed source of business logic that can travel.</p><h2>Trend #7: the market is accepting that data will stay messy</h2><p>This may be my favorite one.</p><p>For a long time, companies would start the conversation by apologizing for their data.</p><p>&#8220;Our data is a mess.&#8221;<br>&#8220;Our documentation is bad.&#8221;<br>&#8220;Our warehouse is complicated.&#8221;<br>&#8220;Our metric definitions are inconsistent.&#8221;<br>&#8220;We&#8217;re not ready yet.&#8221;</p><p>Recently, the conversation is changing.</p><p>Companies still know their data is messy, but they&#8217;re less interested in pretending they can clean everything before AI arrives.</p><p>Good.</p><p>We wrote about this in <a href="https://chatgpt.com/g/g-68f2d17cf9908191bb0f9697dd861d06-journey-post-writer/c/69f9100e-c70c-8330-922b-67edaf025940#:~:text=Trend%20%236%3A%20customers,messiness%20is%20reality.">&#8220;Sorry for the mess&#8221; - everyone&#8217;s data is messy, and it&#8217;s Okay</a>. The point is not that messiness is ideal. The point is that messiness is reality.</p><p>The winning approach is not to wait until the warehouse is perfect.</p><p>It&#8217;s to build AI that can learn from the messy signals that already exist: schemas, query logs, BI dashboards, documentation, tickets, Slack discussions, Confluence pages, metric definitions, and usage patterns.</p><p>That&#8217;s where the real organizational knowledge lives.</p><p>Not in one pristine document called &#8220;Final_Final_Official_Metric_Definitions_v7.&#8221;</p><h2>What this means for the market</h2><p>My takeaway from this qualitative analysis is simple:</p><p>The market has moved from curiosity to implementation.</p><p>In 2024 and early 2025, many companies were asking: &#8220;Can AI help with data?&#8221;</p><p>Now they&#8217;re asking: &#8220;What do we need to put in place so AI can safely work with our data?&#8221;</p><p>That&#8217;s a much better question.</p><p>It&#8217;s also a much harder one.</p><p>The answer is not just a better LLM. It&#8217;s not just a data catalog. It&#8217;s not just a BI tool with a chat box. It&#8217;s not just a manually built semantic layer.</p><p>It&#8217;s an AI-native context layer that can create, evaluate, expose, and maintain business semantics across the organization.</p><p>That sounds a bit buzzwordy, so let me say it more simply:</p><p>AI needs to know what your data means.</p><p>Not just what tables exist. Not just what columns are called. What the business means when it says revenue, active customer, churn risk, qualified lead, suspicious transaction, campaign performance, account health, or pipeline sufficiency.</p><p>And it needs to know that in a way that is testable, governable, and usable by agents.</p><h2>The funny part: most companies don&#8217;t come asking for that</h2><p>This is the part I find most interesting.</p><p>Very few organizations start the conversation by saying:</p><p>&#8220;We need an AI-native semantic layer that can be automatically generated, benchmarked, maintained, and exposed through MCP to downstream agents.&#8221;</p><p>No one talks like that. Thankfully.</p><p>They come with symptoms.</p><p>They want chat with data.<br>They want agents.<br>They want fewer ad-hoc requests.<br>They want faster dashboards.<br>They want to migrate off old BI.<br>They want better campaign analytics.<br>They want better sales signals.<br>They want to reduce manual analyst work.<br>They want to stop hallucinations.<br>They want to make AI useful.</p><p>Our job is to help connect those symptoms to the root cause.</p><p>The root cause is not that the LLM isn&#8217;t smart enough.</p><p>The root cause is that the organization&#8217;s data knowledge is scattered across systems, people, dashboards, SQL queries, documents, and tribal memory.</p><p>Solid&#8217;s job is to turn that scattered knowledge into something AI can actually use.</p><h2>Urgency found the market</h2><p>A few months ago I wrote that <a href="https://chatgpt.com/g/g-68f2d17cf9908191bb0f9697dd861d06-journey-post-writer/c/69f9100e-c70c-8330-922b-67edaf025940#:~:text=messiness%20is%20reality.-,The%20winning%20approach%20is%20not%20to%20wait%20until%20the%20warehouse%20is,.,-After%20looking%20at">we found urgency, or maybe it found us</a>.</p><p>After looking at the last two months of conversations, I think that&#8217;s even more true now.</p><p>The urgency is not &#8220;semantic layers are cool again.&#8221;</p><p>The urgency is that enterprises want AI agents in production, and they&#8217;re realizing that agents without semantics are interns with database access.</p><p>Very enthusiastic. Very fast. Occasionally useful. Not someone you&#8217;d leave alone with important business decisions.</p><p>The next phase of enterprise AI will be less about demos and more about trust.</p><p>Less about asking questions and more about automating workflows.</p><p>Less about connecting AI to data and more about helping AI understand what the data means.</p><p>That&#8217;s the market pulse we&#8217;re seeing right now.</p><p>And honestly, it&#8217;s a pretty exciting one.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getsolid.ai/contact&quot;,&quot;text&quot;:&quot;Talk to us&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getsolid.ai/contact"><span>Talk to us</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Rise of the Expert SLM: Achieving GPT Performance with Specialized Open-Source Models]]></title><description><![CDATA[Smaller models are gaining attention, and can be very useful in specific tasks (especially considering time/cost/accuracy tradeoffs vs LLMs). Tomer Sidi, PhD, GenAI Researcher at Solid, explains.]]></description><link>https://journey.getsolid.ai/p/the-rise-of-the-expert-slm-achieving</link><guid isPermaLink="false">https://journey.getsolid.ai/p/the-rise-of-the-expert-slm-achieving</guid><dc:creator><![CDATA[Tomer Sidi]]></dc:creator><pubDate>Fri, 24 Apr 2026 13:02:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!N4-X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is a common misconception that &#8220;bigger is always better&#8221; in the world of LLMs. But when it comes to <strong>Text-to-SQL in production</strong>, we are discovering a more exciting reality: a specialized, fine-tuned &#8220;Small&#8221; Language Model (SLM) can actually outperform the giants.</p><p style="text-align: justify;">In a live environment, Text-to-SQL isn&#8217;t a simple translation task - it&#8217;s an <strong>agentic system</strong>. It&#8217;s a dynamic loop of generation, execution, and self-correction. To push the boundaries of what our agent can do, we conducted a comparison between our current baseline and the <strong>Snowflake/Arctic-Text2SQL-R1-7B</strong>.</p><p style="text-align: justify;">The results represent a significant achievement for specialized AI: the Snowflake/Arctic-small 7B model expert didn&#8217;t just keep up; it exceeded expectations and painted the road for database-finetuned models.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2 style="text-align: justify;">Agentic Framework for Text2SQL</h2><p style="text-align: justify;">The agentic workflow, partially illustrated in Figure 1, represents the end-to-end process for generating reliable SQL. The process starts with retrieving a semantic model that encapsulates the context of the question, i.e., the tables, columns, joins, metrics, and additional relevant data to answer the question. Then, with this context, an LLM based <strong>Initial SQL Generation Module</strong> (<em>Figure 1a</em>) creates the query that answers the question, which serves as the critical point of comparison between the GPT-based baseline and the Arctic SLM. Once the initial SQL is generated, a cycle of <strong>quality control and verification</strong> with automated checks assess the syntax, schema adherence, content and executability of the query, and attempts to fix the query if necessary (<em>Figure 1b</em>). The output of this process is a textual response including: the SQL query, the generation process explainability and detailed reasoning.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N4-X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N4-X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 424w, https://substackcdn.com/image/fetch/$s_!N4-X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 848w, https://substackcdn.com/image/fetch/$s_!N4-X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 1272w, https://substackcdn.com/image/fetch/$s_!N4-X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N4-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png" width="838" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:838,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56765,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/194954708?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N4-X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 424w, https://substackcdn.com/image/fetch/$s_!N4-X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 848w, https://substackcdn.com/image/fetch/$s_!N4-X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 1272w, https://substackcdn.com/image/fetch/$s_!N4-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2c479-d830-4fe6-8786-3dc893e5326b_838x844.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3 style="text-align: justify;">Building the Agentic Toolkit</h3><p style="text-align: justify;"><a href="https://arxiv.org/abs/2505.20315">Arctic-7B</a> is a fine-tuned SLM specialized for generating SQLite queries given a semantic context. Incorporating it into a production agentic workflow requires controlling the information flow in and out of the model. Specifically, the prompt structure of the semantic context must be organized as the input that the model was trained on. In addition, the SQLite queries must be transformed to the specific SQL dialect of the environment database.</p><p style="text-align: justify;">To this end, we encapsulated the model with the following pre- and post- processing procedures (<em>Figure 2</em>):</p><ol><li><p style="text-align: justify;"><strong>Prompt Standardization:</strong> We based our inputs on Solid semantic models, extending the <strong>OmniSQL standard</strong>, augmenting it with enriched descriptions for each column and table, extended metric and query examples, and a schema summary. This provided the model with a clear and valuable interpretation of the schema.</p></li><li><p style="text-align: justify;"><strong>The Transpilation Layer:</strong> SQL dialects have distinct functions and syntax. Since the Arctic SLM was trained on a specific SQLite dialect, generated SQL code requires transpilation (conversion) to the dialect of the target data warehouse. In this set of experiments we used  Snowflake, so we developed a custom layer to handle <strong>query transpilation to Snowflake dialect</strong>.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DQlY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DQlY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 424w, https://substackcdn.com/image/fetch/$s_!DQlY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 848w, https://substackcdn.com/image/fetch/$s_!DQlY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 1272w, https://substackcdn.com/image/fetch/$s_!DQlY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DQlY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png" width="904" height="484" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff040122-84f7-4a8a-8297-47027f77c477_904x484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:484,&quot;width&quot;:904,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42709,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/194954708?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DQlY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 424w, https://substackcdn.com/image/fetch/$s_!DQlY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 848w, https://substackcdn.com/image/fetch/$s_!DQlY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 1272w, https://substackcdn.com/image/fetch/$s_!DQlY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff040122-84f7-4a8a-8297-47027f77c477_904x484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Arctic - Baseline comparison. Representation of the replaced initial SQL generation module (Figure 1a) in the agentic workflow. The GPT-based general module is replaced with the specialized SLM and additional pre-processing and post-processing steps to support it.</figcaption></figure></div><h3 style="text-align: justify;">Results</h3><p style="text-align: justify;">For this experiment, we replaced the initial SQL generation module based on GPT models to a module based on the open source <strong>Snowflake/Arctic-Text2SQL-R1-7B</strong> small model (<em>Figure 2</em>). We used an internal evaluation benchmark comprising 137 couples of free text business questions and their related queries. Each agent performance was measured by executability, whether the generated SQL was able to execute successfully at the source system (Snowflake, in our case), and returned values alignment of the generated query to a reference (ground truth query).</p><p style="text-align: justify;">The Arctic and baseline initial SQL generation was able to produce an executable SQL for 65% and 77% of questions, respectively. Understandably, most of the initial failures for the Arctic model were syntax errors, which were fixed after a single correction step. After completing the correction loops, both the Arctic and baseline models generated executable SQLs in a  Snowflake dialect for 97% of questions.  Additionally, there was not a significant difference in the generated SQLs retrieved values between the versions.</p><h4 style="text-align: justify;">Conclusions and Future Work</h4><p style="text-align: justify;">Ultimately, this experiment demonstrates that <strong>specialized SLMs can rival industry giants</strong> when embedded within a robust agentic framework. By leveraging a modular loop of self-correction, the Snowflake/Arctic-7B model exceeded expectations, proving its performance is comparable to much larger models once initial errors are mitigated.</p><p style="text-align: justify;">A key factor in this success was our use of <strong>Solid semantic models</strong>, which condensed large database schemas into enriched, high-signal summaries; this reduced the required context window and allowed the SLM to navigate complex data structures efficiently. Furthermore, using a <strong>SQLite-specialized base</strong> proved highly effective for generalizability; with the help of the transpilation layer, we narrowed the initial performance gap to just 12% due to syntax. This remaining delta was successfully closed during the fixing loop, resulting in nearly identical final executability. Moving forward, the true potential lies in <strong>database-specific fine-tuning</strong>, enabling these models to learn the unique nuances of individual datasets from the ground up.</p>]]></content:encoded></item><item><title><![CDATA[Text2SQL vs. Semantic Layer? The real question is who does the modeling]]></title><description><![CDATA[dbt&#8217;s recent benchmark gets an important point right: this is not an either/or debate. But for enterprise teams, the real bottleneck is the work needed to generate, test and maintain semantic models.]]></description><link>https://journey.getsolid.ai/p/text2sql-vs-semantic-layer-the-real</link><guid isPermaLink="false">https://journey.getsolid.ai/p/text2sql-vs-semantic-layer-the-real</guid><dc:creator><![CDATA[Tal Segalov]]></dc:creator><pubDate>Sat, 18 Apr 2026 13:03:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3RPF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every few months, our industry rediscovers the same debate and presents it like a cage match: Text2SQL versus semantic layer.</p><p>dbt&#8217;s recent post,<a href="https://docs.getdbt.com/blog/semantic-layer-vs-text-to-sql-2026?utm_source=chatgpt.com"> Semantic Layer vs. Text-to-SQL: 2026 Benchmark Update</a>, is useful precisely because it moves the conversation forward. Instead of arguing from ideology, it argues from failure modes. And that is the right way to think about enterprise AI on top of data.</p><p>Their conclusion is also directionally right: both approaches matter. Text2SQL has gotten dramatically better. Semantic layers remain far more deterministic when the question is within scope. If accuracy matters, semantics win. If flexibility matters, Text2SQL still has an important role to play.</p><p>I agree with that.</p><p>But I think there is a more important conclusion hiding underneath their benchmark:</p><p><strong>The real challenge is not Text2SQL or semantic layer. The real challenge is semantic model production.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3RPF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3RPF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!3RPF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!3RPF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!3RPF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3RPF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3RPF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!3RPF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!3RPF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!3RPF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6427e09d-1841-4b1a-87e6-9fb4c338e384_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>The benchmark proves more than it says</strong></h2><p>The most interesting part of dbt&#8217;s post, in my opinion, is not just that the semantic layer performed better on modeled data.</p><p>It is that when coverage was missing, they added just <strong>three additional models</strong>, reran the benchmark, and suddenly the semantic layer could answer every question in scope, while Text2SQL improved too. That is a very important signal. It tells us that the bottleneck is not only reasoning quality.<strong> It is the system&#8217;s ability to create the right semantic structure, at the right time, for the right business question.</strong></p><p>That is exactly where most enterprise projects get stuck.</p><p>On a whiteboard, &#8220;just build the semantic layer&#8221; sounds reasonable. In the real world, that means defining metrics, joins, dimensions, business definitions, tests, ownership, and maintenance processes across a living data stack that keeps changing. New tables appear. Existing logic shifts. Teams rename KPIs. Dashboards drift. Query patterns evolve.</p><p>So yes, the semantic layer is incredibly valuable. I wrote about that in<a href="https://www.getsolid.ai/resources/the-two-souls-of-a-semantic-layer-jy9pvo?utm_source=chatgpt.com"> The Two Souls of a Semantic Layer: A Tale of Governance and Insight</a>. But the moment you say &#8220;semantic layer,&#8221; you also have to ask: who is building it, who is testing it, who is publishing it, and who is keeping it alive six months later?</p><p>That is where the theoretical debate becomes an operational one.</p><h2><strong>This is the part Solid is focused on</strong></h2><p>At Solid, our view has been consistent for a while.</p><p>In<a href="https://www.getsolid.ai/resources/data-meet-business-why-you-need-jit-c43whb?utm_source=chatgpt.com"> Data, Meet Business: Why You Need JIT Semantic Models, Instead of a Static Semantic Layer</a>, I argued that static semantic models are too slow for a business that changes every week.</p><p>In<a href="https://www.getsolid.ai/resources/the-ghost-in-the-machine-how-solid-j72bua?utm_source=chatgpt.com"> The Ghost in the Machine: How Solid drastically accelerates semantic model generation</a>, I explained part of the &#8220;how&#8221;: the logic of the business is often not fully captured in the schema itself. It lives in usage patterns, query history, BI assets, and the actual paths analysts take through the data.</p><p>That is why I think the future is not &#8220;Text2SQL alone,&#8221; and it is not &#8220;semantic layer alone,&#8221; either.</p><p>It is <strong>Text2SQL plus semantics, connected by an engine that continuously creates, tests and maintains the semantics themselves - even as data changes, usage evolves</strong>.</p><p>Publicly, that is exactly how we describe Solid Build: automatically turning warehouse usage, BI semantics, SQL query history, and metadata into semantic models; keeping them current as the data changes; letting teams review and approve them; and validating model logic before publication.</p><p>That matters because the enterprise problem is not proving that semantic layers work in a benchmark.</p><p>The enterprise problem is making enough of them, fast enough, with enough quality, and keeping them fresh enough, that the benchmark becomes your everyday reality.</p><h2><strong>The real architecture is not &#8220;vs.&#8221; It is &#8220;and, plus automation&#8221;</strong></h2><p>So when I read dbt&#8217;s post, my reaction is not disagreement. Quite the opposite. I think it confirms where the market is going.</p><p><strong>How do you produce and maintain that modeling at enterprise scale?</strong></p><p>If the answer is &#8220;a heroic manual effort by a small team of experts,&#8221; then the system will help in the demo and decay in production.</p><p>If the answer is &#8220;use AI to marry exploration and semantics, and automate the lifecycle of the semantic models themselves,&#8221; then you start to have something much more durable.</p><p>That is the architecture I believe in:</p><p>Text2SQL for exploration.<br>Semantics for determinism.<br>And an always-on semantic engineering layer that generates, tests, publishes, and maintains the bridge between them.</p><p>That, to me, is where this market is actually headed.</p><p>And that is why I think the most important question in 2026 is no longer &#8220;semantic layer or Text2SQL?&#8221;</p><p>It is:</p><p><strong>Who is building the semantics, and how fast can they keep up with the business?</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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[From Co-pilots to Colleagues: What Ryan Wexler Sees Coming in Enterprise AI]]></title><description><![CDATA[Ryan Wexler, Principal at SignalFire and a member of Solid&#8217;s board, shares what enterprises are actually buying today, why ROI is still hard to prove, and what he sees the future of agents to be]]></description><link>https://journey.getsolid.ai/p/from-co-pilots-to-colleagues-what</link><guid isPermaLink="false">https://journey.getsolid.ai/p/from-co-pilots-to-colleagues-what</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 15 Apr 2026 13:01:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QyuQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QyuQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QyuQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QyuQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QyuQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QyuQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QyuQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg" width="387" height="387" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:800,&quot;resizeWidth&quot;:387,&quot;bytes&quot;:107533,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/194231514?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QyuQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QyuQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QyuQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QyuQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a8286-da4f-428c-8ca1-f45481ee612b_800x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I recently sat down with Ryan Wexler on the podcast, and I enjoyed this one a lot. It&#8217;s available to listen to now: <a href="https://www.youtube.com/watch?v=nTc-O5jik9E&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=16">YouTube</a>, <a href="https://open.spotify.com/episode/0cejtWaYnZHqArlI2dANOb?si=FrS6OlMbRcKye3cqbghDsQ">Spotify</a>, <a href="https://podcasts.apple.com/us/podcast/whats-actually-working-in-enterprise-ai-with-ryan-wexler/id1839467012?i=1000761348289">Apple</a>.</p><p>Usually, on <em>Building with AI: Promises and Heartbreaks</em>, I speak with builders, operators, and data leaders who are deep in one company&#8217;s AI journey. Ryan brought a different angle. As a Principal at SignalFire, he gets a horizontal view into the market: what founders are building, what enterprises are actually buying, where the hype is ahead of reality, and where something very real is already happening.</p><p>That made for a particularly interesting conversation.</p><p>Ryan is in a unique position to see patterns early. SignalFire is not a traditional VC that just writes checks and hopes for the best. It has built a real technology and data muscle internally, including Beacon AI, to support sourcing, recruiting, GTM, and portfolio support. So when Ryan talks about how AI is changing work, he&#8217;s not speaking only from the investor seat. He is also seeing how these systems get used in practice.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>Most enterprises are not refusing AI. They are stuck in the middle.</h2><p>One of the most useful parts of the conversation was how Ryan broke down the market.</p><p>In his view, there are roughly three groups right now:</p><ol><li><p>The disbelievers, the people who still think AI is mostly a parlor trick.</p></li><li><p>The big middle, where organizations are using AI tools and seeing value, but are not yet rethinking work around them.</p></li><li><p>A much smaller group that is fully bought in and actively redesigning workflows, teams, and products around AI.</p></li></ol><p>That lines up pretty well with what I&#8217;m seeing too.</p><p>The market narrative is often too binary. Either &#8220;AI is changing everything&#8221; or &#8220;AI is overhyped and barely works.&#8221; Reality, as usual, is messier. Most large enterprises are somewhere in the uncomfortable middle. They have Copilot, ChatGPT Enterprise, Cursor, Claude Code, or some equivalent floating around the organization. Some people are getting real value from it. But the company itself is still not fully operating in an AI-native way.</p><p>This is also why I keep coming back to themes I wrote about in <a href="https://journey.getsolid.ai/p/almost-no-ai-in-production">(Almost) no AI in production</a> and <a href="https://journey.getsolid.ai/p/throwing-away-bi-is-a-bad-idea">Throwing away BI is a Bad Idea</a>. People want the new experience, but they still need the old safety rails. They want AI, but they still need trust. They want agents, but they still keep a human in the loop.</p><p>That is not failure. It is transition.</p><p>Ryan&#8217;s point was that the biggest blocker is not disbelief. It is change management. The tools are still early. The models keep changing. The workflows are not yet stable. So even when people believe, it still takes time to move.</p><h2>Founders should stop asking &#8220;what&#8217;s hottest?&#8221; and start asking &#8220;what can I win?&#8221;</h2><p>Another part of the conversation that stuck with me was Ryan&#8217;s framing of the types of AI companies selling into enterprises today.</p><p>He described three broad buckets.</p><p>The first are transformation plays. These are the companies trying to help enterprises fully rethink how work gets done. Huge opportunity, obviously. Also hard. These deals involve process change, redesign, consulting, buy-in, internal champions, and patience.</p><p>The second are next-generation SaaS companies. These are applications where AI is built into the product itself. The buyer does not need to reinvent the whole company to get value. A customer support platform that now resolves tickets with agents is an example. Same budget owner, same category, new capabilities.</p><p>The third are bottoms-up prosumer tools. This is where an individual gets a tool that makes them more productive: ChatGPT Enterprise, Copilot, Cursor, Claude Code, ElevenLabs, and so forth. Ryan&#8217;s view was that this is where a lot of the fastest adoption has happened because the value is immediate and the buying motion is much simpler.</p><p>Then I asked him the natural founder question: if you were starting something new, which of the three would you build in?</p><p>His answer was excellent: <strong>&#8220;Whichever one you can win in.&#8221;</strong></p><p>I liked that a lot.</p><p>Founders sometimes over-rotate to whatever category is currently generating the most noise on X or LinkedIn. But not every founder is built for the same motion. Some are excellent at bottoms-up adoption. Some are great at enterprise solution sales. Some can navigate long cycles and help customers rethink processes. Others cannot. And that&#8217;s okay.</p><p>The goal is not to build in the hottest category. The goal is to build in the category where your team has a real shot at winning.</p><p>That also ties directly to a point I made in <a href="https://journey.getsolid.ai/p/nobody-cares-about-the-efficiency">Nobody cares about the efficiency of the data analyst</a>. Buyers do not wake up wanting AI in the abstract. They want impact. They want better outcomes. They want a wedge that matters.</p><h2>ROI is still messy, and that&#8217;s part of the story</h2><p>We also dug into a question many founders and buyers still struggle with: how do you prove ROI?</p><p>If AI is automating a specific workflow, the math is easier. If an agent resolves a support ticket, runs a recruiting screen, or handles a voice interaction, you can start counting minutes, throughput, coverage, and outcomes.</p><p>But when AI is helping an individual employee do their job better, the math gets fuzzier.</p><p>How exactly do you measure the ROI of giving 10,000 employees access to a co-pilot? Lines of code are a bad metric. &#8220;Time saved&#8221; is often hand-wavy. Yet, clearly, something is happening.</p><p>Ryan was very honest about this. A lot of organizations are still buying these tools before they have perfect measurement. They know the direction is right, even if the spreadsheet is still weak.</p><p>That matches what I&#8217;ve been hearing from leaders as well. In my <a href="https://journey.getsolid.ai/p/building-an-ai-powered-intelligent">conversation with Meenal Iyer</a>, one of the recurring themes was that the winning teams are not waiting for the world to become perfectly measurable. They are building AI literacy, experimentation muscle, and the right foundation now, so they can scale what works later.</p><h2>Two areas Ryan is especially bullish on</h2><p>The first is voice AI.</p><p>Ryan&#8217;s reasoning here is very pragmatic. With coding assistants or general-purpose copilots, ROI is harder to pin down. With voice, it is often much clearer. Humans can only speak so many words per minute. If AI handles some of those minutes, the value is much easier to quantify.</p><p>More importantly, voice does not only replace labor. It enables new interactions that were previously too expensive to staff.</p><p>Ryan shared a great example of a behavioral treatment organization that automated initial recruiting conversations with voice AI. The impact was not just efficiency. They were able to run more interviews, keep human recruiters focused on the more valuable parts of the process, and improve outcomes.</p><p>That&#8217;s a big deal.</p><p>The second area is self-improving agents.</p><p>This one is especially exciting to me.</p><p>Ryan described a future where one agent does the work, another evaluates the trace, another improves the prompt or rules, and the system improves over time through usage. In other words, not just agentic systems, but systems that get better at being agentic.</p><p>We&#8217;re already starting to see the early versions of this pattern. I think we&#8217;ll see much more of it over the next couple of years.</p><p>And frankly, that is where things begin to get really interesting. Not when AI merely answers a question, but when it learns how to make its own future answers better.</p><h2>So where is this all going?</h2><p>Ryan does not believe AI is a bubble in the simplistic sense.</p><p>Sure, individual companies will go up, down, miss expectations, or disappear. Some categories will get overcrowded. Some valuations will correct. That&#8217;s startup-land. But the broader shift is not going away.</p><p>On that, I agree with him.</p><p>We are moving from co-pilots to colleagues. From tools that wait for a prompt, to systems that can take initiative, execute tasks, and eventually coordinate with other systems. Some of this will first happen inside enterprises. Some of it will show up in consumer software. But all of it will require better context, better data, and a lot more trust than most people realize.</p><p>That&#8217;s what made this episode fun for me.</p><p>Ryan brought the market view, but the takeaways were refreshingly grounded: most organizations are still in the middle, ROI is real but often messy, founders should pick the motion they can actually win, voice AI is much bigger than many think, and agents improving agents may become one of the most interesting product patterns of the next couple of years.</p><p>I thank Ryan for taking the time to join me on the podcast. You can learn more about him on <a href="https://www.signalfire.com/team/ryan-wexler?utm_source=chatgpt.com">SignalFire&#8217;s team page</a>, read about <a href="https://www.signalfire.com/beacon-ai?utm_source=chatgpt.com">Beacon AI</a>, and check out the <a href="https://www.ai-circle.org/?utm_source=chatgpt.com">AI Circle community</a> he mentioned in our lightning round. </p><p>Or - hop straight into the episode now: <a href="https://www.youtube.com/watch?v=nTc-O5jik9E&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=16">YouTube</a>, <a href="https://open.spotify.com/episode/0cejtWaYnZHqArlI2dANOb?si=FrS6OlMbRcKye3cqbghDsQ">Spotify</a>, <a href="https://podcasts.apple.com/us/podcast/whats-actually-working-in-enterprise-ai-with-ryan-wexler/id1839467012?i=1000761348289">Apple</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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></p>]]></content:encoded></item><item><title><![CDATA[AI-native engineering for high-stakes work: Lessons from Thomson Reuters’ Rittika Jindal]]></title><description><![CDATA[Yoni and Rittika Jindal of Thomson Reuters met to talk about building reliable AI in high-stakes domains, and how AI-native engineering is changing what software teams actually do.]]></description><link>https://journey.getsolid.ai/p/ai-native-engineering-for-high-stakes</link><guid isPermaLink="false">https://journey.getsolid.ai/p/ai-native-engineering-for-high-stakes</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 01 Apr 2026 13:03:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WYdc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WYdc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WYdc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WYdc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WYdc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WYdc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WYdc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg" width="429" height="429" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:800,&quot;resizeWidth&quot;:429,&quot;bytes&quot;:65763,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/192638614?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WYdc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WYdc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WYdc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WYdc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85b1fedb-05f1-44e2-b297-840ab012a35c_800x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I first saw <a href="https://www.linkedin.com/in/rittika-jindal/?originalSubdomain=in">Rittika Jindal</a> speak at Gartner in Florida a little over a year ago. She was presenting OpenSETU, a data agent for non-technical users, and I remember walking out thinking: this is someone who is not treating AI like a demo. She is treating it like engineering.</p><p>That distinction matters more at Thomson Reuters than in most places. This is a company serving legal, tax, risk, compliance and journalism professionals. In those environments, the wrong answer is not just annoying. It can affect real work, real customers, and in some cases real lives.</p><p>One sentence from our conversation captured that bar perfectly:</p><blockquote><p>&#8220;accuracy is the key.&#8221;</p></blockquote><p>I think that line is worth sitting with for a minute, because it explains almost everything that came next in our conversation (available on <a href="https://www.youtube.com/watch?v=wc0tj4nYfmw&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=17">YouTube</a>, <a href="https://open.spotify.com/episode/1p4D11MYcsnlx4QkVvifcA?si=LohAEDw1QUm3CJJ_BRfitA">Spotify</a> and <a href="https://podcasts.apple.com/us/podcast/ai-native-engineering-at-scale-with-rittika-jindal/id1839467012?i=1000758454573">Apple Podcasts</a>).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>In high-stakes AI, accuracy is not a metric. It is the product</h2><p>Rittika works in Thomson Reuters&#8217; Content Innovation group, an R&amp;D team focused on how content is processed, enriched and delivered into products used by professionals. In practice, that means building AI and agentic workflows into pipelines that need to be fast, scalable, and above all trustworthy.</p><p>That emphasis on trust strongly echoed what we heard in <a href="https://journey.getsolid.ai/p/ai-as-an-operating-system-for-high?utm_source=chatgpt.com">my recent conversation with Joel Hron</a>, Thomson Reuters&#8217; CTO. The setting is different, but the core idea is the same: when AI enters high-stakes workflows, you do not get to hide behind a cool demo. You need systems, guardrails, evaluation and clear accountability.</p><p>That is also why I liked Rittika&#8217;s framing of the problem so much. She did not talk about hallucinations as a quirky model behavior that we all laugh off on X. She talked about them as a product failure.</p><h2>OpenSETU was a bridge, not a magic trick</h2><p>The first project I knew Rittika for was OpenSETU. &#8220;Setu&#8221; means bridge in Sanskrit, which is a fitting name.</p><p>The idea was simple and powerful: let non-technical teams ask natural-language questions about their data, and have an agent translate those questions into Python or SQL, run the code, and return the result. In other words, bridge the gap between business users and the analysts they usually wait on.</p><p>But the interesting part was not the interface. It was the discipline behind it.</p><p>Rittika was very clear that the team did not stop at &#8220;the code runs, so I guess it works.&#8221; They built with ground truth from day one. They knew what correct answers looked like for representative questions, and used that to evaluate whether the agent was producing the right output.</p><p>This rhymes strongly with how <a href="https://journey.getsolid.ai/p/testing-solids-chat-how-we-do-evals?utm_source=chatgpt.com">we think about evals at Solid</a>, and with a point I keep seeing across strong teams: if AI is part of the product, evaluation cannot be something you bolt on at the end. It has to be part of the design.</p><p>Or, as Rittika put it:</p><blockquote><p>&#8220;We make sure that we have the ground truth data. We are evaluating whatever we are building, starting from day one.&#8221;</p></blockquote><p>That is not flashy. It is also probably why her work feels real.</p><h2>Then the job of software development moved</h2><p>A lot of people still talk about AI in software as &#8220;the thing that writes code faster.&#8221; That is true, but it is also the least interesting part of the story.</p><p>What Rittika described is much bigger. Her team has moved from AI-assisted development toward AI-native engineering. The code-writing step is just one piece. AI is now involved across planning, coding, testing, debugging, observability and review.</p><p>The workflow she described was one of my favorite parts of the episode:</p><p>A developer starts by creating a plan document with AI. That plan gets reviewed by humans. It goes into GitHub. Then code gets generated against that plan. Before a PR is opened, an internal review skill checks the plan, code, tests and architectural alignment. After the PR is opened, a bot reviewer runs automatically and comments on what it finds. The developer then feeds those comments back into their coding agent and iterates. Only after that does the PR land in front of a senior engineer.</p><p>So yes, Claude writes code. But Claude also reviews Claude.</p><p>If you have been following <a href="https://rittikajindal.medium.com/?utm_source=chatgpt.com">Rittika&#8217;s writing</a>, especially posts like <a href="https://generativeai.pub/how-we-taught-claude-to-review-claude-managing-code-quality-at-ai-speed-2064547fefad?utm_source=chatgpt.com">How We Taught Claude to Review Claude</a> and <a href="https://generativeai.pub/reviewing-ai-code-at-scale-a-principal-engineers-dashboard-9770599b8b08?utm_source=chatgpt.com">Reviewing AI Code at Scale: A Principal Engineer&#8217;s Dashboard</a>, this pattern will sound familiar. What I liked hearing on the podcast is that this is not a thought experiment. It is how her team is actually working.</p><p>It also pairs nicely with what we wrote when <a href="https://journey.getsolid.ai/p/solids-leap-to-an-agentic-platform?utm_source=chatgpt.com">Solid moved to an agentic platform</a> and later on how <a href="https://journey.getsolid.ai/p/how-solid-drives-up-accuracy-and?utm_source=chatgpt.com">we observe that system in production with LangSmith</a>. Once your development process becomes more agentic, observability and evals stop being &#8220;nice to have.&#8221; They become part of the development loop itself.</p><h2>Yes, teams are shipping more. No, that does not mean quality stops mattering</h2><p>One of the more striking parts of the conversation was the sheer change in pace.</p><p>Rittika described a world where some repos that used to merge five or six PRs a week are now seeing much more than that every single day. In her words, &#8220;we are merging 5 to 10 PRs every single day.&#8221;</p><p>That kind of compression changes expectations fast. It also creates a fear that I hear from a lot of people: are we just generating more slop, faster?</p><p>Her answer was more balanced than the hot takes you usually see online. Yes, AI slop is real. Yes, dead code shows up. Yes, review gets harder. But humans were never exactly writing slop-free code either. The real question is whether the team has built the mechanisms to catch the things that matter: wrong business logic, broken architecture, lack of tests, poor observability, missing evals.</p><p>That is why I found her emphasis on testing, logs, and review so important. In her team&#8217;s world, the answer to faster code generation is not hand-wringing. It is a stronger system around the code.</p><h2>The future engineer may look more like a software thinker</h2><p>The part of the conversation that stayed with me most was not about tools. It was about roles.</p><p>Rittika argued that engineers are now spending much more of their time on planning and design, and less on manually typing code. The work is shifting upward. You ask better questions earlier. You decide what should be built, whether it should be built, how it should be evaluated, and how the workflow should be instrumented once it is live.</p><p>That sounds subtle, but I think it is a major shift.</p><p>It also echoes what we heard in <a href="https://journey.getsolid.ai/p/building-an-ai-powered-intelligent?utm_source=chatgpt.com">my conversation with Meenal Iyer</a>: the winning teams are the ones building foundations first, then experimenting hard, then moving into production with clarity about trust and business value.</p><p>Rittika took the idea one step further when we talked about junior engineers and the next wave of talent. Her point was that the people arriving now are more AI-native than the rest of us. They are not &#8220;adopting&#8221; AI. They barely know how to work without it. That will change not just how teams build, but who teams hire for.</p><p>She said, almost offhandedly:</p><blockquote><p>&#8220;Maybe after five years we&#8217;ll hire software thinkers.&#8221;</p></blockquote><p>Maybe that is too provocative. Maybe it is exactly right.</p><p>After hearing how her team works, it no longer sounds crazy to me. The scarce skill is moving away from typing syntax and toward framing problems, building evals, setting constraints, and deciding when humans need to stay in the loop.</p><h2>What I took from the conversation</h2><p>If I had to reduce the episode to four points, it would be these:</p><ol><li><p>In high-stakes domains, accuracy is not a dashboard metric. It is the product.</p></li><li><p>AI-native engineering is not about faster code completion. It is about rebuilding the whole SDLC around plans, review, evals and observability.</p></li><li><p>Shipping more PRs only helps if your quality system gets stronger at the same time.</p></li><li><p>The software engineer role is shifting upward, from code producer to system designer, reviewer and decision-maker.</p></li></ol><p>Rittika is one of the more thoughtful voices I have heard on this topic because she is not speaking in abstractions. She is building inside a high-bar environment, writing openly about the lessons, and grounding the entire thing in practice. Her <a href="https://rittikajindal.medium.com/?utm_source=chatgpt.com">Medium</a> is worth following, and so is <a href="https://www.thomsonreuters.com/en-us/posts/innovation/inside-the-transformation-how-thomson-reuters-is-becoming-a-tech-company-from-the-inside-out/?utm_source=chatgpt.com">Thomson Reuters&#8217; broader engineering transformation story</a>. For people trying to level up quickly, I also liked her recommendation to start with the docs from the model companies themselves and with <a href="https://www.deeplearning.ai/">DeepLearning.AI</a>.</p><p>And yes, it will surprise no one that the AI tool she said she cannot live without is <a href="https://claude.com/product/claude-code?utm_source=chatgpt.com">Claude Code</a>.</p><p>Want to hear the full episode? Check it out on <a href="https://www.youtube.com/watch?v=wc0tj4nYfmw&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=17">YouTube</a>, <a href="https://open.spotify.com/episode/1p4D11MYcsnlx4QkVvifcA?si=LohAEDw1QUm3CJJ_BRfitA">Spotify</a>, and <a href="https://podcasts.apple.com/us/podcast/ai-native-engineering-at-scale-with-rittika-jindal/id1839467012?i=1000758454573">Apple Podcasts</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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></p>]]></content:encoded></item><item><title><![CDATA[Why Enterprise AI Struggles with Data, and What Leaders Should Do About It]]></title><description><![CDATA[On March 25, I hosted a webinar with Meenal Iyer and Solomon Kahn on where enterprise AI breaks down, what actually works, and how data leaders should think about trust, context, and business impact.]]></description><link>https://journey.getsolid.ai/p/why-enterprise-ai-struggles-with</link><guid isPermaLink="false">https://journey.getsolid.ai/p/why-enterprise-ai-struggles-with</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Fri, 27 Mar 2026 16:02:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9Mq8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Mq8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Mq8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!9Mq8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!9Mq8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!9Mq8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Mq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png" width="1200" height="627" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:627,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:547626,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/192213636?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9Mq8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 424w, https://substackcdn.com/image/fetch/$s_!9Mq8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 848w, https://substackcdn.com/image/fetch/$s_!9Mq8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 1272w, https://substackcdn.com/image/fetch/$s_!9Mq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef3eaba-d4c3-4031-be0a-5a1b91f2b44f_1200x627.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Webinar is available <a href="https://go.getsolid.ai/webinar-on-demand-why-ai-struggles-with-data">here</a>.</figcaption></figure></div><p>On March 25, we hosted a webinar on a topic I hear about almost daily: everyone wants AI on top of their data, but very few teams are fully happy with the results. I got amazingly positive feedback on it, and wanted to share with you.</p><p>I had the pleasure of leading the discussion with <a href="https://www.linkedin.com/in/meenal-iyer">Meenal Iyer of SurveyMonkey</a> and data leader <a href="https://www.linkedin.com/in/solomonkahn/">Solomon Kahn</a>. We spoke candidly about what&#8217;s working, what&#8217;s failing, and where data leaders should focus if they want AI to drive real value inside the enterprise.</p><p>If you&#8217;d like to watch the full webinar, you can do that <a href="https://go.getsolid.ai/webinar-on-demand-why-ai-struggles-with-data">here</a>.</p><p>A few ideas stood out to me.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>1. AI literacy does not happen in a slide deck</h2><p>One of my favorite parts of the discussion was Meenal&#8217;s story about trying to bring AI into her organization.</p><p>Her first instinct was a very reasonable one: train the team. Create an internal AI academy. Upskill people. Teach the concepts.</p><p>It did not work the way she hoped.</p><p>What did work was much more hands-on. She had the team do a mini AI hackathon, focused on real problems in their own workflows. Suddenly, the conversation changed. People were no longer thinking abstractly about models, prompts, or which tool was hottest that week. They were thinking about friction in their day-to-day work, and whether AI could actually remove it.</p><p>That shift matters.</p><p>I keep seeing the same pattern across companies: people understand AI much better once they build with it. Not when they hear about it. Not when they read another thought piece on LinkedIn. When they actually try to solve something with it.</p><p>This is also very much in line with what I wrote in <a href="https://journey.getsolid.ai/p/building-an-ai-powered-intelligent?utm_source=chatgpt.com">Building an AI-powered Intelligent Enterprise</a>, where I shared more of Meenal&#8217;s broader journey and how her team has been evolving from experimentation toward production.</p><h2>2. The problem is not &#8220;the data&#8221; alone. It&#8217;s the missing context around it</h2><p>Another major theme in the webinar was one I think many teams learn the hard way.</p><p>You cannot just put a GPT on top of a dataset and expect magic.</p><p>Even if the dataset is clean.<br>Even if the columns are named well.<br>Even if there is a semantic layer underneath it.</p><p>That still does not mean the AI understands the business.</p><p>It does not know the internal logic behind the metrics. It does not know which edge cases matter. It does not know which definitions changed last quarter, which exceptions live in Confluence, which nuance is buried in Jira, or what your executives actually mean when they use a certain term.</p><p>Without that context, AI fills in the blanks on its own. That is where hallucinations and bad decisions start showing up.</p><p>This connects directly to what I wrote in <a href="https://journey.getsolid.ai/p/sorry-for-the-mess-everyones-data?utm_source=chatgpt.com">&#8220;Sorry for the mess&#8221;</a>. Enterprise data is messy. Everyone&#8217;s is. The answer is not to wait for some mythical moment where everything is perfectly documented and pristine. The answer is to build systems that can understand the reality of how businesses actually work.</p><h2>3. &#8220;100% accuracy&#8221; is usually the wrong conversation</h2><p>A big part of the Q&amp;A ended up centering on accuracy, and understandably so.</p><p>If an AI system is 92% accurate, what do you do with the other 8%? Can you trust it? Should you use it for decision-making? Is that good enough?</p><p>My view is that we often hold AI to a strange standard.</p><p>Human analysts are not 100% accurate either. In many cases, they get to a high-confidence answer through back-and-forth, clarification, validation, and iteration. AI should be judged with similar realism. Not every use case requires perfection. Some do. Many do not.</p><p>The more useful question is: what is the use case, what is the risk, and what level of validation is needed?</p><p>For financial reporting, compliance, and tightly audited workflows, you still want highly controlled systems and dashboards. For exploratory work, data literacy, pattern finding, and helping people navigate large datasets, AI can already be very valuable even if it is not perfect.</p><p>That is one of the reasons I still believe <a href="https://journey.getsolid.ai/p/throwing-away-bi-is-a-bad-idea//?utm_source=chatgpt.com">throwing away BI is a bad idea</a>. AI and BI should work together. One is not replacing the other anytime soon.</p><p>During the conversation I also brought up <a href="https://waymo.com/safety/impact/?utm_source=chatgpt.com">Waymo&#8217;s safety work</a> as an analogy. The standard is not &#8220;never make a mistake.&#8221; The standard is whether the system performs well enough, consistently enough, in the context it is being used for.</p><h2>4. Data leaders should be measured on business impact, not just on perfection</h2><p>Solomon made a point that I think many data leaders feel deeply.</p><p>Data teams are often only noticed when something is wrong.</p><p>When the number is right, silence.<br>When the dashboard works, silence.<br>When the business gets what it needs, silence.</p><p>But when something breaks, or a metric is off, or an answer is confusing, that is when everyone suddenly remembers the data team exists.</p><p>That is a very hard way to operate.</p><p>The better framing is business impact. Are you helping the organization close deals, reduce churn, improve workflows, support better decisions, and move faster with more confidence? That is the real scoreboard.</p><p>This also ties back to something I wrote last year in <a href="https://journey.getsolid.ai/p/nobody-cares-about-the-efficiency?utm_source=chatgpt.com">Nobody cares about the efficiency of the data analyst</a>. Efficiency is nice. Happier analysts are nice. But the main thing the business cares about is results. If AI helps deliver those results, people will forgive a lot. If it does not, no amount of cleverness will save it.</p><h2>5. Start small, but start</h2><p>The closing advice from the panel was refreshingly practical.</p><p>Do not boil the ocean.</p><p>Start with a smaller domain. Start with a use case where the data is relatively well understood. Start with a workflow where the upside is clear. Let people experiment. See what breaks. See what works. Learn quickly.</p><p>There is far too much pressure right now for companies to show they &#8220;have an AI strategy.&#8221; That pressure often creates giant top-down initiatives that look impressive in a deck and disappoint in reality.</p><p>A smaller, grounded, iterative approach is much less glamorous. It is also much more likely to get you somewhere real.</p><h2>Final thought</h2><p>If there is one message I would want people to walk away with, it is this:</p><p>Enterprise AI is not struggling because there is not enough excitement. It is struggling because real business data is nuanced, fragmented, and deeply contextual.</p><p>The teams that succeed will not be the ones with the flashiest demo.</p><p>They will be the ones that help AI understand how their business actually works, earn trust over time, and stay relentlessly focused on business outcomes.</p><p>Thanks again to Meenal and Solomon for such a sharp and honest discussion.</p><p>If you missed the webinar, you can <a href="https://go.getsolid.ai/webinar-on-demand-why-ai-struggles-with-data">watch it here</a>. And if you want more on Meenal&#8217;s journey, <a href="https://journey.getsolid.ai/p/building-an-ai-powered-intelligent?utm_source=chatgpt.com">this earlier post</a> is a good place to start.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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></p>]]></content:encoded></item><item><title><![CDATA[Your data agents need context. But context is not enough]]></title><description><![CDATA[Jason Cui and Jennifer Li from a16z are absolutely right to put context at the center of AI for data. Yoni Leitersdorf, Solid&#8217;s CEO & Co-Founder, shares Solid's perspective on the matter.]]></description><link>https://journey.getsolid.ai/p/your-data-agents-need-context-but</link><guid isPermaLink="false">https://journey.getsolid.ai/p/your-data-agents-need-context-but</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 18 Mar 2026 13:02:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QA2p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QA2p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QA2p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 424w, https://substackcdn.com/image/fetch/$s_!QA2p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 848w, https://substackcdn.com/image/fetch/$s_!QA2p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 1272w, https://substackcdn.com/image/fetch/$s_!QA2p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QA2p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png" width="2000" height="948" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:2000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:204094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/191198857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc38a25-0eec-4a81-8883-8afe67a0c11e_2000x948.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QA2p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 424w, https://substackcdn.com/image/fetch/$s_!QA2p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 848w, https://substackcdn.com/image/fetch/$s_!QA2p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 1272w, https://substackcdn.com/image/fetch/$s_!QA2p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322ae86f-0102-4a95-ac18-fe9fa4d6cd1b_2000x948.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Go Solid!</figcaption></figure></div><p>First, kudos to Jason Cui and Jennifer Li for their a16z post, <a href="https://a16z.com/your-data-agents-need-context/?utm_source=chatgpt.com">Your Data Agents Need Context</a>.</p><p>It&#8217;s a strong piece. More importantly, it puts the conversation in the right place.</p><p>A lot of the market still talks about data agents as if this is mainly a model problem. Better reasoning, better SQL generation, better interfaces, and suddenly everyone in the business can ask whatever they want and get back a trustworthy answer.</p><p>That&#8217;s not the main blocker.</p><p>Jason and Jennifer make the important point: the real blocker is context.</p><p>Not generic context. Real business context. Which definition of revenue is the right one. Which dashboard people actually trust. Which table is technically available, but should not be used. Which metric changed meaning last quarter. Which exception &#8220;everyone knows,&#8221; but no system has ever written down.</p><p>This is exactly why, in <a href="https://journey.getsolid.ai/p/data-chatbots-what-people-are-really">Data Chatbots: what people are really doing</a>, I argued that enterprise data is not just a SQL problem. Every company has its own business language, and often multiple business languages. The model is not just translating English into SQL. It is trying to navigate an organization&#8217;s internal logic.</p><p>That is much harder.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>Context is the problem. Static context is the trap</h2><p>Where I&#8217;d push the a16z argument a step further is this:</p><p><strong>Context is necessary. But static context is not enough.</strong></p><p>Most enterprise context is messy. It lives across BI tools, dbt models, semantic layers, dashboards, documentation, tickets, query history, Slack threads, and people&#8217;s heads. Some of it is useful. Some of it is stale. Some of it conflicts with other pieces. Some of it was right six months ago and wrong today.</p><p>That&#8217;s why I keep coming back to a simple point: <a href="https://journey.getsolid.ai/p/sorry-for-the-mess-everyones-data">everyone&#8217;s data is messy</a>. No one has perfect documentation. No one has a fully clean warehouse. No one has a beautifully maintained source-of-truth map that always reflects reality.</p><p>And that&#8217;s okay.</p><p>The mistake is thinking the answer is to pause everything and go build a pristine context layer by hand.</p><p>That sounds good in theory. In practice, it can turn into the next documentation project that starts with great intentions and slowly falls out of date. We&#8217;ve seen this before in catalogs, governance projects, and semantic initiatives. It&#8217;s also why I think Tal&#8217;s point in <a href="https://journey.getsolid.ai/p/semantic-layer-for-ai-lets-not-make">Semantic layer for AI: let&#8217;s not make the same mistakes we did with data catalogs</a> is so important: if humans have to manually maintain every part of the system forever, the system usually loses.</p><p>So yes, agents need context.</p><p>But the bigger requirement is that context has to keep up with a real business. New product lines get added. Definitions shift. Dashboards become stale. Teams change how they operate. The &#8220;trusted&#8221; table from last year may no longer be the one finance relies on today.</p><p>If your context layer cannot adapt to that, it is not really a context layer. It is a snapshot.</p><h2>Enterprises already have more context than they think</h2><p>The good news is that companies are not starting from zero.</p><p>A lot of their context already exists inside the work they&#8217;ve done over the past decade. It&#8217;s embedded in BI, in semantic models, in modeling layers, in warehouse metadata, and in query patterns. It may not be organized perfectly, but it&#8217;s there.</p><p>That&#8217;s one reason I wrote <a href="https://journey.getsolid.ai/p/throwing-away-bi-is-a-bad-idea">Throwing away BI is a Bad Idea</a>. There is this temptation right now to act as if AI will replace everything that came before it. I think that&#8217;s the wrong frame.</p><p>Your BI stack contains years of accumulated business logic. Your dashboards, LookML, dbt models, Power BI reports, Tableau workbooks, and saved queries all encode decisions the organization has already made. Not perfectly, of course. But they are still among the highest-signal assets you have.</p><p>The right move is not to discard those systems.</p><p>It&#8217;s to extract from them.</p><p>That&#8217;s also why posts like <a href="https://journey.getsolid.ai/p/autogeneration-of-a-semantic-layer">Autogeneration of a semantic layer - the key for AI/BI</a> and <a href="https://journey.getsolid.ai/p/data-meet-business-why-you-need-jit">Data, Meet Business: Why You Need JIT Semantic Models, Instead of a Static Semantic Layer</a> resonate so much with what Jason and Jennifer are saying. The market does need context. But it needs context that can be built and refreshed from the assets companies already have, not just from a manual curation exercise.</p><h2>My takeaway</h2><p>So my takeaway from the a16z post is pretty simple:</p><p>They are absolutely right that data agents need context.</p><p>I&#8217;d just add that context also needs infrastructure. It needs a way to be generated, refined, corrected, and updated without depending on humans to keep every rule and every definition perfectly current by hand.</p><p>That is the harder challenge.</p><p>And that, in my opinion, is where the next real wave of value will be created.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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[Agentic analytics, for real: how Solid is already doing what Gartner describes]]></title><description><![CDATA[Gartner&#8217;s Market Guide for Agentic Analytics sounds like a roadmap for the future of data and AI. For our customers, it is mostly a description of what they are already doing today.]]></description><link>https://journey.getsolid.ai/p/agentic-analytics-for-real-how-solid</link><guid isPermaLink="false">https://journey.getsolid.ai/p/agentic-analytics-for-real-how-solid</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Sun, 15 Mar 2026 01:00:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IqEn!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f9f6c60-b32a-439a-a15a-821b601ba616_680x680.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I read <a href="https://go.thoughtspot.com/analyst-report-gartner-market-guide-for-agentic-analytics.html">Gartner&#8217;s new </a><em><a href="https://go.thoughtspot.com/analyst-report-gartner-market-guide-for-agentic-analytics.html">Market Guide for Agentic Analytics</a></em>, I had a very specific reaction.</p><p>This is not some far off vision of how analytics might work one day. It is a pretty good description of what we are already building and deploying with customers.</p><p>And if you want a concrete example, we have a public case study with SurveyMonkey that shows these ideas in production today:<br><a href="https://go.getsolid.ai/surveymonkey-case-study?utm_source=chatgpt.com">SurveyMonkey x Solid Case Study</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>What Gartner actually means by &#8220;agentic analytics&#8221;</h2><p>Let me translate the report into four simple ideas.</p><h3>1. Start from specific, repeatable scenarios</h3><p>Agentic analytics is not &#8220;ask anything in a chat box.&#8221; (we <a href="https://journey.getsolid.ai/p/chat-with-your-data-is-not-what-you?r=5b9smj&amp;utm_campaign=post&amp;utm_medium=web&amp;triedRedirect=true&amp;_src_ref=linkedin.com">already discussed</a> how that&#8217;s not an important use case)</p><p>The successful patterns start from well defined, high value workflows, for example:</p><ul><li><p>Weekly business reviews</p></li><li><p>Account health and renewals</p></li><li><p>Campaign performance</p></li><li><p>Operational anomaly detection and follow up</p></li></ul><p>These are things that already happen, on a schedule, with some manual collection of numbers and spreadsheets.</p><p>Gartner&#8217;s point is that you get real value when agents make these workflows faster and better, not when you show a cool one time demo.</p><h3>2. Semantics and policy are the foundation</h3><p>The report is very clear. If you point agents at raw tables and column names and hope they &#8220;figure it out,&#8221; you are going to get confident nonsense.</p><p>Organizations that succeed:</p><ul><li><p>Invest in semantic layers, ontologies and knowledge graphs for their important domains.</p></li><li><p>Align metric definitions across tools, dashboards and teams.</p></li><li><p>Make sure agents and models are grounded in that shared layer.</p></li></ul><p>In Journey we have been calling this the &#8220;context layer&#8221; between your warehouse and your AI. Posts like &#8220;The Two Souls of a Semantic Layer&#8221; and <a href="https://journey.getsolid.ai/p/behind-the-scenes-how-we-think-about">&#8220;Behind the scenes: how we think about semantic model generation&#8221;</a> are basically a deep dive on this point.</p><h3>3. Human and AI roles need to be explicit</h3><p>Gartner spends a lot of time on delegation, escalation and human review.</p><p>The questions they ask are simple:</p><ul><li><p>Which tasks can an agent do alone?</p></li><li><p>Which tasks must always be reviewed by a human?</p></li><li><p>When should an agent suggest rather than act?</p></li></ul><p>The answer will be different for forecasting revenue, sending emails to customers, or building a one off dashboard for a team. The key is to make the rules explicit instead of letting each team invent its own.</p><h3>4. Governance and cost are first class</h3><p>Agentic systems can run expensive queries and call expensive models.</p><p>That means you need:</p><ul><li><p>Observability into what agents are doing.</p></li><li><p>Guardrails around which data they can touch.</p></li><li><p>Controls on how much they can spend for a given type of insight.</p></li></ul><p>Gartner talks about this as managing the &#8220;cost per useful insight&#8221; rather than just tracking model usage. It is a good mental model.</p><p>So that is the theory. Now let us talk about how Solid is positioned inside that world.</p><h2>How we position Solid in the agentic analytics landscape</h2><p>When people ask what Solid is, I usually describe it like this:</p><p>Solid is the context layer between your data and your AI systems.</p><p>More concretely, Solid:</p><ul><li><p>Learns semantic models automatically from your warehouse, query history, BI and other sources.</p></li><li><p>Keeps those models governed, tested and up to date as things change.</p></li><li><p>Exposes that logic through APIs and MCP so that any agent, LLM or workflow can use it.</p></li></ul><p>This is not a generic chatbot. It is an an enabler for all of your AI projects - those that leverage your structured data.</p><p>Here is how that maps to Gartner&#8217;s four themes.</p><h3>Semantic foundations, automated</h3><p>We agree with Gartner that semantic and policy alignment is foundational. The problem is that almost nobody has time to build and maintain a semantic layer manually.</p><p>That is why Solid:</p><ul><li><p>Mines query logs, BI dashboards and recurring reports to see how the business already uses data.</p></li><li><p>Auto generates candidate semantic models that reflect real joins, metrics and entities.</p></li><li><p>Lets humans review and refine those models instead of starting from a blank file.</p></li></ul><p>We wrote about this in <a href="https://journey.getsolid.ai/p/the-ghost-in-the-machine-how-solid">&#8220;The Ghost in the Machine: How Solid drastically accelerates semantic model generation&#8221;</a> and in <a href="https://journey.getsolid.ai/p/end-to-end-generating-semantic-models">&#8220;End-to-end: generating semantic models for Snowflake Cortex Analyst/Intelligence in two weeks&#8221;</a>.</p><p>The result is very similar to what Gartner describes: a selective semantic layer for the most important domains, aligned with how the business actually works.</p><h3>Analysts first, &#8220;AI for everyone&#8221; second</h3><p>In <a href="https://journey.getsolid.ai/p/stop-saying-garbage-in-garbage-out">&#8220;Stop saying &#8216;Garbage In, Garbage Out&#8217;, no one cares&#8221;</a>, we argued that the business will not wait until all your data is perfect before they try AI. You need a safe way to get value now and improve quality over time.</p><p>Our approach is to start with the analysts and data team:</p><ul><li><p>Give them an AI copilot that understands their warehouse and their metrics.</p></li><li><p>Let them supervise and correct what the AI does.</p></li><li><p>Only then open up the same capabilities to broader audiences in a governed way.</p></li></ul><p>This is very close to Gartner&#8217;s picture of humans as supervisors and orchestrators of agentic systems rather than bystanders.</p><h3>Embedded, not &#8220;sidecar chat&#8221;</h3><p>The <a href="https://journey.getsolid.ai/p/chat-with-your-data-is-not-what-you?r=5b9smj&amp;utm_campaign=post&amp;utm_medium=web&amp;triedRedirect=true&amp;_src_ref=lnkd.in">value of a &#8220;chat with your data solution&#8221; is extremely limited</a>. That should NOT be your goal.</p><p>Solid is designed to show up where work is already happening:</p><ul><li><p>Inside recurring analytics rituals like QBRs and weekly reviews.</p></li><li><p>Right next to existing BI tools and documents.</p></li><li><p>Triggered by events in the data, not only by user questions.</p></li></ul><p>This maps to what Gartner calls conversational and perceptive analytics. We just think of it as embedding AI where it can actually help people do their jobs.</p><div><hr></div><h2>How we run pilots in an &#8220;agentic&#8221; way</h2><p>The other part of the Gartner guide that felt familiar was their advice to &#8220;start with concrete scenarios&#8221; and &#8220;treat pilots as the first step toward production, not proofs of concept.&#8221;</p><p>That is almost exactly how we run pilots.</p><h3>1. Pick one high value, bounded scenario</h3><p>We never start a pilot with &#8220;ask anything about your data.&#8221;</p><p>We start with something like:</p><ul><li><p>Help marketing run weekly campaign reviews without manual data collection.</p></li><li><p>Give customer success a reliable view of at risk customers before renewals.</p></li><li><p>Make it trivial for product managers to answer their five most common usage questions.</p></li></ul><p>These scenarios have three things in common:</p><ul><li><p>They happen all the time.</p></li><li><p>People are already doing them, but with a lot of manual effort and spreadsheets.</p></li><li><p>There is clear business value in making them faster and more reliable.</p></li></ul><p>This is very close to Gartner&#8217;s advice to anchor agentic analytics initiatives in specific analytical scenarios and measure cycle time and quality of decision, not just &#8220;AI usage.&#8221;</p><h3>2. Build the semantic slice that matters</h3><p>Once we have a scenario, we narrow down the data to the actual slice that powers it.</p><p>Solid then:</p><ul><li><p>Learns from historical queries and dashboards which tables and joins really matter.</p></li><li><p>Proposes a semantic model with the relevant entities, metrics and relationships.</p></li><li><p>Generates human readable documentation so business stakeholders can sanity check it.</p></li></ul><p>You do not need a company wide semantic layer on day one. You need a good semantic model for the scenario in front of you, that can then grow step by step.</p><h3>3. Define human and AI roles up front</h3><p>Before any agent does anything beyond drafting and suggesting, we agree with the customer on clear guardrails.</p><p>For a given workflow we decide:</p><ul><li><p>What the agent is allowed to do automatically.</p></li><li><p>What requires explicit human approval.</p></li><li><p>What the agent is not allowed to touch at all.</p></li></ul><p>For example:</p><ul><li><p>An agent may be allowed to draft commentary for a business review slide, but not to send that slide to an executive without someone reading it.</p></li><li><p>An agent may flag unusual patterns in the data, but not create or modify alerts in production systems.</p></li><li><p>Anything that touches pricing, discounts or regulated metrics always goes through human review.</p></li></ul><p>This is our practical version of the delegation and escalation frameworks Gartner describes.</p><h3>4. Measure outcomes, not just demos</h3><p>Finally, we define what success looks like in terms that matter to the team.</p><p>Typical success metrics include:</p><ul><li><p>Reduction in analyst time spent on repetitive requests.</p></li><li><p>Faster turnaround for key decisions (for example weekly reviews prepared in hours instead of days).</p></li><li><p>Fewer &#8220;shadow&#8221; spreadsheets and one off queries.</p></li><li><p>Reuse of the semantic model in new workflows after the pilot.</p></li></ul><p>The goal is that a pilot creates a durable asset, not just a one time demo. The semantic models, guardrails and workflows we build in the first month are designed so that they can power the next set of use cases.</p><h2>A quick example from the field</h2><p>One short quote from our public case study captures the spirit of what &#8220;agentic analytics&#8221; feels like when it works.</p><p>In that case study, Meenal Iyer says:</p><blockquote><p>&#8220;Our goal is for AI to remain dependable,&#8221; Meenal explained. &#8220;Teams should be able to use it with confidence, knowing the answers reflect how the business actually works.&#8221;</p></blockquote><p>This is exactly why we care so much about semantics, governance and human in the loop design. Agentic analytics only matters if teams can depend on it.</p><p>If you want to see the full story, including the impact on accuracy, time to production and maintenance, you can download the case study here:<br><a href="https://go.getsolid.ai/surveymonkey-case-study?utm_source=chatgpt.com">Download the case study</a></p><h2>Where we are going next</h2><p>Gartner also talks about &#8220;perceptive analytics&#8221; and agents that:</p><ul><li><p>Monitor events and changes continuously.</p></li><li><p>Understand goals and constraints.</p></li><li><p>Adapt their behavior based on feedback.</p></li></ul><p>In this blog we explored similar ideas in <a href="https://journey.getsolid.ai/p/vibe-analytics-the-new-era-of-data">&#8220;Vibe Analytics: The new era of data experiences&#8221;</a>. The short version is that we want AI to feel less like a tool you occasionally consult and more like a reliable colleague who taps you on the shoulder when something important happens.</p><p>A lot of our current roadmap is about:</p><ul><li><p>Learning not just from schemas, but from how people actually use data over time.</p></li><li><p>Bridging the &#8220;two souls&#8221; of the semantic layer, so that governance and insight are not in conflict.</p></li><li><p>Making it easy for customers to go from one well defined scenario to a network of agentic workflows that reuse the same trusted foundation.</p></li></ul><h2>If you care about agentic analytics, here is what I would do next</h2><p>If your leadership is asking &#8220;What is our agentic analytics strategy?&#8221; or &#8220;How do we move beyond pilots?&#8221;, here is a simple plan.</p><ol><li><p><strong>Read the Gartner Market Guide</strong><br>Grab it here and read it with your own organization in mind:<br><a href="https://go.thoughtspot.com/analyst-report-gartner-market-guide-for-agentic-analytics.html">Analyst Report: Gartner Market Guide for Agentic Analytics</a></p></li><li><p><strong>Read the case study in parallel</strong><br>Look at how the ideas in the report show up in a real deployment:<br><a href="https://go.getsolid.ai/surveymonkey-case-study?utm_source=chatgpt.com">SurveyMonkey x Solid Case Study</a></p></li><li><p><strong>Skim a few Journey posts to see how we think about this internally</strong><br>For example:</p><ul><li><p><a href="https://journey.getsolid.ai/p/ai-for-ai-how-to-make-chat-with-your">&#8220;AI for AI: how to make &#8216;chat with your data&#8217; attainable within 2025&#8221;</a></p></li><li><p><a href="https://journey.getsolid.ai/p/behind-the-scenes-how-we-think-about">&#8220;Behind the scenes: how we think about semantic model generation&#8221;</a></p></li><li><p><a href="https://journey.getsolid.ai/p/almost-no-ai-in-production">&#8220;(Almost) no AI in production&#8221;</a></p></li></ul></li></ol><p>You will see the same themes repeated again and again.</p><p>Start from concrete scenarios.<br>Invest in semantics where it matters.<br>Keep humans in the loop by design.<br>Treat governance and cost as product features, not afterthoughts.</p><p>That is what Gartner calls &#8220;agentic analytics.&#8221; For us, it is just how we build. <a href="https://www.getsolid.ai/contact">We&#8217;d love to hear from you</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getsolid.ai/contact&quot;,&quot;text&quot;:&quot;Contact Solid&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getsolid.ai/contact"><span>Contact Solid</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA["Chat with your data" is NOT what you should be aiming for]]></title><description><![CDATA[Everyone wants a chat with their data - allow non-technical users to interact with it. That's wrong; the real value shows up when AI stops just answering questions and starts doing the actual work.]]></description><link>https://journey.getsolid.ai/p/chat-with-your-data-is-not-what-you</link><guid isPermaLink="false">https://journey.getsolid.ai/p/chat-with-your-data-is-not-what-you</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 11 Mar 2026 13:02:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xm9S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xm9S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xm9S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 424w, https://substackcdn.com/image/fetch/$s_!Xm9S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 848w, https://substackcdn.com/image/fetch/$s_!Xm9S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 1272w, https://substackcdn.com/image/fetch/$s_!Xm9S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xm9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png" width="555" height="364.35676392572947" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26944f80-23ca-4bce-a27c-147063699cda_754x495.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:495,&quot;width&quot;:754,&quot;resizeWidth&quot;:555,&quot;bytes&quot;:466230,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/190146263?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xm9S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 424w, https://substackcdn.com/image/fetch/$s_!Xm9S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 848w, https://substackcdn.com/image/fetch/$s_!Xm9S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 1272w, https://substackcdn.com/image/fetch/$s_!Xm9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26944f80-23ca-4bce-a27c-147063699cda_754x495.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The dream: anyone can ask anything</h2><p>If you spend even a few minutes on LinkedIn these days, you will see some version of the same pitch:</p><blockquote><p>&#8220;Imagine every business user in your company can just <em>chat with your data</em>.&#8221;</p></blockquote><p>The demo is always similar:</p><ul><li><p>Someone opens a chat window</p></li><li><p>Types &#8220;What were Q4 revenues in EMEA versus target?&#8221;</p></li><li><p>A nice chart pops up</p></li><li><p>Everyone nods. &#8220;This is the future.&#8221;</p></li></ul><p>I get why this is compelling. We have spent a decade building dashboards, training people on BI tools, arguing about metric definitions. The idea that we can put a natural language interface in front of all of that, and suddenly &#8220;everyone becomes data driven&#8221;, is very appealing.</p><p>We have written before about why enabling this is so hard on the technical side, from Text2SQL accuracy issues in <a href="https://journey.getsolid.ai/p/everyone-wants-text2sql-but-the-pros">&#8220;Everyone wants Text2SQL, but the pros don&#8217;t trust it&#8221;</a> to the heavy lifting needed in <a href="https://journey.getsolid.ai/p/semantic-layer-for-ai-lets-not-make">&#8220;Semantic layer for AI: let&#8217;s not make the same mistakes we did with data catalogs&#8221;</a>.</p><p>This time I want to focus on something else:</p><p>Even if you solve all the technical problems, &#8220;chat with your data&#8221; has two very real business problems.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Problem 1: <em>usage</em> is not ROI</h2><p>When companies roll out a &#8220;chat with your data&#8221; experience, here is what they tend to measure:</p><ul><li><p>How many people tried it</p></li><li><p>How many questions they asked</p></li><li><p>How often they came back</p></li><li><p>Satisfaction scores like &#8220;this answer was useful&#8221;</p></li></ul><p>All of those are fine. None of them are ROI.</p><p>It is very hard to answer questions like:</p><ul><li><p>Did this chat experience help us win more deals?</p></li><li><p>Did it reduce churn?</p></li><li><p>Did it increase revenue per customer?</p></li><li><p>Did it reduce cost per ticket in support?</p></li></ul><p>You can say &#8220;Marketers now get answers faster&#8221; or &#8220;Sales can self serve their questions&#8221;, but that is not the same as proving material business impact.</p><p>We see a similar pattern to what we saw with early BI rollouts:</p><ol><li><p>A big launch, internal roadshow, a few great demo moments</p></li><li><p>A couple of power users adopt it seriously</p></li><li><p>Everyone else goes back to:</p><ul><li><p>Asking the same data people in Slack</p></li><li><p>Looking at the same dashboards as before</p></li><li><p>Exporting to Excel</p></li></ul></li></ol><p>You can show a nice adoption chart. You can say &#8220;we had 3,000 questions asked this quarter&#8221;. But when the CFO asks &#8220;What did we get for this?&#8221; it is very hard to go from &#8220;3,000 questions&#8221; to &#8220;X million dollars&#8221;.</p><p>That is not a problem unique to AI. It is the same problem BI has had for years. The difference is that with AI, the expectations are much higher.</p><div><hr></div><h2>Problem 2: after the novelty, no one knows what to ask</h2><p>The second pattern we keep hearing in conversations with data and analytics leaders is even more worrying:</p><blockquote><p>&#8220;The first month, people played with it. After that, usage dropped. People did not know what to do with it.&#8221;</p></blockquote><p>We saw a similar behavior in the work behind <a href="https://journey.getsolid.ai/p/when-users-dont-chat-with-your-chat">&#8220;When users don&#8217;t chat with your chat&#8221;</a>. Most users are not &#8220;trained&#8221; to interact with AI in a rich, structured way. A typical prompt is closer to a search query than to a thoughtful analytical question.</p><p>In practice that looks like:</p><ul><li><p>&#8220;Show me sales last month&#8221;</p></li><li><p>&#8220;Top 10 customers&#8221;</p></li><li><p>&#8220;Pipeline by region&#8221;</p></li></ul><p>Those are fine questions, but they are not very far from what you already had in dashboards or reports. And once people have tried a few of these, they hit a wall:</p><ul><li><p>They do not know how to decompose fuzzier questions</p></li><li><p>They are not sure what the system &#8220;knows&#8221;</p></li><li><p>They do not want to get something wrong in front of their manager based on a chat answer</p></li></ul><p>So they fall back to the pattern they trust:</p><ul><li><p>Open the dashboard that &#8220;everyone uses&#8221;</p></li><li><p>Ask an analyst to &#8220;just pull something for me&#8221;</p></li><li><p>Copy paste into a deck</p></li></ul><p>Chat becomes another tool they occasionally open, not something that fundamentally changes how the business runs.</p><div><hr></div><h2>Why this is happening: chat is a pull interface</h2><p>If you zoom out, there is a structural reason for this:</p><p>Chat is a pull interface. It relies on the human to:</p><ul><li><p>Notice there is a question worth asking</p></li><li><p>Translate it into words the system understands</p></li><li><p>Decide what to do with the answer</p></li><li><p>Then go and do the work</p></li></ul><p>That is a lot to ask from already overloaded business stakeholders.</p><p>The people you are most excited to &#8220;put AI in front of&#8221; are usually the ones with the least time and attention. They are managing teams, customers, numbers. Asking them to become &#8220;prompt engineers&#8221; on top of that is not realistic.</p><p>So you get:</p><ul><li><p>Some cool one off wins</p></li><li><p>Good internal marketing material</p></li><li><p>But not a durable change in how decisions are made and work gets done</p></li></ul><p>Which leads to the core point of this post:</p><blockquote><p>The real promise of AI on structured data is not &#8220;chat with your data&#8221;. That is a nice bonus. The real promise is agents that take work off people&#8217;s plates.</p></blockquote><div><hr></div><h2>What agents do that chat never will</h2><p>When I say &#8220;agents&#8221;, I do not mean a fancy wrapper around chat that calls a few tools. I mean systems that:</p><ul><li><p>Run on a schedule or trigger from events</p></li><li><p>Pull from multiple sources:</p><ul><li><p>Data warehouse and metrics</p></li><li><p>Product events</p></li><li><p>CRM</p></li><li><p>Support tickets</p></li><li><p>Even free text notes</p></li></ul></li><li><p>Apply reasoning and business logic</p></li><li><p>Make a decision or propose one</p></li><li><p>Then take action in the real systems of record</p></li></ul><p>Some concrete examples.</p><p><strong>Marketing budget reallocation</strong></p><p>Instead of a marketer asking &#8220;How did Campaign X perform?&#8221;, an agent:</p><ul><li><p>Monitors performance of all campaigns</p></li><li><p>Understands targets for CAC, LTV, and budget constraints</p></li><li><p>Spots under performing campaigns and over performing ones</p></li><li><p>Proposes a reallocation plan in the marketing tool</p></li><li><p>Either executes it automatically, or prepares it for one click approval</p></li></ul><p>Now the ROI is clear:</p><ul><li><p>Improved ROAS</p></li><li><p>Faster reaction time</p></li><li><p>Less manual spreadsheet work</p></li></ul><p><strong>Sales pipeline hygiene</strong></p><p>Instead of a sales manager asking &#8220;What is my real pipeline?&#8221;, an agent:</p><ul><li><p>Scans open opportunities</p></li><li><p>Cross checks product usage, email activity, last touch, win rates</p></li><li><p>Flags deals that are clearly stale</p></li><li><p>Updates fields, nudges reps, or creates summary views for forecast</p></li></ul><p>Again, ROI is measurable:</p><ul><li><p>Forecast accuracy</p></li><li><p>Time saved in pipeline review meetings</p></li><li><p>Higher win rates because teams focus on the right deals</p></li></ul><p><strong>Support and product feedback loop</strong></p><p>Instead of product managers asking &#8220;What are customers complaining about?&#8221;, an agent:</p><ul><li><p>Reads tickets, call transcripts, NPS comments</p></li><li><p>Clusters them into themes</p></li><li><p>Ties those themes to product areas, customer segments, and revenue</p></li><li><p>Proposes a prioritized backlog and shares it with the team</p></li></ul><p>Here the ROI is:</p><ul><li><p>Faster detection of issues</p></li><li><p>Reduced churn</p></li><li><p>Better prioritization</p></li></ul><p>Notice what is common across all of these:</p><ul><li><p>No one typed a prompt</p></li><li><p>The agent started the interaction</p></li><li><p>Humans are in the loop for judgment and approvals, but not doing the mechanical work</p></li></ul><p>In <a href="https://journey.getsolid.ai/p/solids-leap-to-an-agentic-platform">&#8220;Solid&#8217;s Leap to an Agentic Platform&#8221;</a> we shared how we are reorienting our own product around this kind of behavior, not just a smarter chat window on top of the warehouse. That shift in architecture is what unlocks these use cases.</p><div><hr></div><h2>Why agents make ROI obvious</h2><p>If you build the right agents, the ROI conversation becomes much simpler and much faster.</p><p>Instead of talking about value over &#8220;the next 18 to 24 months&#8221;, you can ask:</p><ul><li><p>In the next 1 to 3 months, how much time can we save per week for this role?</p></li><li><p>In the next quarter, how many errors can we avoid?</p></li><li><p>How much faster can we react to key events once an agent is in place?</p></li><li><p><strong>What measurable uplift in revenue or margin do we expect if we react in days instead of quarters?</strong></p></li></ul><p>You can usually tie that to:</p><ul><li><p>Reduction in manual steps</p></li><li><p>A measurable change in a metric</p></li><li><p>A clear before and after comparison on a specific workflow</p></li></ul><p>You do not have to convince anyone with &#8220;We had 3,000 chats this month&#8221;. You can show:</p><ul><li><p>&#8220;We recover 2 percent more revenue on renewals because at risk customers get flagged and handled earlier.&#8221;</p></li><li><p><strong>&#8220;We uncovered 5 percent more business opportunities that are high quality.&#8221;</strong></p></li><li><p>&#8220;We cut time to resolution by 25 percent on a certain ticket type.&#8221;</p></li></ul><p>That is a different level of conversation with your CFO or CEO.</p><div><hr></div><h2>Validating the quality of what agents actually do</h2><p>There is a catch. Once agents are doing real work, they also have real power to mess things up.</p><p>So there are two questions you have to answer at the same time:</p><ol><li><p>Are we getting business outcomes?</p></li><li><p>Is the agent&#8217;s behavior reliable enough that we trust it on those outcomes?</p></li></ol><p>That is where evals and benchmarks come in.</p><p>In our post on <a href="https://journey.getsolid.ai/p/testing-solids-chat-how-we-do-evals">how we do evals for Solid&#8217;s chat</a>, we talked about building a proper evaluation harness instead of relying on &#8220;it feels good in the demo&#8221;. The same idea applies to agents, but the bar is higher.</p><p>A good agentic platform should let you:</p><ul><li><p><strong>Define representative tasks</strong><br>Real prompts or events that mirror how the agent will be used in production. Not toy examples.</p></li><li><p><strong>Specify what &#8220;good&#8221; looks like</strong><br>Ground truth outputs, constraints, and checklists. For agents this can include not only the final answer, but also which tools they should or should not touch.</p></li><li><p><strong>Run benchmarks continuously</strong><br>Every time you change a model, a tool, a prompt, or business logic, you rerun the benchmark and see what got better and what regressed.</p></li><li><p><strong>Track the right metrics</strong><br>Inspired by the metrics we use for chat evals:</p><ul><li><p>Accuracy: did the agent take the correct action, on the right entities?</p></li><li><p>Consistency: do we get similar behavior across similar scenarios?</p></li><li><p>Latency: is it fast enough for the business context?</p></li><li><p>Cost: are we comfortable with the per task cost at scale?</p></li><li><p>Safety and governance: did it respect permissions and policies?</p></li></ul></li></ul><p>Most serious agentic platforms are now building some flavor of this. If you are evaluating tools, I would put &#8220;What is your eval and benchmarking story?&#8221; very high on the list of questions.</p><p>Without this, you are left with anecdotes, screenshots, and a lot of &#8220;seems fine&#8221;. With it, you can treat agents like any other production system: you ship, you measure, you improve.</p><div><hr></div><h2>So is &#8220;chat with your data&#8221; useless?</h2><p>No. It is useful, but you have to put it in its proper place.</p><p>Here is how I would think about it:</p><ul><li><p><strong>Nice bonus, not the hero feature.</strong> Chat is great for exploration, long tail questions, and debugging. It is not where your big business outcomes will come from.</p></li><li><p><strong>Power tool for experts.</strong> Analysts and data savvy users can use chat to move faster, prototype, and inspect. But they are a small portion of your total user base.</p></li><li><p><strong>Support tool for agents.</strong> Agents will sometimes need to &#8220;explain themselves&#8221;, show their work, or help a human dive deeper. Chat can be the interface for that.</p></li></ul><p>If you start with chat as the core story, you end up optimizing for demos that impress in 3 minutes. If you start with agents and real workflows, you optimize for systems that deliver clear value in the next quarter and keep delivering after that.</p><div><hr></div><h2>How to shift your roadmap from chat to agents</h2><p>If you are a data and analytics leader planning your <em>next couple of quarters</em>, here is a simple way to reframe.</p><ol><li><p><strong>Start from business workflows, not from data access.</strong><br>Pick two or three high value workflows where:</p><ul><li><p>The inputs are mostly digital and visible</p></li><li><p>Decisions are repeatable</p></li><li><p>There is clear business ownership</p></li></ul></li><li><p><strong>Map the &#8220;last mile&#8221; to action.</strong><br>For each workflow:</p><ul><li><p>Who actually clicks the buttons today?</p></li><li><p>In which systems?</p></li><li><p>What information do they look at before deciding?</p></li></ul></li><li><p><strong>Design the agent as the &#8220;doer&#8221;, not just the &#8220;answerer&#8221;.</strong><br>The agent should:</p><ul><li><p>Monitor conditions</p></li><li><p>Propose actions with reasons</p></li><li><p>Execute in systems of record, with audit and guardrails (with or without human-in-the-loop)</p></li></ul></li><li><p><strong>Bake in evals from day one.</strong><br>Before you roll out widely:</p><ul><li><p>Build a small but sharp benchmark set for the workflow (Solid automates this for you)</p></li><li><p>Decide which metrics matter most (accuracy, safety, speed, cost)</p></li><li><p>Make every change to the agent go through this benchmark<br>We learned this discipline the hard way on our own chat engine, and captured some of it in <a href="https://journey.getsolid.ai/p/the-curse-and-promise-of-the-white">&#8220;The curse and promise of the white box&#8221;</a>.</p></li></ul></li><li><p><strong>Add chat around the edges.</strong><br>Once the agent exists, surround it with:</p><ul><li><p>Chat for &#8220;why did you do this?&#8221; explanations</p></li><li><p>Chat for &#8220;can you also do X?&#8221; refinements</p></li><li><p>Chat for analysts to debug and improve behavior</p></li></ul></li><li><p><strong>Measure the right things fast.</strong><br>Track:</p><ul><li><p>Outcomes (revenue, cost, speed, quality) every week or month</p></li><li><p>Volume of work automated</p></li><li><p>Human time saved for the specific team<br>Use &#8220;number of chats&#8221; only as a secondary signal, not the headline.</p></li></ul></li></ol><p>If you do this, &#8220;chat with your data&#8221; becomes part of a bigger, agentic strategy instead of the main show.</p><div><hr></div><p>If you are evaluating vendors, or designing your own internal platform, I would encourage you to ask a different question:</p><blockquote><p>&#8220;Over the next 3 to 6 months, what real work will AI be doing for our business, how will we know it is working, and how will we know it is working <em>reliably</em>?&#8221;</p></blockquote><p>If the answer revolves mostly around a chat window, you are probably leaving most of the value on the table.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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></p>]]></content:encoded></item><item><title><![CDATA[It’s not AI. It’s transformation enabled through AI.]]></title><description><![CDATA[In our Season 2 kickoff of Building with AI: Promises and Heartbreaks, Todd James (ex-Fidelity, ex-Kroger/84.51&#176;, now Aurora Insights) shares what it really takes to scale analytics & get real EBIDTA]]></description><link>https://journey.getsolid.ai/p/its-not-ai-its-transformation-enabled</link><guid isPermaLink="false">https://journey.getsolid.ai/p/its-not-ai-its-transformation-enabled</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 04 Mar 2026 14:03:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0mFz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0mFz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0mFz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0mFz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0mFz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0mFz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0mFz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg" width="287" height="348.06382978723406" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1140,&quot;width&quot;:940,&quot;resizeWidth&quot;:287,&quot;bytes&quot;:475911,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/189788281?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0mFz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0mFz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0mFz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0mFz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162070fb-746e-4417-9d57-39c61394ad77_940x1140.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I kicked off Season 2 with <a href="https://www.linkedin.com/in/tsjames/">Todd James</a>. Todd has the kind of resume that makes you wonder if this guy is real: Coast Guard officer, Deloitte, 15 years at Fidelity, then leading data and AI at Kroger and 84.51&#176;, and now running <a href="https://www.aurorainsightsllc.com/about-us?utm_source=chatgpt.com">Aurora Insights</a>, where he works directly with boards and executive teams on turning AI into real enterprise value.</p><p><strong>I can assure you, he is real.</strong></p><p>This episode had so much great content, we had to split it into two parts. Today, we&#8217;re sharing Part One - available on <a href="https://www.youtube.com/watch?v=hz6ohycYeUo&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=13">YouTube</a> <a href="https://open.spotify.com/episode/34z1Tq0DEGHQySrSEnpBEa?si=CpIqgZpDQESUH45LnaUUKQ">Spotify</a> and <a href="https://podcasts.apple.com/us/podcast/building-ai-strategy-that-actually-works-with-todd-james/id1839467012?i=1000752992286">Apple Podcasts</a>.</p><p>Below are the ideas I keep thinking about, plus a few practical takeaways if you are trying to make AI matter in a real organization.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>1) The line that should kill most AI roadmaps</h2><p>Todd said it in a way that simplifies what we&#8217;ve heard before:</p><blockquote><p>&#8220;It&#8217;s not AI. It&#8217;s transformation enabled through AI.&#8221;</p></blockquote><p>If you want to &#8220;play around with AI,&#8221; Todd&#8217;s point is that anyone can do it. You can fund pilots, do proof-of-concepts, and declare victory. But if you want material outcomes, including real EBITDA contribution, you are changing how the business operates.</p><p>That shift is why a lot of programs stall. A pilot can live in a corner. Transformation cannot.</p><p>This connects to a theme we&#8217;ve written about before on Journey: efficiency stories often feel good internally, but they rarely map cleanly to the P&amp;L without operational change. If you missed it, this one is the blunt version: <a href="https://journey.getsolid.ai/p/nobody-cares-about-the-efficiency">Nobody cares about the efficiency of the data analyst</a>.</p><div><hr></div><h2>2) The 70/30 rule of enterprise AI</h2><p>One of Todd&#8217;s most practical frameworks is how a senior data and AI leader should spend their time.</p><p>Roughly:</p><ul><li><p>30% on the technical and programmatic mechanics</p></li><li><p>70% on the organizational dynamic: business alignment, incentives, trust, mobilization</p></li></ul><p>I truly think most people don&#8217;t realize that&#8217;s the true ratio for success. It can sound weird, but it tells you what the job actually is.</p><p>A lot of leaders still treat AI as an engineering upgrade. Todd treats it as an operating model upgrade that happens to use AI.</p><div><hr></div><h2>3) Fragmented analytics is the silent killer of &#8220;strategic AI&#8221;</h2><p>Todd talked about walking into environments where analytics is everywhere, and value is nowhere.</p><p>Not because the people are bad. Because the system is bad:</p><ul><li><p>Teams are embedded and optimized locally</p></li><li><p>Prioritization is fragmented</p></li><li><p>Definitions are inconsistent</p></li><li><p>&#8220;Impact&#8221; is measured inside the analytics org, not in the business</p></li></ul><p>If you have this setup, AI will not fix it. AI will amplify it.</p><p>This is also why the &#8220;chat with your data&#8221; wave is simultaneously inevitable and underwhelming. If the underlying data reality is messy, the chatbot just makes it easier to generate confident nonsense.</p><p>We&#8217;ve hit this from a few angles on Journey:</p><ul><li><p><a href="https://journey.getsolid.ai/p/data-chatbots-what-people-are-really">Data Chatbots: what people are really doing</a></p></li><li><p><a href="https://journey.getsolid.ai/p/vibe-analytics-the-new-era-of-data">Vibe Analytics: the new era of data analysis?</a></p></li><li><p><a href="https://journey.getsolid.ai/p/stop-saying-garbage-in-garbage-out">Stop saying &#8220;Garbage In, Garbage Out&#8221;, no one cares</a></p></li></ul><p>The common thread is the same: AI is an interface. The hard part is the system underneath.</p><div><hr></div><h2>4) Centralizing is not the hard part. Proving it works is.</h2><p>Todd described reorganizing analytics in a way that will feel familiar to anyone who has tried to centralize talent.</p><p>There is always a moment where leaders feel like something was taken away from them. They lost &#8220;their&#8221; analysts. They lost control. They lost speed.</p><p>So Todd framed it as a race: reorganize quickly, then demonstrate that the leaders who &#8220;lost resources&#8221; will get better outcomes through the new model.</p><p>This is one of those dynamics that sounds obvious, but almost nobody treats it with the urgency it deserves. If you centralize and take a year to show impact, you will be reversed.</p><div><hr></div><h2>5) A perfect story about humans and automation: &#8220;I manage a micro bot.&#8221;</h2><p>Todd told a story from a deployment where they involved the people who would actually be impacted (which is, by the way, a rare and crucially important move).</p><p>One woman told him:</p><blockquote><p>&#8220;I used to be a transaction processor. Now I manage a micro bot. It makes me better. I make it better. And I get to do more of what I really love, which is creating great experiences for our customers.&#8221;</p></blockquote><p>That is the actual win condition for most enterprise AI.</p><p>Not &#8220;we replaced a team.&#8221;<br>Not &#8220;we reduced headcount.&#8221;<br>Not &#8220;we automated analysis.&#8221;</p><p>It is: people move up the value chain, and the organization redesigns the work so that improvement compounds.</p><p>It also ties to a point that came up through the episode: as agents get real, more people will become managers of AI units. If your system is not legible, if it is a black box, nobody will trust what they are managing.</p><div><hr></div><h2>6) &#8220;AI is just another club in the bag&#8221;</h2><p>Todd had a great metaphor I think more leaders should adopt:</p><blockquote><p>&#8220;AI is no different. It&#8217;s just another club in the bag.&#8221;</p></blockquote><p>Meaning: stop treating AI like a religion. It is a tool. A powerful one, yes. But still a tool.</p><p>The practical implication is important. You should not start with &#8220;where can we use AI?&#8221; You should start with &#8220;where does the business get stuck, where are decisions bottlenecked, and where is judgment repetitive enough that prediction helps?&#8221;</p><p>If your AI strategy starts with the model and ends with the business case, you are going to have a lot of demos and very few outcomes.</p><div><hr></div><h2>7) Why 84.51&#176; could move fast (and why most incubations die)</h2><p>I asked Todd about 84.51&#176; and why it exists as a separate entity from Kroger.</p><p>First, the fun fact:</p><blockquote><p>&#8220;It&#8217;s Longitude of Cincinnati. Think longitudinal analysis.&#8221;</p></blockquote><p>Second, the more important insight: he explained why you do not &#8220;plant it in the mothership.&#8221;</p><blockquote><p>&#8220;The last thing in the world you do is plant that in the mothership and put it on the core platforms and make it part of the corporate hierarchy. It&#8217;ll fail quickly.&#8221;</p></blockquote><p>This is one of those quotes that should be printed and taped to the wall of every &#8220;AI Center of Excellence.&#8221;</p><p>If your &#8220;fast team&#8221; is forced to inherit the slowest platform constraints, governance cycles, and decision latency of the core enterprise, it will become slow too. Separation is not a branding choice. It is a survival choice.</p><div><hr></div><h2>8) The investor litmus test: &#8220;revenue per employee&#8221;</h2><p>Near the end, Todd shared something interesting: investment analysts are trying to tell who is real about AI versus who is just talking about it.</p><p>One metric they are watching is &#8220;revenue per employee,&#8221; with the logic that real transformation should show up as either more sales or more efficiency per unit of sales.</p><p>I like this as a forcing function, but it comes with obvious caveats (you can &#8220;improve&#8221; it by cutting headcount). The point is not that it is perfect. The point is that serious stakeholders are trying to measure reality, not vibes.</p><p>This is also a nice reminder: if you cannot explain your AI program in the language of outcomes, someone else will ask the question for you.</p><div><hr></div><h2>A practical checklist I pulled from this conversation</h2><p>If you are trying to get AI out of the pilot phase and into &#8220;this changed how we operate,&#8221; here&#8217;s what I would pressure-test:</p><ol><li><p><strong>Is the CEO meaningfully involved?</strong> Not &#8220;supportive,&#8221; involved.</p></li><li><p><strong>Do we have 1-3 business outcomes we are willing to reorganize around?</strong></p></li><li><p><strong>Do we have a prioritization mechanism that business leaders trust?</strong></p></li><li><p><strong>Can we prove impact quickly enough to survive the org immune system?</strong></p></li><li><p><strong>Are the people impacted involved early, not after the build?</strong></p></li><li><p><strong>Is the system legible enough that humans can manage the automation?</strong></p></li></ol><p>If the answer to most of these is &#8220;not really,&#8221; the good news is you can still do pilots. The bad news is you should stop pretending pilots equal transformation.</p><p>If there&#8217;s one meta-takeaway from this episode, it&#8217;s this: most organizations do not need a better model. They need a better willingness to change.</p><p>That is what &#8220;transformation enabled through AI&#8221; actually means, and Todd is one of the few who knows it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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[How We Built a Coding Agent That Lets Anyone on the Team Ship Frontend Changes]]></title><description><![CDATA[AI allows Solid to reliably scale its front-end development (the interface users actually see), without compromising on quality, while letting non-coders make real changes. Ben of Solid, shares how.]]></description><link>https://journey.getsolid.ai/p/how-we-built-a-coding-agent-that</link><guid isPermaLink="false">https://journey.getsolid.ai/p/how-we-built-a-coding-agent-that</guid><dc:creator><![CDATA[Ben Menahem]]></dc:creator><pubDate>Wed, 25 Feb 2026 14:02:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IAj1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>The Problem: Frontend Developers Shouldn&#8217;t Be a Bottleneck for Small Changes</strong></h2><p>Last month, one of our backend developers changed the spacing on a dashboard component, adjusted a button&#8217;s border radius, and updated a tooltip&#8217;s copy - all without opening an IDE, cloning the repo, or asking a frontend developer for help. He wrote a Jira ticket, added a label, and came back twenty minutes later to a Pull Request with a live preview deployed.</p><p>This isn&#8217;t a hypothetical. It&#8217;s a system we built incrementally over a few weeks using GitHub Actions, the Cursor CLI, and a handful of Python scripts. We call it the Coding Agent.</p><p>The motivation was simple. At Solid, our frontend team is small. They should be spending their time on architecture, performance, and complex features - not context-switching to nudge a padding value by 4 pixels because someone on the product team noticed it was off. Those changes are real work, but the overhead of the *process* (local setup, find the file, lint, branch, PR) dwarfs the actual edit. We wanted to eliminate that overhead entirely.</p><p>Here&#8217;s how we built it, one workflow at a time.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>Step 1: A Manual Workflow That Proves the Concept</strong></h2><p>We started simple. Really simple. The first version was a single GitHub Actions workflow with a workflow_dispatch trigger - meaning you had to go to the GitHub Actions UI, click &#8220;Run workflow,&#8221; and manually type in a Jira issue key and branch name.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EvDg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EvDg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 424w, https://substackcdn.com/image/fetch/$s_!EvDg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 848w, https://substackcdn.com/image/fetch/$s_!EvDg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 1272w, https://substackcdn.com/image/fetch/$s_!EvDg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EvDg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png" width="1022" height="570" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:1022,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87228,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/188593760?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EvDg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 424w, https://substackcdn.com/image/fetch/$s_!EvDg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 848w, https://substackcdn.com/image/fetch/$s_!EvDg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 1272w, https://substackcdn.com/image/fetch/$s_!EvDg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75a307f-3c21-404f-bb4f-360607bc0a4a_1022x570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Glamorous? No. But it let us validate the core loop:<br></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5vVv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5vVv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 424w, https://substackcdn.com/image/fetch/$s_!5vVv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 848w, https://substackcdn.com/image/fetch/$s_!5vVv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 1272w, https://substackcdn.com/image/fetch/$s_!5vVv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5vVv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png" width="883" height="202" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:202,&quot;width&quot;:883,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5vVv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 424w, https://substackcdn.com/image/fetch/$s_!5vVv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 848w, https://substackcdn.com/image/fetch/$s_!5vVv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 1272w, https://substackcdn.com/image/fetch/$s_!5vVv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e822114-4a7e-4bb0-8ffe-75b9c6584b39_883x202.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ol><li><p><strong>Extract the Jira issue.</strong> A Python script (extract_jira_issue.py) calls the Jira REST API, pulls down everything - summary, description (parsing Atlassian Document Format into readable text), comments, attachments, metadata - and writes it to a structured directory as both JSON and a human-readable Markdown file.</p></li><li><p><strong>Feed it to the Cursor agent.</strong> We install the Cursor CLI in the runner and invoke it with a prompt that points at the extracted issue info.</p></li><li><p>The agent has full access to the repository, reads the ticket, figures out which files to change, and makes the edits.</p></li><li><p><strong>Lint, commit, and push.</strong> After the agent finishes, we run our linter to clean up any formatting issues, then commit everything to a new branch and push.</p></li><li><p><strong>Deploy to a preview environment.</strong> We call a reusable workflow that deploys the branch to a temporary frontend deployment named after the Jira ticket (e.g., RND123). This gives each ticket its own isolated preview URL.</p></li><li><p><strong>Create a Pull Request.</strong> The workflow creates a PR titled RND-123 - [Coding Agent] - Fix sidebar spacing, with the Jira ticket link, the issue summary, the agent&#8217;s implementation summary, and the deployment URL all in the PR body.</p></li><li><p><strong>Notify.</strong> A Slack message goes out with the status, Jira link, PR link, and deployment URL.<br></p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ElSG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ElSG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 424w, https://substackcdn.com/image/fetch/$s_!ElSG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 848w, https://substackcdn.com/image/fetch/$s_!ElSG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 1272w, https://substackcdn.com/image/fetch/$s_!ElSG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ElSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png" width="516" height="299" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:299,&quot;width&quot;:516,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ElSG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 424w, https://substackcdn.com/image/fetch/$s_!ElSG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 848w, https://substackcdn.com/image/fetch/$s_!ElSG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 1272w, https://substackcdn.com/image/fetch/$s_!ElSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618dccb8-bc32-47de-92b3-da5b3f9a3a51_516x299.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Even this minimal version was immediately useful. A backend developer could go to GitHub Actions, type RND-456, and ten minutes later have a PR with a live preview ready for review. No local environment needed. No frontend developer interrupted.</p><div><hr></div><h2><strong>Step 2: Triggering From Jira With a Label</strong></h2><p>The manual workflow proved the concept. Now we wanted to meet people where they already work: Jira.</p><p>We set up a Jira webhook that fires a GitHub repository_dispatch event whenever the coding_agent label is added to a ticket. The payload is minimal - just the issue key:</p><p>On the GitHub side, we created a new entry-point workflow: coding-agent-event-dispatch. This workflow listens for the repository_dispatch event.</p><p>Its job is to be the <strong>router</strong>. It validates the Jira issue key, derives a deterministic branch name ({JIRA_KEY}-Coding-Agent), checks whether that branch already exists on the remote, and then calls the appropriate downstream workflow.</p><p>If the branch doesn&#8217;t exist, it calls the initial commit workflow to create it. This is the same workflow from Step 1, but now it&#8217;s also a reusable workflow_call - it can be triggered both manually and programmatically.</p><p>And once the PR is created, a Python script (add_jira_comment.py) posts a comment back on the Jira ticket with a link to the PR. So the person who added the label gets notified right inside Jira that the agent has done its work.</p><p>Now the flow became: open Jira ticket, describe the change, add coding_agent label, continue working on meaningful tasks, get notified the flow finished, and come back to a PR with a live preview when you can. No GitHub Actions UI needed. This allowed our product managers and our designers to implement small changes immediately, without knowing how to code.</p><div><hr></div><h2><strong>Step 3: The Fix PR Flow - Making the Agent Iterative</strong></h2><p>A coding agent that only gets one shot at a change isn&#8217;t very useful in practice. The first implementation is often <em>close</em> but needs adjustments. Maybe the agent used the wrong shade of gray. Maybe it changed the right component but missed a second instance.</p><p>The traditional workflow would be: reviewer leaves PR comments, frontend developer reads comments, makes fixes. We wanted the agent to handle that loop too.</p><p>We built a second reusable workflow: coding-agent-fix-pr. Instead of creating a new branch, this one checks out the <em>existing</em> branch, gathers all the context it needs, and gives the agent a second (or third, or fourth) pass.</p><p>The context-gathering step is more sophisticated than the initial flow. The fix workflow:</p><ol><li><p><strong>Downloads previous state from our cloud storage.</strong> We persist all the agent&#8217;s working files (issue info, plan, summary, handled comments) to our cloud storage between runs. This way the agent doesn&#8217;t lose its memory between workflow executions.</p></li><li><p><strong>Generates a branch diff.</strong> It runs a diff check on the branch and saves it to a file. This tells the agent what has <em>already</em> been changed, so it doesn&#8217;t redo work.</p></li><li><p><strong>Fetches PR comments.</strong> It pulls both general PR comments and inline code review comments from the GitHub API.</p></li><li><p><strong>Processes and converts comments to YAML.</strong> A Python script normalizes the comments into a clean structure, and another converts them to YAML - a format the agent can parse easily.</p></li><li><p><strong>Tracks handled comments.</strong> A handled_comments.yaml file keeps track of which comment IDs the agent has already addressed, so it doesn&#8217;t process the same feedback twice.</p></li></ol><p>After the agent makes its fixes, the workflow commits, deploys the updated preview, and posts a completion comment on the PR:</p><p><em>Coding Agent finished processing PR comments for RND-123. Changes have been committed and pushed to the branch. Deployment URL: </em>https://rnd123.preview.<em>url.com</em></p><div><hr></div><h2><strong>Step 4: Mentioning @coding_agent in a PR Comment</strong></h2><p>The label-based trigger works great for the initial flow and for re-triggering from Jira. But once a PR exists, the natural place for feedback is the PR itself. Reviewers are already leaving comments there. Having to go back to Jira to trigger the agent felt like unnecessary friction.</p><p>So we added one more entry point: coding-agent-comment-dispatch. This workflow listens to the issue_comment event (which GitHub fires for PR comments too) and checks if the comment body contains @coding_agent.</p><p>When someone writes a comment like &#8220;@coding_agent please fix the font size on the header - it should be 14px not 16px&#8221;, the workflow:</p><ol><li><p>Verifies the PR is open (it won&#8217;t process closed or merged PRs)</p></li><li><p>Extracts the Jira issue key from the branch name (since our branches follow the {JIRA_KEY}-Coding-Agent convention)</p></li><li><p>Posts a confirmation comment so you&#8217;ll know it&#8217;s listening</p></li><li><p>Calls the fix PR workflow</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IAj1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IAj1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 424w, https://substackcdn.com/image/fetch/$s_!IAj1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 848w, https://substackcdn.com/image/fetch/$s_!IAj1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 1272w, https://substackcdn.com/image/fetch/$s_!IAj1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IAj1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png" width="471" height="351" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:351,&quot;width&quot;:471,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IAj1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 424w, https://substackcdn.com/image/fetch/$s_!IAj1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 848w, https://substackcdn.com/image/fetch/$s_!IAj1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 1272w, https://substackcdn.com/image/fetch/$s_!IAj1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512aa291-9bad-41b2-b5b3-2b6a28e778ca_471x351.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This closed the loop entirely. A reviewer can leave feedback, mention the agent, and walk away. The agent picks up the comments, makes the fixes, pushes a new commit, and deploys. The reviewer comes back to find their requested changes implemented.</p><div><hr></div><h2><strong>What We Learned</strong></h2><p><strong>Start with workflow_dispatch.</strong> Being able to manually trigger the workflow was invaluable during development and remains useful for debugging. Every reusable workflow we built supports both workflow_call (for programmatic triggering) and workflow_dispatch (for manual runs). Don&#8217;t remove the manual trigger when you add automation - you&#8217;ll need it.</p><p><strong>Persist state externally.</strong> GitHub Actions runners are ephemeral. We use our cloud storage to persist the agent&#8217;s working files between runs. This gives the agent continuity across the initial implementation and subsequent fix passes. Without this, every run would start from zero.</p><p><strong>Give the agent context about what&#8217;s already done.</strong> The branch diff is crucial. Without it, the agent would sometimes redo changes that were already implemented, creating confusing diffs. Telling it &#8220;here&#8217;s what you&#8217;ve already changed, don&#8217;t redo this&#8221; dramatically improved the quality of iterative fixes.</p><p><strong>Meet people where they are.</strong> The Jira label trigger was the single biggest adoption driver. Backend developers and product managers were already in Jira all day. Making the agent accessible from there - rather than requiring them to navigate GitHub Actions - was the difference between &#8220;cool demo&#8221; and &#8220;tool people actually use.&#8221;<br><br><strong>Know what it&#8217;s bad at.</strong> The agent handles well-scoped, single-concern changes reliably: fix this color, adjust this spacing, update this label. It struggles with anything that requires understanding cross-component relationships or making judgment calls about UX. We learned quickly to write tickets that are specific and visual - &#8220;change the header font size from 16px to 14px&#8221; works; &#8220;make the header look better&#8221; doesn&#8217;t. The quality of the output is a direct function of the quality of the ticket.</p><div><hr></div><h2><strong>Conclusion</strong></h2><p>While the current flow works, and more importantly, it&#8217;s in use, there are a few improvements we would like to add. For example having an agent take screenshots of the change implemented (or clip when needed) and put them automatically on the Jira ticket. This will allow our product managers to close the check loop immediately on Jira. We&#8217;ll also want to allow them to ask for changes from Jira and not through Github.</p><p>The thing that surprised us most wasn&#8217;t the technology. It was the behavioral shift. Before the agent, small UI issues would sit in the backlog for weeks - not because they were hard, but because no one wanted to interrupt a frontend developer for something trivial. Now those tickets get resolved the same day they&#8217;re filed, often by the person who noticed the problem in the first place. The backlog didn&#8217;t just shrink. An entire category of work stopped accumulating. Of course we will need to validate this with actual metrics like time-to-merge, but the overall response from our teams was very positive.<br><br>You can find the full workflows, code, and explanation on our <a href="https://github.com/solid-data-public/coding_agent_example">public repository</a>. This will not work &#8220;out of the box&#8221;, but all the relevant building blocks are there which should be a great starting point to implement your own solution.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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[Solid Launches to Fix the Biggest Problem Holding Enterprise AI]]></title><description><![CDATA[Solid publicly launches to help enterprises make AI reliable at scale, with $20M funding!]]></description><link>https://journey.getsolid.ai/p/solid-launches-to-fix-the-biggest</link><guid isPermaLink="false">https://journey.getsolid.ai/p/solid-launches-to-fix-the-biggest</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 18 Feb 2026 14:31:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5vtZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today I&#8217;m excited to share, that Solid is launching publicly to help enterprises make AI reliable at scale. Alongside a $20M funding round, Solid gives AI a trusted, continuously updated understanding of business data - enabling accurate answers, scalable workflows, and AI systems that can move from pilots into real production.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5vtZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5vtZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5vtZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5vtZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5vtZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5vtZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg" width="1456" height="787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:787,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:244413,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/188309529?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5vtZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5vtZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5vtZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5vtZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff803c5cd-456d-4236-86fc-b5a4d46db1af_1536x830.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>AI isn&#8217;t failing because it lacks intelligence - it&#8217;s failing because it doesn&#8217;t understand how businesses actually work. As companies race to embed AI into decision-making, workflows, and automation, they&#8217;re discovering a hard limit. No matter how powerful the models are, AI can&#8217;t deliver reliable results unless it understands the data it&#8217;s using &#8212; what the numbers mean, which rules apply, and which definitions the business actually trusts. That understanding is missing in most enterprises today, and it&#8217;s quietly becoming the biggest blocker to real AI impact.</p><p>Today, we&#8217;re launching Solid - and announcing a $20M funding round to help enterprises close the Data Understanding Gap that keeps AI stuck in pilots instead of production. Solid gives AI a trusted, continuously updated understanding of how a business&#8217;s data works, so companies can finally rely on AI to answer questions, power workflows, and take action safely at scale.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>Problem: What&#8217;s Broken</h2><p>Enterprise data is complex, fragmented, and constantly changing. Business logic lives across dashboards, SQL, documentation, and - most critically - in people&#8217;s heads. Definitions shift. Metrics evolve. Rules vary by context. And companies are relying on connecting their data to AI alone as a solution.</p><p>Humans can navigate this complexity with experience and judgment. AI cannot.</p><p>So when organizations try to apply AI to their own data:</p><ul><li><p>Answers conflict across tools</p></li><li><p>Automation breaks when logic changes</p></li><li><p>AI agents hesitate or fail to act</p></li><li><p>Data teams become bottlenecks for every request</p></li></ul><p>Most companies try to patch this by manually maintaining definitions across BI tools, models, and AI systems. But as AI usage grows, that approach collapses under its own weight. Data understanding becomes the slowest, most fragile layer in the stack.</p><h2>Why We Built Solid</h2><p>We saw this problem everywhere - not just in one company or one industry, but across every organization trying to turn AI ambition into reality. Teams had invested in modern data platforms and cutting-edge AI tools, yet still couldn&#8217;t get consistent answers or reliable automation.</p><p>The issue wasn&#8217;t effort or talent. It was that no system owned the business meaning of data in a way AI could actually use.</p><p>We built Solid to solve that problem directly - not by adding more dashboards or asking teams to document harder, but by giving AI a dependable understanding of how the business works in the real world.</p><p>As AI takes on more responsibility, companies need a clear owner for business meaning - someone accountable for defining, validating, and evolving how data is interpreted as the business changes. We believe this will emerge as a new role inside the enterprise: <strong><a href="https://journey.getsolid.ai/p/semantic-engineering-the-new-discipline">the Semantic Engineer</a></strong>. This role builds naturally on the work analysts already do today, but shifts the focus from producing reports to ensuring AI systems consistently understand and apply the right business logic over time.</p><p>Since launching privately, <a href="https://go.getsolid.ai/surveymonkey-case-study">we&#8217;ve been partnering with forward-thinking enterprises like </a><strong><a href="https://go.getsolid.ai/surveymonkey-case-study">SurveyMonkey</a></strong> to put this foundation into practice - helping teams move AI from experimentation to production with a shared, trusted understanding of their data.</p><h2>What Solid Does</h2><p>Solid bridges the gap between enterprise data and AI.</p><p>It automatically generates, tests, and maintains the semantic models AI needs to safely understand and use enterprise data - working with the platforms companies already rely on, not replacing them. It participates in the context graph, and accumulates the content that makes it possible.</p><p>&#8220;As we expand AI across SurveyMonkey, trust in our data is non-negotiable,&#8221; said <strong>Meenal Iyer, VP of Data at SurveyMonkey</strong>. &#8220;AI moves fast, but without a shared and reliable understanding of business logic, it breaks just as quickly. Solid has given us a strong framework where definitions stay aligned as our data and business evolve, so AI can deliver answers and power workflows we can actually trust.&#8221;</p><p>At its core, Solid:</p><ul><li><p>Learns the structure and meaning of enterprise data, including real-world nuance and edge cases</p></li><li><p>Integrates with existing data platforms, BI tools, and AI systems</p></li><li><p>Keeps business logic continuously up to date as data and definitions change</p></li><li><p>Combines software with hands-on expertise to handle exceptions, capture nuance, and improve accuracy over time</p></li></ul><p>We&#8217;re not a BI tool.<br>We&#8217;re not a semantic layer.</p><p>Solid is the layer - plus human expertise - that translates how your business works into something AI can reliably understand and act on.</p><h2>Why We&#8217;re Built for This</h2><p>Solid is built by people who have spent their careers inside enterprise data, analytics, and AI systems - watching firsthand how fragile data understanding becomes at scale. We&#8217;ve lived the pain of inconsistent definitions, broken workflows, and AI initiatives that stall not because of technology limits, but because business meaning couldn&#8217;t keep up.</p><p>That experience shaped every design choice behind Solid: automation where it scales, human expertise where nuance matters, and a relentless focus on making AI reliable in real-world conditions.</p><p>In practice, Solid delivers measurable results:</p><ul><li><p><strong>Accuracy:</strong> Without Solid, AI + data accuracy typically ranges from <strong>20&#8211;30%</strong>. With Solid, accuracy improves to <strong>85%+</strong>.</p></li><li><p><strong>Effort:</strong> Solid reduces the manual work required to maintain and test semantic models by <strong>50&#8211;70%</strong>, freeing data teams to focus on higher-value work.</p></li><li><p><strong>Time to Value:</strong> Solid shortens AI + data initiatives by a factor of <strong>4</strong>, reducing deployment timelines from <strong>1&#8211;2 years to just 3&#8211;6 months</strong>.</p></li></ul><h2>Launch Details</h2><p>With today&#8217;s launch, Solid continues to work with enterprises to:</p><ul><li><p>Enable trustworthy chat-with-your-data experiences</p></li><li><p>Power AI-driven workflows that don&#8217;t break when logic changes</p></li><li><p>Support AI agents that can reason, decide, and take action safely</p></li></ul><p>The $20M funding will accelerate product development, expand customer partnerships, and help more organizations move AI from experimentation into day-to-day operations.</p><p>If your company is investing in AI - and struggling to trust the results - we&#8217;d love to talk.</p><p>AI models will keep getting better. Tools will keep multiplying. But without a trusted understanding of enterprise data, AI will continue to create friction instead of leverage.</p><p>Solid removes that blocker.</p><p>We believe the next era of enterprise AI won&#8217;t be defined by smarter models alone - but by systems that understand the business well enough to act on its behalf. We&#8217;re excited to help build that future.<br>&#8205;</p><p>To learn more about Solid and our partnership with SurveyMonkey, <a href="https://go.getsolid.ai/surveymonkey-case-study">download the case study here</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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 Complexity Paradox: Why AI is Creating More Work, Not Less]]></title><description><![CDATA[The bots are here to take our jobs? Tal Segalov, Solid's CTO & Co-Founder, thinks otherwise.]]></description><link>https://journey.getsolid.ai/p/the-complexity-paradox-why-ai-is</link><guid isPermaLink="false">https://journey.getsolid.ai/p/the-complexity-paradox-why-ai-is</guid><dc:creator><![CDATA[Tal Segalov]]></dc:creator><pubDate>Wed, 11 Feb 2026 18:41:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gsFm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gsFm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gsFm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!gsFm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!gsFm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!gsFm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gsFm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gsFm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!gsFm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!gsFm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!gsFm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa105ab80-e2b7-4a00-a050-a259771a23b8_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you listen to the doom-scrolling narrative on your favorite social network, the writing is on the wall: AI is coming for us, white-collar workers. We are told that software engineers, analysts, and data employees are the modern-day weavers awaiting the mechanical loom.</p><p>But if you look at the actual data, a very different story emerges.</p><p><a href="https://www.economist.com/finance-and-economics/2026/01/26/why-ai-wont-wipe-out-white-collar-jobs?utm_campaign=shared_article">A recent report from </a><em><a href="https://www.economist.com/finance-and-economics/2026/01/26/why-ai-wont-wipe-out-white-collar-jobs?utm_campaign=shared_article">The Economist</a></em><a href="https://www.economist.com/finance-and-economics/2026/01/26/why-ai-wont-wipe-out-white-collar-jobs?utm_campaign=shared_article"> highlights a fascinating paradox</a>. Since the public release of ChatGPT in late 2022&#8212;the exact moment the &#8220;AI replacement&#8221; clock supposedly started ticking&#8212;America hasn&#8217;t shed white-collar jobs. It has added roughly <strong>3 million</strong> of them.</p><p>Even more specific to our industry: despite the rise of tools that can write code and query data, the number of software developers has grown by <strong>7%</strong>. Roles that combine technical expertise with oversight, like project managers and information-security experts, have seen employment rise by nearly <strong>30%</strong>.</p><p>Why? If AI can write the code and run the analysis, why are we hiring <em>more</em> people to do it?</p><p>The answer lies in a fundamental phase shift in technology. We aren&#8217;t seeing the end of the technical worker; we are seeing the birth of the Architect Era.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h3><strong>The SaaS Lesson: Conservation of Complexity</strong></h3><p>To understand what&#8217;s happening, we have to look back at the last major phase shift: the rise of SaaS.</p><p>Before the cloud, deploying software was a physical, logistical nightmare. You needed server rooms, cooling systems, and armies of IT staff just to keep the lights on. Then came SaaS. Suddenly, you could spin up a CRM or an ERP with a credit card.</p><p>The narrative back then was similar: &#8220;This will make IT departments obsolete.&#8221;</p><p>Did IT departments disappear? No. They exploded in size and scope.</p><p>SaaS made <em>deploying</em> software simple, but it made the <em>architecture</em> infinitely more complex. Instead of one monolithic system, companies suddenly had 50 disjointed applications that needed to talk to each other. The complexity didn&#8217;t vanish; it moved up the stack. We needed fewer people to rack servers, but significantly more people to integrate APIs, manage data pipelines, and architect the ecosystem.</p><p>We are seeing the exact same pattern with AI, but on a much larger scale.</p><h3><strong>From Syntax to Semantics</strong></h3><p>Generative AI has effectively driven the cost of <em>syntax</em> to zero. Writing a Python script, generating a simple SQL query, or building a React component is now a commodity task.</p><p>But just as SaaS created a sprawl of applications, AI is creating a sprawl of logic and agents.</p><p>When you can &#8220;vibe code&#8221; a new feature in an hour, or when a business user can spin up a custom &#8220;digital employee&#8221; to handle procurement, you aren&#8217;t simplifying the enterprise&#8212;you are introducing a new layer of chaos. You are building a complex, adaptive system where thousands of non-deterministic agents are interacting with your data and your customers.</p><p>This doesn&#8217;t remove the need for technical talent. It demands a higher tier of it.</p><p>We are moving away from the era of the &#8220;Builder&#8221;&#8212;the person who manually types the syntax&#8212;and into the era of the <strong>Orchestrator</strong>.</p><h3><strong>The New Job Description</strong></h3><p>In this new world, the value of a technical worker isn&#8217;t measured by lines of code written, but by the clarity of the architecture they design.</p><ul><li><p><strong>For Developers:</strong> You aren&#8217;t just writing functions anymore. You are acting as a &#8220;Bot Manager,&#8221; orchestrating agents to ensure they don&#8217;t hallucinate or break the build. You are building the &#8220;Cognitive Architecture&#8221; and the testing infrastructure that keeps the system sane.</p></li><li><p><strong>For Analysts:</strong> You aren&#8217;t just writing SQL. You are building the <strong>Semantic Layer</strong>&#8212;the &#8220;Detailed Librarian&#8221; that teaches the AI the difference between &#8216;revenue&#8217; and &#8216;bookings&#8217; so it doesn&#8217;t lie to the CEO.</p></li></ul><p>The systems we are building today are orders of magnitude more complex than what we built five years ago because AI allows us to dream bigger. We are no longer limited by how fast we can type; we are limited by how well we can structure the logic, govern the data, and manage the system&#8217;s behavior.</p><h3><strong>The Phase Shift</strong></h3><p><em>The Economist</em> notes that while routine back-office work is shrinking, &#8220;roles that combine technical expertise with oversight and co-ordination&#8221; are thriving.</p><p>This is the phase shift. AI is an industrial revolution for logic. It allows us to build systems that were previously impossible due to the constraints of human coordination and &#8220;mythical man-months.&#8221;</p><p>But complex systems require complex management. They require rigorous governance, deep context engineering, and a human-in-the-loop who understands the &#8220;Ground Truth&#8221; of the business.</p><p>The future of work isn&#8217;t about competing with the machine. It&#8217;s about architecting the factory that the machines run in. The demand for people who can do that isn&#8217;t going away&#8212;it&#8217;s just getting started.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey</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></p>]]></content:encoded></item><item><title><![CDATA[Overhyped and Underestimated: Cutting Through the AI Noise with Glen McCracken]]></title><description><![CDATA[Yoni sat down with Glen McCracken, CPTO at Lantum, to talk about separating AI hype from reality, creating &#8220;pull&#8221; for AI from the front lines, and why the hardest AI problems are rarely technical.]]></description><link>https://journey.getsolid.ai/p/overhyped-and-underestimated-cutting</link><guid isPermaLink="false">https://journey.getsolid.ai/p/overhyped-and-underestimated-cutting</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 04 Feb 2026 14:00:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9lTd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9lTd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9lTd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9lTd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9lTd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9lTd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9lTd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg" width="390" height="390" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:800,&quot;resizeWidth&quot;:390,&quot;bytes&quot;:90735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/186703136?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9lTd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9lTd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9lTd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9lTd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592da880-1360-47eb-ba24-00be6cfec7ff_800x800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been recording the <em>Building with AI: Promises and Heartbreaks</em> podcast for a while now, talking with people who are actually <strong>building</strong> things with AI, not just posting hot takes about it.</p><p>My recent conversation with <strong><a href="https://www.linkedin.com/in/glenmccracken/">Glen McCracken</a></strong> was one of those &#8220;I wish more boards could listen to this&#8221; episodes. (<a href="https://www.youtube.com/watch?v=R-xjLnOwmLM">episode available here</a>)</p><p>Glen is the Chief Product and Technology Officer at <strong>Lantum</strong>, a health-tech scale-up helping the NHS and other providers manage their workforce. He&#8217;s been working with what we now call &#8220;AI&#8221; for nearly 30 years. At one point he was literally working with the creators of <strong>R</strong>. He&#8217;s also one of my favorite contrarian voices on LinkedIn, and the only person I know who can explain AI adoption with a cartoon and a single sentence.</p><p>In the episode, Glen described AI as:</p><blockquote><p>&#8220;overhyped and underestimated.&#8221;</p></blockquote><p>That framing stuck with me. So in this post, I want to unpack a few of the big ideas from our conversation and translate them into <strong>concrete actions</strong> for data, analytics and AI leaders.</p><div><hr></div><h2>1. The noise machine, FOMO and &#8220;overhyped <em>and</em> underestimated&#8221;</h2><p>Glen spends a lot of time calling out the <strong>noise machine</strong> around AI: vendors exaggerating, analysts inventing new categories, consultants telling you that you are already behind and must &#8220;move faster&#8221;.</p><p>He <em>likes</em> hype up to a point. Hype gets boards asking questions. It gets budgets allocated. It creates curiosity.</p><p>The problem starts when the question is:</p><blockquote><p>&#8220;How do we shove AI into our organization?&#8221;</p></blockquote><p>instead of:</p><blockquote><p>&#8220;Where are we in pain, and could AI help us do this better?&#8221;</p></blockquote><p>AI on LinkedIn now feels like <strong>Instagram for enterprise technology</strong>.</p><p>On Instagram, everyone is in Bali, eating perfect food, with perfect kids, in perfect light. Meanwhile your real life is: breakfast with your kids, Slack, six Zoom calls, and maybe some cold coffee.</p><p>On LinkedIn, every AI demo looks magical. Every company claims &#8220;we transformed X in 30 days with agents&#8221;. If you&#8217;re a leader sitting in the middle of a very real, very messy organization, you start to think:</p><p><em>&#8220;Is my AI journey wrong? Is my company behind? Am I missing something?&#8221;</em></p><p>Glen&#8217;s answer is basically: you are seeing the highlights reel, not the truth. The truth is much closer to what we wrote about in <em><a href="https://journey.getsolid.ai/p/sorry-for-the-mess-everyones-data">&#8220;Sorry for the mess&#8221; &#8211; everyone&#8217;s data is messy, and it&#8217;s Okay</a></em> and <em><a href="https://journey.getsolid.ai/p/stop-saying-garbage-in-garbage-out">Stop saying &#8220;Garbage In, Garbage Out&#8221;, no one cares</a></em>.</p><p>You don&#8217;t see:</p><ul><li><p>The pilots nobody talks about because they quietly died</p></li><li><p>The security reviews that blocked half the &#8220;magical demos&#8221;</p></li><li><p>The teams who don&#8217;t have time to adopt the shiny thing because their backlog is already full</p></li></ul><p>The goal is not to <strong>opt out</strong> of AI because of the hype, and it&#8217;s not to <strong>chase</strong> the hype either. It is to <strong>use the hype as air cover</strong> while you work on more boring, durable things: foundations, people, data, and actual business problems.</p><div><hr></div><h2>2. Push vs pull: why your best AI projects don&#8217;t start in a boardroom</h2><p>One of Glen&#8217;s most useful lenses is how he classifies projects:</p><blockquote><p>&#8220;There are push projects and pull projects.&#8221;</p></blockquote><ul><li><p><strong>Push projects</strong>: someone senior decides &#8220;we need AI&#8221;, or &#8220;we need an LLM strategy&#8221;, and pushes projects down into the organization.</p></li><li><p><strong>Pull projects</strong>: the business feels pain and is actively trying to <strong>pull</strong> help in. &#8220;This takes me 6 hours a week, there has to be a better way.&#8221;</p></li></ul><p>Push projects, in Glen&#8217;s experience, &#8220;are really hard and invariably will fail&#8221;.</p><p>Pull projects are where the magic happens.</p><p>If you listened <a href="https://journey.getsolid.ai/p/building-an-ai-powered-intelligent">to our earlier episode with Meenal Iyer</a> and read the write-up (<em>Building an AI-powered Intelligent Enterprise</em>), you&#8217;ll recognize the pattern: the <strong>best ideas come from the front line</strong>, not from the ivory tower.</p><p>Glen added another useful concept: moving your organization from <strong>&#8220;subconsciously incompetent&#8221;</strong> to <strong>&#8220;consciously incompetent&#8221;</strong> about AI.</p><p>Right now, in many companies:</p><ul><li><p>People <em>don&#8217;t know</em> what is possible with AI</p></li><li><p>They <em>do</em> know that their work is painful and inefficient</p></li><li><p>They don&#8217;t have the language or examples to connect the two</p></li></ul><p>So his advice is simple:</p><ol><li><p><strong>Raise AI literacy</strong>: Give people safe ways to play with tools like ChatGPT, Claude, n8n, Make, etc., in their personal lives and in low-risk work contexts.</p></li><li><p>Let them <strong>feel</strong> that &#8220;there is a better way to do this&#8221;.</p></li><li><p>When they start coming to you with &#8220;Could we use something like this to&#8230;?&#8221;, <strong>that&#8217;s your backlog</strong>.</p></li></ol><p>This is also where managing <strong>upwards</strong> comes in.</p><p>If your board is pushing you with &#8220;we need to do more with AI&#8221;, you often need to:</p><ul><li><p>Acknowledge the push</p></li><li><p>Translate it into a <strong>pull strategy</strong></p></li><li><p>Buy time to do the boring work: literacy, foundations, and discovery</p></li></ul><p>It is more honest to say:</p><blockquote><p>&#8220;Yes, we&#8217;re on it. Here&#8217;s how we&#8217;re surfacing bottom-up opportunities and validating them.&#8221;</p></blockquote><p>than to spin up three impressive but doomed pilots that will be in the &#8220;95% that fail&#8221;.</p><p>If you want a broader framework for this, <em>The right way to set your data &amp; analytics strategy</em> goes into how to anchor D&amp;A (and now AI) in real business priorities instead of tool shopping.</p><div><hr></div><h2>3. &#8220;Taking the robot out of the human&#8221;: AI and job fear</h2><p>We talked about one of the hottest fear zones: <strong>SDRs and sales automation</strong>.</p><p>In one of his examples, Glen mentioned the classic pattern: you bring in AI to automate sourcing and outbound sequencing, and SDRs immediately ask:</p><p><em>&#8220;Is this thing going to replace me?&#8221;</em></p><p>Glen&#8217;s answer comes from years in <strong>robotic process automation</strong> (RPA). In that world, there is a line he referenced:</p><blockquote><p>&#8220;Automation is all about taking the robot out of the human, so it&#8217;s taking those highly repetitive activities out of the human.&#8221;</p></blockquote><p>You don&#8217;t eliminate the role. You change its shape:</p><ul><li><p>The <strong>repetitive, rules-based parts</strong> (if-then-else) get automated</p></li><li><p>The <strong>exception handling, judgment, and relationship work</strong> move up in importance</p></li></ul><p>We see something similar at Solid. We use tools like <strong>Amplemarket</strong> for outbound. Instead of writing 200 semi-personalized emails, a human defines:</p><ul><li><p>Who we want to talk to</p></li><li><p>What value prop should resonate</p></li><li><p>What &#8220;story&#8221; we want to tell</p></li></ul><p>Then the system generates and executes the outreach, with actual tailoring at scale.</p><p>The result:</p><ul><li><p>The machine never gets tired</p></li><li><p>Humans spend their time on conversations, not copy-paste work</p></li><li><p>Performance goes up, not down</p></li></ul><p>None of this makes the fear go away automatically. That fear is <strong>human</strong>. Which means you have to design for it:</p><ul><li><p>Involve people <em>early</em> in defining how AI will change their work</p></li><li><p>Be explicit that they are still accountable for outcomes</p></li><li><p>Give them tools that clearly make their day better, not just &#8220;more monitored&#8221;</p></li></ul><p>When people feel something is <strong>being done to them</strong>, they resist. When they feel they are <strong>co-designing</strong> it, they lean in.</p><div><hr></div><h2>4. A real example: turning sales escalations into a &#8220;client 360&#8221; AI assistant</h2><p>My favorite part of the conversation was a concrete story from Glen&#8217;s previous role leading data, analytics and AI at a large fintech.</p><p>The sales team had a familiar problem:</p><ul><li><p>To get a deal approved, they had to prepare a long <strong>escalation email</strong> for senior management.</p></li><li><p>That email had to explain: history with the client, product usage, outages, contract evolution, comparable deals, recent interactions, external signals about the customer, and more.</p></li><li><p>It took <strong>hours</strong> of manual digging across multiple systems.</p></li></ul><p>Salespeople were very clear on their pain:</p><blockquote><p>&#8220;There has to be a better way. We want to spend more time selling and less time doing admin.&#8221;</p></blockquote><p>Glen&#8217;s team built what was essentially a <strong>RAG-powered &#8220;client 360&#8221; assistant</strong>:</p><ul><li><p>It pulled data from CRM, ticketing, usage, billing and external sources</p></li><li><p>It assembled everything into the <strong>exact escalation format</strong> leadership expected</p></li><li><p>It did this in minutes, not hours</p></li></ul><p>A few things stood out:</p><ol><li><p>They <strong>ran it in parallel</strong> first. Salespeople kept doing escalations the old way while the AI tool generated its own version. That gave the team real-world feedback and &#8220;human in the loop&#8221; reinforcement.</p></li><li><p>Adoption became <strong>self-reinforcing</strong>. The people in the pilot started getting hours back. Others saw that and wanted in. The &#8220;coalition of the willing&#8221; grew organically.</p></li><li><p>Quality went <strong>up</strong>, not just speed. Before, escalation quality varied a lot by region, product and salesperson. Now, everyone was effectively getting the help of &#8220;the best escalation writer in the company&#8221;.</p></li></ol><p>There was also one <strong>unexpected downside</strong>:</p><p>Senior leaders realized that, previously, they could infer a salesperson&#8217;s thinking and skill from <strong>how they wrote escalations</strong>. Once AI standardized everything, that signal disappeared.</p><p>Their solution was clever: since they already had transcripts and emails flowing into the system, they built a <strong>lightweight coaching tool</strong>. It gave feedback to both the salesperson and their manager on things like:</p><ul><li><p>How discovery calls were run</p></li><li><p>How objections were handled</p></li><li><p>Where follow-ups were falling through</p></li></ul><p>Same data, different product, different purpose.</p><p>There is a pattern here that echoes a lot of what we&#8217;ve written before, especially in <em>Beyond Efficiency: How AI is Redefining Data Analytics</em>:</p><ul><li><p>Start from a <strong>painful, specific workflow</strong></p></li><li><p>Build something that <strong>obviously helps</strong> the humans</p></li><li><p>Expect second-order effects, and be ready to build on the new foundations you just created</p></li></ul><p>And, crucially, Glen kept repeating: the salesperson is still responsible.</p><p>You do <strong>not</strong> want to hear: <em>&#8220;Well, the AI wrote it, so if it&#8217;s wrong, that&#8217;s not on me.&#8221;</em></p><div><hr></div><h2>5. Stop waiting for perfect data</h2><p>If you work in data, you&#8217;ve probably heard (or said):</p><blockquote><p>&#8220;We can&#8217;t do AI until our data is clean.&#8221;</p></blockquote><p>Glen has lived through the opposite.</p><p>In that same fintech, they were stitching together systems from more than 40 acquisitions. Different CRMs, billing tools, ticketing, you name it. The temptation was:</p><blockquote><p>&#8220;Let&#8217;s fix the data first. Then we&#8217;ll build the cool stuff.&#8221;</p></blockquote><p>Instead, they:</p><ul><li><p>Built useful <strong>Power BI</strong> reports and AI tools earlier</p></li><li><p>Accepted that some data would be wrong</p></li><li><p>Made it <strong>trivial</strong> for business users to flag issues</p></li></ul><p>The result: they effectively <strong>crowdsourced data QA</strong>.</p><p>The people who knew the data best &#8211; the ones using it every day &#8211; now had a reason and a channel to say:</p><blockquote><p>&#8220;This says they&#8217;ve been a client for three years. It&#8217;s at least seven.&#8221;</p></blockquote><p>That feedback then improved the underlying pipelines for everyone.</p><p>Glen&#8217;s main regret: they <strong>should have started earlier</strong>.</p><p>This lines up almost perfectly with what we argued in <em>&#8220;Sorry for the mess&#8221; &#8211; everyone&#8217;s data is messy, and it&#8217;s Okay</em> and <em>Stop saying &#8220;Garbage In, Garbage Out&#8221;, no one cares</em>:</p><ul><li><p>No one has a perfectly clean house</p></li><li><p>You cannot and will not fully &#8220;tidy up&#8221; before you invite AI in</p></li><li><p>The right question is: <em>&#8220;How do we build AI that can live in the mess and help us clean where it matters most?&#8221;</em></p></li></ul><p>That requires humility from the data team:</p><ul><li><p>You test and monitor as much as you can</p></li><li><p>You do your own anomaly detection and sanity checks</p></li><li><p>But you are <strong>honest</strong> that the map is not the terrain, and you treat your users as partners, not just consumers</p></li></ul><div><hr></div><h2>6. Do you really need a &#8220;VP of AI&#8221;?</h2><p>Later in the conversation, I asked Glen to bust an AI myth in one sentence.</p><p>He went straight for this one:</p><blockquote><p>&#8220;AI is really easy to implement. Like it really is&#8230; the myth I would bust would be that AI is hard. It&#8217;s not hard.&#8221;</p></blockquote><p>If a vendor tells you &#8220;AI is hard&#8221;, his suggestion is simple:<br>Find one who genuinely thinks it is <strong>easy</strong> &#8211; because they&#8217;ve actually done it before.</p><p>His view on org design matches that.</p><p>He likes Charles Handy&#8217;s old idea of <strong>federated organizations</strong> and applies it to AI:</p><ul><li><p>You can create a separate AI office, a VP of AI, an &#8220;AI center of excellence&#8221;</p></li><li><p>Or you can <strong>embed AI responsibility into every function</strong>, the way we did with email and the internet (<a href="https://journey.getsolid.ai/p/from-spaghetti-to-digital-companions">Reut talked about this too</a>)</p></li><li><p>Marketing owns AI for marketing, Sales for sales, Finance for finance, with <strong>support</strong> from central data/AI teams</p></li></ul><p>You didn&#8217;t appoint a <strong>Chief Email Officer</strong> when email showed up. You taught everyone how to use it.</p><p>That doesn&#8217;t mean there is never a case for a central AI team. Sometimes you really do need tight governance, shared infrastructure and consistent standards. At Solid, our platform team exists for a reason.</p><p>But if all AI energy is concentrated in a single &#8220;tower&#8221;, you get:</p><ul><li><p>Slow feedback loops</p></li><li><p>Misaligned incentives</p></li><li><p>Leaders who aren&#8217;t building AI skills in their own orgs</p></li></ul><p>If, instead, AI is part of how every CxO does their job, you get:</p><ul><li><p>Better problem selection</p></li><li><p>More realistic expectations</p></li><li><p>Less magical thinking, more delivery</p></li></ul><div><hr></div><h2>7. Practical takeaways for AI and D&amp;A leaders</h2><p>If you are a CDAO, CPO, CTO or Head of Data reading this while your LinkedIn feed screams &#8220;You&#8217;re already behind on AI&#8221;, here is how I&#8217;d summarize Glen&#8217;s playbook.</p><p><strong>1. Start from pain, not from models.</strong><br>Build your roadmap from <strong>pull</strong>: real, repeated pain that business teams are begging you to fix. &#8220;We spend 10 hours a week on X&#8221; is a better starting point than &#8220;We should have an agent strategy.&#8221;</p><p><strong>2. Use hype as cover, not as a spec.</strong><br>The noise machine buys you air cover to invest in literacy, foundations and boring plumbing. It doesn&#8217;t define your success metrics.</p><p><strong>3. Invest in literacy and experimentation.</strong><br>Your goal is to move people to &#8220;consciously incompetent&#8221; about AI. They should know enough to say, &#8220;I think we could automate this,&#8221; even if they don&#8217;t know how.</p><p><strong>4. Design for augmentation, not replacement.</strong><br>Repeat Glen&#8217;s line to your teams: automation is about <em>&#8220;taking the robot out of the human&#8221;</em>. Roles will change. They should also become more interesting.</p><p><strong>5. Get something useful in front of people before the data is perfect.</strong><br>Let your users help you discover where the real data problems are. Just don&#8217;t treat them as unpaid QA &#8211; respect their time and close the loop when they flag issues.</p><p><strong>6. Keep humans accountable.</strong><br>No &#8220;the AI did it&#8221; excuses. If your name is on the presentation, email or escalation, you own it. AI is a tool, not a shield.</p><p><strong>7. Make AI everyone&#8217;s job.</strong><br>Support from central teams is important. But the real responsibility sits with the people who own outcomes in Sales, Marketing, Product, Finance and Operations.</p><div><hr></div><p>If you want to hear Glen in his own words &#8211; including his story about working with the creators of R back in the 90s, why he loves Otter, and why he thinks we&#8217;ll still be fighting about hype five years from now &#8211; you can listen to <a href="https://www.youtube.com/watch?v=R-xjLnOwmLM">the full episode of </a><em><a href="https://www.youtube.com/watch?v=R-xjLnOwmLM">Building with AI: Promises and Heartbreaks</a></em><a href="https://www.youtube.com/watch?v=R-xjLnOwmLM"> with him</a>.</p><p>And if you&#8217;re trying to make sense of where AI actually fits in your own data and analytics journey, we&#8217;re always <a href="https://www.getsolid.ai/contact">happy to talk about how Solid can help.</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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 Death of the Generic App: How Vibe Coding is Flipping the Enterprise Script]]></title><description><![CDATA[With English becoming the new programming language, Tal shares lessons on how to make vibe-coding actually work for enterprises.]]></description><link>https://journey.getsolid.ai/p/the-death-of-the-generic-app-how</link><guid isPermaLink="false">https://journey.getsolid.ai/p/the-death-of-the-generic-app-how</guid><dc:creator><![CDATA[Tal Segalov]]></dc:creator><pubDate>Thu, 29 Jan 2026 14:00:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3Zgv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3Zgv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Zgv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3Zgv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3Zgv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3Zgv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Zgv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:541012,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/186114893?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3Zgv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3Zgv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3Zgv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3Zgv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815b0678-cfdd-406a-b3d8-788e775545ae_2048x2048.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">This is what Gemini thinks best represents this blog post&#8230; interesting take!</figcaption></figure></div><p>For decades, enterprise software followed a predictable, albeit painful, pattern: you bought a rigid, off-the-shelf platform and spent the next three years (and millions of dollars) trying to bend your business processes to fit its &#8220;best practices.&#8221; It was like buying a one-size-fits-all suit and then having to lose weight just to button the jacket.</p><p>But as we enter 2026, that story is quickly becoming obsolete. We are witnessing the rise of <strong>Vibe Coding</strong> in the enterprise - a seismic shift where &#8220;English is the new programming language&#8221;, and custom, purpose-built apps are becoming the default, not the exception.</p><p>This isn&#8217;t just about writing code faster; it&#8217;s about a fundamental inversion of the software supply chain. We are moving from a world of scarcity (where developer time was the bottleneck) to a world of abundance (where the only bottleneck is the clarity of your intent).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2><strong>From &#8220;Software as a Service&#8221; to &#8220;Software as a Vibe&#8221;</strong></h2><p><a href="https://www.linkedin.com/in/andrej-karpathy-9a650716/">Andrej Karpathy</a> famously coined the term &#8220;<a href="https://x.com/karpathy/status/1886192184808149383?lang=en">vibe coding</a>&#8220; to describe a world where you focus on the <em>what</em> and let the AI handle the <em>how</em>. In a startup context, this is about speed. In an enterprise context, it&#8217;s about <strong>Hyper-Relevance</strong>.</p><p>We are living in a reality where a department head can &#8220;vibe&#8221; a custom procurement tool or a supply-chain tracker into existence in a few days. This disrupts the traditional SaaS model entirely. Why pay for a complex, bloated expense management solution with 900 features you don&#8217;t use, when you can vibe a tailored one that fits your workflow perfectly?</p><p>Just last week, one of my board members (!) vibe coded his own travel expense software. He didn&#8217;t want a dashboard with generic KPIs; he wanted a tool that specifically highlighted policy violations based on <em>his</em> company&#8217;s unique handbook and exported the exact PDF format requested by <em>his</em> Finance department.</p><p>But let&#8217;s not pretend it&#8217;s magic. The reality of 2026 is that while the <em>barriers</em> to entry have dropped, the <em>complexity</em> of management has risen.</p><h2><strong>The New Development Cycle: Avoiding the &#8220;Recursive Fix-It&#8221; Trap</strong></h2><p>As we&#8217;ve seen in early experiments (and as noted by observers like <a href="https://medium.com/@alexdorand/vibe-coding-enterprise-apps-e891698286fa">Alex Dorand</a>), vibe coding isn&#8217;t just shouting at an LLM and hoping for the best. Without discipline, it leads to what we call the <strong>&#8220;Recursive Fix-This-Shit&#8221; Era</strong>. This happens when you ask an AI to build a massive system in one go, and you spend the next week in a hellish loop of fixing one bug only to create three more because the AI lost the context of the original architecture.</p><p>To succeed in 2026, enterprises are adopting a new form of <strong>Iterative AI Development</strong>:</p><ol><li><p><strong><a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents">Context Engineering</a>:</strong> Successful vibe coding requires breaking applications down into &#8220;contexts&#8221;: small, manageable chunks of logic. You don&#8217;t vibe an ERP; you vibe the &#8220;Invoice Matching Module,&#8221; then the &#8220;Vendor Approval Module.&#8221;</p></li><li><p><strong>The &#8220;Feature Madness&#8221; Phase:</strong> We are currently in a period of &#8220;feature madness.&#8221; Because the cost of testing a hypothesis is near zero, businesses are iterating on features every 48 hours rather than every two weeks. The definition of &#8220;agile&#8221; has shifted from &#8220;shipping code&#8221; to &#8220;shipping business value.&#8221;</p></li><li><p><strong>The Orchestrator Role:</strong> Developers aren&#8217;t disappearing; they are evolving into &#8220;Dev-Copilots&#8221; or <strong>Orchestrators</strong>. Their job is no longer to write the syntax but to manage the <em>contexts</em> - ensuring that the &#8220;Invoice Module&#8221; doesn&#8217;t hallucinate data when talking to the &#8220;Vendor Module.&#8221;</p></li></ol><h2><strong>The Moat is the Infra, Not the App</strong></h2><p>As the cost of creating an application drops to near-zero, the value shifts. The moat is no longer the application code itself. it&#8217;s the <strong>cognitive architecture</strong> that allows the vibe to be accurate, secure, and useful.</p><p>If you just let 5,000 employees &#8220;vibe&#8221; apps on their laptops, you don&#8217;t get innovation; you get <strong>Shadow IT 2.0</strong> - a chaotic swamp of unmaintained, insecure scripts. To move from &#8220;vibe-coded slop&#8221; to &#8220;enterprise-grade intelligence,&#8221; you need four pillars of infrastructure:</p><h3><strong>1. The Governed Semantic Layer</strong></h3><p>As I&#8217;ve <a href="https://www.linkedin.com/posts/tal-segalov_ai-semanticlayer-analytics-activity-7398976931976638464-LEUp?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAJkUssBFiGXjOzeta8qe87DmQ9VNnNQl3o">written before</a>, your AI is only as smart as its map. You cannot simply point an LLM at your raw SQL database and say &#8220;build me a dashboard.&#8221; It will hallucinate columns, misunderstand relationships, and calculate &#8220;Revenue&#8221; based on a schema deprecated in 2023.</p><p>Enterprises need a <strong>Data Semantic Layer</strong> - a rigorous, governed definitions layer that acts as the &#8220;Detailed Librarian.&#8221; It educates the vibe-coding engine on <em>business logic</em>. When a user types &#8220;show me high-value customers,&#8221; the Semantic Layer intercepts that intent and tells the AI: <em>&#8220;High Value is defined as &gt;$50k ARR, and Customer data lives in the &#8216;Global_Accounts&#8217; table, not &#8216;Sales_Leads&#8217;.&#8221;</em></p><h3><strong>2. Built-in Governance &amp; Private Deployment</strong></h3><p>We need a sandbox. To truly share and collaborate, enterprises need private infrastructure where vibe-coded apps can be deployed instantly without leaking proprietary logic to the public web.</p><p>Governance must be the &#8220;steering wheel&#8221; baked into the vibe-coding engine.</p><ul><li><p><strong>Permissions:</strong> &#8220;Hey AI, build me a salary transparency tool&#8221; should be met with <em>&#8220;I&#8217;m sorry, you don&#8217;t have access to the HR Payroll schema,&#8221;</em> not a SQL dump of everyone&#8217;s wages.</p></li><li><p><strong>Compliance:</strong> Every generated app should automatically inherit the company&#8217;s SSO, audit logging, and data retention policies.</p></li></ul><h3><strong>3. The &#8220;Unit Test&#8221; for Vibes: Robust Maintenance Infra</strong></h3><p>This is the most overlooked aspect of the revolution. What happens when the person who wrote that travel app leaves? Or when the underlying API changes?</p><p>We need <strong>robust testing and maintainability infrastructure</strong>. We cannot rely on &#8220;it looked good when I generated it.&#8221; (the new &#8220;it works on my machine&#8221;)</p><ul><li><p><strong>Automated Vibe Testing:</strong> We need systems that run &#8220;regression vibes&#8221;&#8212;automatically prompting the app with standard user inputs every night to ensure the data structure hasn&#8217;t drifted or that the underlying logic is still valid.</p></li><li><p><strong>Self-Healing Code:</strong> The infrastructure should be able to detect runtime errors in these custom apps and feed them back into the vibe engine to auto-generate a fix, which is then presented to a human Orchestrator for approval.</p></li></ul><h3><strong>4. Custom Data Stacks</strong></h3><p>Generic SaaS forces you to store data <em>their</em> way. Vibe coding allows you to build apps that sit on top of <em>your</em> data stack. The winners in 2026 are building &#8220;Interface Layers&#8221; that allow users to vibe code ephemeral UIs on top of a permanent, governed data lake (like Snowflake or Databricks). The app is temporary; the data is eternal.</p><h2><strong>The Bottom Line</strong></h2><p>The &#8220;<a href="https://journey.getsolid.ai/p/the-agentic-event-horizon-4-trends">AI-Readiness Gap</a>&#8220; is widening. The winners won&#8217;t be the companies that buy the most AI licenses; they&#8217;ll be the ones that architect the infrastructure to let their employees &#8220;vibe&#8221; safely.</p><p>We are moving toward what Alex Dorand calls the <strong>&#8220;Creativity Era&#8221;</strong>&#8212;a future where the AI context is so rich, and the infrastructure so robust, that the &#8220;how&#8221; truly disappears, and the &#8220;what&#8221; is the only limit.</p><p>But we aren&#8217;t there yet. Today, we are <strong>Orchestrators</strong>. If you can&#8217;t describe your business logic clearly enough for an AI to build it, or if you haven&#8217;t built the testing infrastructure to keep it running, that&#8217;s your new bottleneck.</p><p>What are you building today? Or better yet, what are you vibing?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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[Automating the Design System: The End of the Manual Handoff]]></title><description><![CDATA[In this post, Reut Leibovich Blat, Solid&#8217;s Senior Product Designer, demonstrates how to eliminate the manual handoff between our Product Designers and Front-end Engineers.]]></description><link>https://journey.getsolid.ai/p/automating-the-design-system-the</link><guid isPermaLink="false">https://journey.getsolid.ai/p/automating-the-design-system-the</guid><dc:creator><![CDATA[Reut Leibovich Blat]]></dc:creator><pubDate>Sun, 25 Jan 2026 14:02:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IJMu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IJMu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IJMu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 424w, https://substackcdn.com/image/fetch/$s_!IJMu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 848w, https://substackcdn.com/image/fetch/$s_!IJMu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 1272w, https://substackcdn.com/image/fetch/$s_!IJMu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IJMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png" width="481" height="268.90551181102364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:497,&quot;width&quot;:889,&quot;resizeWidth&quot;:481,&quot;bytes&quot;:684854,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/185340938?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IJMu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 424w, https://substackcdn.com/image/fetch/$s_!IJMu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 848w, https://substackcdn.com/image/fetch/$s_!IJMu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 1272w, https://substackcdn.com/image/fetch/$s_!IJMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258a506b-4f3a-402f-8714-d56f7317bcc8_889x497.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I want to share a recent internal hackathon project that tackled a persistent friction point in product development: the disconnect between design and code.</p><h1><strong>The Bottleneck</strong></h1><p>We all know the theory behind a design system. It is the agreed-upon standard for consistency. It reduces technical debt and saves developer time by ensuring that once a component is built, it is reused rather than rebuilt. In a perfect world, the design system in Figma matches the code in the repository exactly.</p><p>But in reality, maintaining this synchronization is difficult. The process often involves a manual handoff where frontend developers must interpret design files and manually write the code to match pixel-perfect specifications. This repetition is inefficient and prone to human error.</p><p>During our recent hackathon, we asked a simple question: Can we use AI agents to automate the translation from design to code entirely? YES! Where there is a tedious, high-friction problem, there is now a solution in AI.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h1><strong>Turning Hours into Minutes</strong></h1><p>Our initial estimates suggest this workflow can reduce the time spent on UI implementation by nearly <strong>50%</strong>, effectively turning hours of manual back-and-forth into a process that takes just minutes. This shift allows our engineers to stop acting as &#8220;translators&#8221; for pixels and start focusing on the architectural logic that actually drives the product forward.</p><h1><strong>New Flow - Step by Step</strong></h1><h2><strong>Step 1: The Integration</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0akK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0akK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 424w, https://substackcdn.com/image/fetch/$s_!0akK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 848w, https://substackcdn.com/image/fetch/$s_!0akK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 1272w, https://substackcdn.com/image/fetch/$s_!0akK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0akK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png" width="435" height="216.11904761904762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1260,&quot;resizeWidth&quot;:435,&quot;bytes&quot;:37416,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/185340938?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0akK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 424w, https://substackcdn.com/image/fetch/$s_!0akK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 848w, https://substackcdn.com/image/fetch/$s_!0akK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 1272w, https://substackcdn.com/image/fetch/$s_!0akK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ced4d08-401d-4b58-8381-adf3ec42f6d3_1260x626.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>First, we established a direct link between our design source and our coding environment. We connected Figma to Cursor using the Figma Model Context Protocol (MCP). This allowed the AI to read the properties of our design files directly.</p><h2><strong>Step 2: Start with a simple component</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ftfw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ftfw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 424w, https://substackcdn.com/image/fetch/$s_!Ftfw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 848w, https://substackcdn.com/image/fetch/$s_!Ftfw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 1272w, https://substackcdn.com/image/fetch/$s_!Ftfw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ftfw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png" width="462" height="229.53333333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1260,&quot;resizeWidth&quot;:462,&quot;bytes&quot;:36925,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/185340938?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ftfw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 424w, https://substackcdn.com/image/fetch/$s_!Ftfw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 848w, https://substackcdn.com/image/fetch/$s_!Ftfw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 1272w, https://substackcdn.com/image/fetch/$s_!Ftfw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F204d3392-882e-4f25-8654-43356b48bf4d_1260x626.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We started with the fundamentals by creating a &#8220;Main Action Button&#8221; as our base unit in Figma. Crucially, this wasn&#8217;t just a visual mock-up. We deliberately structured the component using Figma variables for every property - colors, padding, typography.</p><p>Instead of hardcoding raw hex values (e.g., #0057FF), we assigned semantic variables (e.g., primary-action-background). This step was vital for the integration. It ensured that when the AI accessed the design, it read structured, semantic data rather than raw pixels. This preparation allows the AI to generate clean code that maps directly to our established design tokens, rather than creating messy, hardcoded styles.</p><h2><strong>Step 3: Connect Cursor to Figma MCP</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oRwi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oRwi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 424w, https://substackcdn.com/image/fetch/$s_!oRwi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 848w, https://substackcdn.com/image/fetch/$s_!oRwi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 1272w, https://substackcdn.com/image/fetch/$s_!oRwi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oRwi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png" width="393" height="227.06666666666666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1260,&quot;resizeWidth&quot;:393,&quot;bytes&quot;:86327,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/185340938?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oRwi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 424w, https://substackcdn.com/image/fetch/$s_!oRwi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 848w, https://substackcdn.com/image/fetch/$s_!oRwi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 1272w, https://substackcdn.com/image/fetch/$s_!oRwi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda362aba-67bd-490e-89a7-9e6f046da9f5_1260x728.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We then connected the Cursor IDE with the Figma MCP. Instead of a developer looking at Figma and typing out CSS and React code, Cursor pulled the component data directly. It generated the code automatically and immediately presented the working component in Storybook.</p><p>This step alone was significant. &#127881; It demonstrated that the initial construction of UI elements could be handled without manual intervention.</p><h2><strong>Step 4: The AI Agent</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gfhf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gfhf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 424w, https://substackcdn.com/image/fetch/$s_!gfhf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 848w, https://substackcdn.com/image/fetch/$s_!gfhf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 1272w, https://substackcdn.com/image/fetch/$s_!gfhf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gfhf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png" width="441" height="254.625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:840,&quot;resizeWidth&quot;:441,&quot;bytes&quot;:96582,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/185340938?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gfhf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 424w, https://substackcdn.com/image/fetch/$s_!gfhf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 848w, https://substackcdn.com/image/fetch/$s_!gfhf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 1272w, https://substackcdn.com/image/fetch/$s_!gfhf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d89659-bf09-43df-acf2-19c22b8d5671_840x485.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The true breakthrough came in the final step. We didn&#8217;t just want to generate code; we wanted to maintain a system.</p><p>We created a custom AI agent within Cursor. Its role was to analyze any new, complex component we designed. Before generating code, the agent performed a logic check:</p><ol><li><p>It scanned the new design.</p></li><li><p>It cross-referenced our existing code base.</p></li><li><p>It identified if parts of the new design (like the Main Action Button) already existed in the system.</p></li></ol><p>If a sub-component existed, the agent imported it. If it did not, the agent built it from scratch.</p><h1><strong>The Next Step</strong></h1><p>The implications for efficiency are clear. Frontend developers can stop focusing on the repetitive task of translating pixels into code. Instead, they can focus on logic, architecture, and user experience.</p><p>By letting AI handle the synchronization between Figma and the codebase, we turn the design system from a maintenance burden into an automatic, self-sustaining asset.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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[From Black Box to Glass Box: the only sane way to run AI on your data]]></title><description><![CDATA[Most &#8220;chat with your data&#8221; and agent+data tools are Black Boxes: they hide how they use your warehouse, how they analyze results, and why they take certain actions. At Solid, we believe that's bonkers]]></description><link>https://journey.getsolid.ai/p/from-black-box-to-glass-box-the-only</link><guid isPermaLink="false">https://journey.getsolid.ai/p/from-black-box-to-glass-box-the-only</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 21 Jan 2026 14:06:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_nrO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_nrO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_nrO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_nrO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_nrO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_nrO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_nrO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png" width="310" height="206.73763736263737" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:310,&quot;bytes&quot;:2141844,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/185213722?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_nrO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_nrO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_nrO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_nrO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26b3ddfb-6b80-4be6-9d9f-49816b65de72_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h2>Everyone wants AI on their data. Almost no one trusts it.</h2><p>Two waves are hitting companies at once:</p><ol><li><p><strong>&#8220;<a href="https://journey.getsolid.ai/p/ai-for-ai-how-to-make-chat-with-your">Chat with your data</a>&#8221;</strong> on top of the warehouse or BI</p></li><li><p><strong>&#8220;Agents with your data&#8221;</strong> that don&#8217;t just answer questions, they update CRM, tweak campaigns, move money</p></li></ol><p>From the outside: magical.<br>From the inside, if you own the data: risky.</p><p>You don&#8217;t really know:</p><ul><li><p>Which tables and columns the model is using</p></li><li><p>Why it picked <em>this</em> query instead of another</p></li><li><p>How it analyzed the results before answering or taking action</p></li></ul><p><strong>And you know you&#8217;ll be held responsible if it&#8217;s wrong.</strong></p><p>That&#8217;s what happens when the AI+data layer is a <strong>Black Box</strong>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Black Box vs Glass Box, for chat and agents</h2><p>This isn&#8217;t just about &#8220;explainable models.&#8221; It&#8217;s about whether the <em>system</em> that combines models with your warehouse is understandable and controllable.</p><h3>What Black Box looks like</h3><p>Typical pattern:</p><ul><li><p>Connect a tool to your warehouse</p></li><li><p>Point it at your schema</p></li><li><p>Start asking questions or giving tasks to agents</p></li></ul><p>You might see the generated SQL or API calls. But you <em>don&#8217;t</em> really control or observe:</p><ul><li><p><strong>What&#8217;s fair game</strong><br><a href="https://journey.getsolid.ai/p/the-two-souls-of-a-semantic-layer">Which schemas, tables, columns and metrics it considers &#8220;ok to use.&#8221;</a></p></li><li><p><strong>Why it chose that query</strong><br>Why it joined on that key, used that grain, or picked that time window.</p></li><li><p><strong>How it analyzed results</strong><br>Which segments it compared, what thresholds it used, how it turned rows into &#8220;insights.&#8221;</p></li><li><p><strong>What it&#8217;s allowed to say or do</strong><br>When it must refuse, when it should escalate, and which actions are off limits.</p></li></ul><p>The &#8220;reasoning and policy layer&#8221; is invisible. If that&#8217;s opaque, you have a Black Box, even if you can see the SQL.</p><h3>What Glass Box should look like</h3><p>A <strong>Glass Box</strong> starts from a simple premise:</p><blockquote><p>The people who own the data should also own the rules for how AI can use it.</p></blockquote><p>Concretely:</p><ul><li><p><strong>Control over inputs</strong><br>Data teams decide which schemas, tables, columns, entities and metrics exist in the AI&#8217;s universe.</p></li><li><p><strong>Control over reasoning</strong><br>Clear mappings from business concepts to joins and metrics, and editable rules for how common questions are interpreted.</p></li><li><p><strong>Control over policy</strong><br>Guardrails for what the AI can answer or do, when to say &#8220;I don&#8217;t know,&#8221; and when to route to a human.</p></li><li><p><strong>Visibility into traces</strong><br>For every answer or agent run, you can inspect the data accessed, rules applied, and path taken.</p></li></ul><p>That&#8217;s the minimum bar if you want AI touching real customers and real dollars.</p><div><hr></div><h2>Why Black Box breaks in production</h2><p>Black Box might be fine for summarizing PDFs. Structured data and agents are different.</p><ul><li><p><strong>Silent misunderstandings</strong><br>The model picks a &#8220;close enough&#8221; table or metric. <a href="https://journey.getsolid.ai/p/genai-is-consistently-inconsistent">The number looks plausible</a>, until it&#8217;s in a board deck or powering an agent that changes a deal.</p></li><li><p><strong>Opaque analysis</strong><br>You see the SQL, but not why certain segments, thresholds, or outliers were chosen. The important logic lives above the query layer.</p></li><li><p><strong>Governance risk</strong><br>Tools blur the line between what&#8217;s technically accessible and what&#8217;s allowed. Sensitive combos of fields, or actions based on context that shouldn&#8217;t have been used, slip through.</p></li><li><p><strong>Loss of trust</strong><br>If leadership asks &#8220;Why did we get this answer?&#8221; or &#8220;Why did the agent do that?&#8221; and the real answer is &#8220;We&#8217;re not sure,&#8221; you won&#8217;t get production sign-off.</p></li></ul><p>Black Box AI demos well. It dies in governance review.</p><div><hr></div><h2>Glass Box first. Context graph later.</h2><p>There&#8217;s <a href="https://foundationcapital.com/context-graphs-ais-trillion-dollar-opportunity/">a lot of hype around &#8220;context graphs&#8221; and &#8220;systems of agents.&#8221;</a> Underneath the jargon, there&#8217;s a simple idea:</p><ul><li><p>It&#8217;s not enough to know <em>what</em> the current state of the business is.</p></li><li><p>You also want to understand <em>how</em> and <em>why</em> key decisions were made over time.</p></li></ul><p>If you do Glass Box right, you get the ingredients for this &#8220;context graph&#8221; almost for free:</p><ul><li><p>Every answer and agent run comes with a trace:</p><ul><li><p>Which entities and metrics were used</p></li><li><p>Which rules and guardrails fired</p></li><li><p>Where humans stepped in</p></li></ul></li><li><p>Over time, those traces connect your core business objects (accounts, tickets, policies, approvals) with the decisions that changed them.</p></li></ul><p>You don&#8217;t have to sell this internally as &#8220;let&#8217;s build a context graph.&#8221;<br>You sell it as:</p><ul><li><p>&#8220;Let&#8217;s make our AI legible and auditable now&#8221;</p></li><li><p>&#8230;and get a rich history of decisions that future agents and analytics can learn from later</p></li></ul><p>Glass Box is the thing you <em>must</em> do.<br>The &#8220;context graph&#8221; is what naturally emerges if you instrument it well.</p><div><hr></div><h2>The catch: Glass Box sounds slow and manual</h2><p>Most leaders nod along with all of this &#8211; then immediately worry about cost and speed.</p><p>Hand-crafting every metric, join, rule and guardrail for AI sounds like:</p><ul><li><p>Rebuilding your semantic layer from scratch</p></li><li><p>A multiquarter project that never leaves pilot</p></li></ul><p>This is why Black Box tools are attractive: connect warehouse, get a demo next week.</p><p>It feels like a tradeoff:</p><ul><li><p><strong>Black Box:</strong> <a href="https://journey.getsolid.ai/p/everyone-wants-text2sql-but-the-pros">fast but risky</a></p></li><li><p><strong>Glass Box:</strong> safe but painfully slow</p></li></ul><p>We think that&#8217;s a false choice.</p><p>You should be able to <strong>have your Glass Box and move fast.</strong></p><p>The AI should help you <em>build</em> the Glass Box.</p><div><hr></div><h2>Solid&#8217;s theory: accelerate the Glass Box, don&#8217;t avoid it</h2><p>At Solid, our bet is simple:</p><blockquote><p>The only sane way to run AI on your data is as a Glass Box &#8211; and the only way to make that practical is to automate most of the Glass Box creation while keeping data teams in control.</p></blockquote><p>In practice, that means:</p><h3>1. Autogenerate, then curate</h3><p>Your warehouse already contains a lot of structure: schemas, models, usage patterns, documentation.</p><p>Instead of asking data teams to author everything by hand, we use AI to:</p><ul><li><p><a href="https://journey.getsolid.ai/p/autogeneration-of-a-semantic-layer">Infer likely entities, metrics and relationships</a></p></li><li><p>Propose initial rules and guardrails around them</p></li></ul><p><a href="https://journey.getsolid.ai/p/the-ghost-in-the-machine-how-solid">Data teams review and correct, instead of starting from zero</a>. Control stays with humans; effort drops dramatically.</p><h3>2. One Glass Box for chat <em>and</em> agents</h3><p>No separate universes for:</p><ul><li><p>&#8220;Chat with your data&#8221;</p></li><li><p>Agentic workflows that take action</p></li></ul><p>Both run on the same governed layer of entities, metrics, rules and policies. Fix a misinterpretation once, and everything gets safer at the same time.</p><h3>3. Decision traces as a built-in byproduct</h3><p>Every AI answer and agent run produces a trace:</p><ul><li><p>Data accessed</p></li><li><p>Rules invoked</p></li><li><p>Guardrails triggered</p></li><li><p>Human approvals</p></li></ul><p>That&#8217;s your path to a useful &#8220;context graph&#8221; over time &#8211; without a massive upfront modeling project or a new buzzword program to sell internally.</p><div><hr></div><h2>A quick &#8220;Glass Box or not?&#8221; checklist</h2><p>When you evaluate &#8220;AI on your data&#8221; tools, ask:</p><ol><li><p>Can my data team choose and update what schemas, tables and columns exist in the AI&#8217;s world?</p></li><li><p>Can we define business concepts and metrics once and have those govern all AI behavior?</p></li><li><p>Can we encode what the AI is <em>not</em> allowed to answer or do as policy, not just prompts?</p></li><li><p>For any answer or agent run, can we see the full trace of data, rules and decisions?</p></li><li><p>Does the system help us build and maintain this Glass Box automatically, or does it rely on manual configuration?</p></li></ol><p>If not, you&#8217;re not getting a Glass Box.</p><p>You&#8217;re getting a slightly translucent Black Box on top of your most important asset.</p><div><hr></div><p><strong>Where this is going</strong></p><p>Systems of record aren&#8217;t going away. Systems of agents are arriving fast.<br>The real leverage is in the layer that connects the two in a way that&#8217;s understandable and controllable.</p><p>For AI on structured data, that means:</p><ul><li><p><strong>Glass Box by design</strong></p></li><li><p><strong>Decision traces by default</strong></p></li><li><p><strong>Acceleration from AI, not avoidance of governance</strong></p></li></ul><p>That&#8217;s the path we&#8217;re building toward at Solid.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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></p>]]></content:encoded></item><item><title><![CDATA[2026: From Co-pilots to Colleagues – Hiring Your First Digital Employee]]></title><description><![CDATA[For the last few years, we&#8217;ve been living in the era of the LLM.]]></description><link>https://journey.getsolid.ai/p/2026-from-co-pilots-to-colleagues</link><guid isPermaLink="false">https://journey.getsolid.ai/p/2026-from-co-pilots-to-colleagues</guid><dc:creator><![CDATA[Tal Segalov]]></dc:creator><pubDate>Wed, 14 Jan 2026 14:02:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kLHH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kLHH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kLHH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kLHH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kLHH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kLHH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kLHH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:665227,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/184377097?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kLHH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kLHH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kLHH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kLHH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4785ed52-9335-4cbf-affe-f8e761c2652d_2816x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For the last few years, we&#8217;ve been living in the era of the LLM. 2024 and 2025 were the years of the Co-pilot&#8212;those handy, glorified autocomplete tools that sit in your IDE or your email, waiting for a prompt. They were a massive productivity hack for individuals, but let&#8217;s be honest: they were still just tools. They waited for you to tell them what to do.</p><p>As we enter 2026, the vibe is shifting. We are crossing the Agentic Event Horizon. We aren&#8217;t just adding more &#8220;manpower&#8221; to projects (a move <a href="https://en.wikipedia.org/wiki/Fred_Brooks">Fred Brooks</a> warned us against decades ago); we are hiring <strong>Digital Employees.</strong></p><p>The difference is fundamental. A co-pilot assists you; a digital employee <em><a href="https://journey.getsolid.ai/p/the-day-ai-stopped-being-magic-and">does the job</a></em>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h3><strong>The Vibe Shift: Co-pilot vs. Digital Employee</strong></h3><p>In Solid&#8217;s recent hackathon, I saw this loophole in action. Usually, a hackathon is a caffeine-fueled marathon of manual keyboard-smashing. This time, I wrote fewer lines of code than ever. Instead, I wrote English. I acted as the Architect, while my &#8220;AI colleagues&#8221;, my digital employees, handled the construction.</p><p>A Co-pilot is reactive. It suggests a line of code or summarizes a meeting.</p><p>A Digital Employee is proactive. It takes a Jira ticket, analyzes the existing 400k lines of backend code, finds the required hooks, writes the PR, and ensures it passes the tests. It manages its own &#8220;to-do&#8221; list. It doesn&#8217;t just suggest the &#8220;how&#8221;; it executes the &#8220;what.&#8221;</p><h3><strong>The Infrastructure: You Can&#8217;t Navigate 2026 with a 1925 Map</strong></h3><p>You can&#8217;t just buy a digital employee off the shelf and expect them to start on Monday. To hire them in an enterprise, you need to build their <strong>Cognitive Architecture</strong>.</p><p>As I&#8217;ve written before, an <a href="https://journey.getsolid.ai/p/layers-of-data-structure-usage-is">AI is only as smart as its map</a>. If you hand an overconfident genius a map of the Bay Area from 1925, they&#8217;ll still give you directions&#8212;they&#8217;ll just be confidently wrong. To make a digital employee effective, you need:</p><ol><li><p><strong>The Data Semantic Layer:</strong> <a href="https://journey.getsolid.ai/p/the-two-souls-of-a-semantic-layer">This is the &#8220;Detailed Librarian.&#8221;</a> It educates the AI on business logic so it doesn&#8217;t hallucinate &#8220;Revenue&#8221; based on a legacy table that hasn&#8217;t been used since the Clinton administration.</p></li><li><p><strong>Usage as the New Schema:</strong> Digital employees need to read your &#8220;Data&#8217;s Diary.&#8221; They need to understand not just the static schema, but <a href="https://substack.com/@tsegalov/p-178926615">how humans </a><em><a href="https://substack.com/@tsegalov/p-178926615">actually</a></em><a href="https://substack.com/@tsegalov/p-178926615"> use the data</a>&#8212;the &#8220;desire paths&#8221; found in query logs and dbt models.</p></li><li><p><strong>Built-in Governance:</strong> Governance shouldn&#8217;t be the brake; it should be the steering wheel. To let an agent operate autonomously, you need &#8220;Governance-as-Code&#8221; to ensure it stays within safe boundaries.</p></li></ol><h3><strong>Onboarding and Training: Teaching the Tribal Knowledge</strong></h3><p>Onboarding a digital employee looks a lot like onboarding a human. You have to teach them the &#8220;local slang.&#8221;</p><p>We do this by feeding them the <strong>Interconnected Knowledge Graph</strong> of the company. They need access to your internal wikis, Slack channels, and historical PRs. This is where they learn the &#8220;Tribal Knowledge&#8221; that usually only lives in people&#8217;s heads. Training isn&#8217;t about fine-tuning a model on the internet; it&#8217;s about grounding it in <em>your</em> specific, granular context&#8212;your &#8220;Golden Paths.&#8221;</p><h3><strong>Maintenance, Auditing, and the &#8220;Knowledge Loss&#8221; Problem</strong></h3><p>When you &#8220;fire&#8221; or rotate a digital employee (e.g., upgrading to a new model or switching providers), the fear is knowledge loss. But here is the loophole: unlike humans, a digital employee&#8217;s knowledge is externalized.</p><p>By forcing them to document their work, the &#8220;why&#8221; behind the code and the &#8220;how&#8221; of the process, as a mandatory part of their &#8220;Definition of Done,&#8221; you actually <em>gain</em> institutional memory. At Solid, we&#8217;ve turned our developers and QA engineers into <strong>Bot Managers</strong> and <strong>Semantic Auditors</strong>. Their job isn&#8217;t to build; it&#8217;s to critique and verify. They ensure the machine&#8217;s output adheres to the &#8220;Ground Truth.&#8221;</p><p>We monitor them through aggressive automation and regression testing. If the AI writes the code, the human must ensure it works every time. The &#8220;Sprint&#8221; becomes a misnomer because we aren&#8217;t running - we&#8217;re flying.</p><h3><strong>The Bottom Line</strong></h3><p>The winners in 2026 won&#8217;t be the companies that buy the most AI licenses. They&#8217;ll be the ones that architect their infrastructure to let their digital employees &#8220;vibe&#8221; safely and productively.</p><p>We need to stop treating data documentation as a chore and start treating it as the core operating system for this new workforce. The industrial revolution for code is here. Are you still navigating with a 1925 map?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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[Semantic Engineering: the new discipline behind trustworthy enterprise AI]]></title><description><![CDATA[2026 will be the year data and business analysts become semantic engineers]]></description><link>https://journey.getsolid.ai/p/semantic-engineering-the-new-discipline</link><guid isPermaLink="false">https://journey.getsolid.ai/p/semantic-engineering-the-new-discipline</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 07 Jan 2026 14:03:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TV01!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Walk into almost any large company right now and you will hear the same three things:</p><ol><li><p>&#8220;We have an AI strategy.&#8221;</p></li><li><p>&#8220;We have a modern data stack.&#8221;</p></li><li><p>&#8220;Our AI still gives answers we do not fully trust.&#8221;</p></li></ol><p>Models are powerful. Warehouses are mature. Yet when AI meets real enterprise complexity, you still see:</p><ul><li><p>Confident but inconsistent answers</p></li><li><p>Agents that cannot safely take action</p></li><li><p>People arguing over which version of a metric is &#8220;right&#8221;</p></li></ul><p>The missing piece is not more dashboards or another LLM.<br>The missing piece is <strong>meaning</strong>.</p><p>In 2026, I think we will finally name and formalize the discipline that owns this problem:</p><blockquote><p><strong>Semantic Engineering</strong><br>The practice of turning a company&#8217;s business and data knowledge into semantic models that AI can safely understand, reason over, and act on.</p></blockquote><p>And the people who will lead it are not &#8220;AI gurus&#8221;.<br>They are the data and business analysts who already know how the business actually works.</p><p>Much like dbt brought to the world the Analytics Engineers, we will now see Semantic Engineers.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://journey.getsolid.ai/subscribe?"><span>Subscribe now</span></a></p><h2>Why semantics are now the bottleneck</h2><p>Every large enterprise is racing to embed AI into how work gets done, from decision making and reporting to automated workflows and agents.</p><p>Very quickly they hit the same hard limit:</p><blockquote><p>AI cannot deliver value unless it understands your data and your business logic.</p></blockquote><p>Today that understanding is scattered:</p><ul><li><p>Metric definitions are duplicated across tools</p></li><li><p>Business rules are buried in SQL, docs, and tickets</p></li><li><p>Edge cases live only in people&#8217;s heads</p></li><li><p>Governance rules change faster than reports do</p></li></ul><p>Humans can work around this with context and memory.<br>AI cannot. When AI does not understand what a number means, it guesses.</p><p>At small scale you can patch this with ad hoc prompts, manual reviews, and heroic analysts.<br>At enterprise scale, it breaks.</p><p>Semantic Engineering is about treating that understanding as <strong>infrastructure</strong>, not as a side effect of dashboards or code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TV01!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TV01!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!TV01!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!TV01!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!TV01!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TV01!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178258,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/183584637?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TV01!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!TV01!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!TV01!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!TV01!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553b2625-fab0-42f9-bfbb-23ebc8d1a014_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The Semantic Models Lifecycle</h2><p>If Semantic Engineering is a discipline, it needs a lifecycle.</p><p>At Solid we think about it as a five step loop. The slide you saw at the top is the visual version. Here is the narrative version.</p><h3>1. Auto generated semantic models</h3><p>You do not start from a blank page.</p><p>Your warehouse, BI tools, query logs, and documentation already contain a lot of implicit structure:</p><ul><li><p>Which tables are used together</p></li><li><p>Which metrics people care about</p></li><li><p>How teams slice and dice the same concepts</p></li></ul><p>Tools like Solid can now mine this &#8220;digital exhaust&#8221; and generate an initial semantic model in minutes instead of months:</p><ul><li><p>Core entities and how they relate</p></li><li><p>Frequently used metrics</p></li><li><p>Common joins and filters</p></li></ul><p>Think of this as raw material for Semantic Engineers. It is noisy, but it reflects reality.</p><p>For a deeper dive into how this works, we will be publishing more technical details in a follow up piece. If you enjoy that kind of thing, you might also like our earlier post <em>&#8220;<a href="https://journey.getsolid.ai/p/the-ghost-in-the-machine-how-solid">The Ghost in the Machine: How Solid drastically accelerates semantic model generation</a>&#8221;</em>.</p><h3>2. Fine tune models</h3><p>Generation gets you a draft. Semantic Engineers make it <strong>true</strong>.</p><p>This is where data and business analysts bring their knowledge of the organization:</p><ul><li><p>Rename metrics and entities to match the language people actually use</p></li><li><p>Merge or split metrics that should not be separate in practice</p></li><li><p>Add rules like &#8220;exclude test accounts&#8221; or &#8220;include only paying customers&#8221;</p></li><li><p>Capture special cases: trial periods, multi currency revenue, regional exceptions</p></li></ul><p>If you have read <em>&#8220;<a href="https://journey.getsolid.ai/p/behind-the-scenes-how-we-think-about">Behind the scenes: how we think about semantic model generation</a>&#8221;</em> you will know how much nuance hides here. This step turns an auto generated graph into a faithful map of the business.</p><h3>3. Test, validate, and publish</h3><p>Once the model looks right, you still have to prove it.</p><p>Semantic Engineers treat semantic models like code:</p><ul><li><p>Regression tests for metrics across dimensions</p></li><li><p>Comparisons against trusted reports</p></li><li><p>Spot checks with domain experts</p></li><li><p>Clear promotion steps from draft to &#8220;published&#8221; models</p></li></ul><p>Only then do those models become available to AI experiences: chat with data, copilots in tools, operational workflows, or agents that take actions.</p><p>This is also where governance shows up. In <em>&#8220;<a href="https://journey.getsolid.ai/p/the-two-souls-of-a-semantic-layer">The Two Souls of a Semantic Layer: A Tale of Governance and Insight</a>&#8221;</em> we talk about how you need both: freedom to explore and strong guarantees when machines act.</p><h3>4. Automatic updates</h3><p>The business does not stand still. Neither can your semantics.</p><p>New products launch. Regions open and close. Pricing plans change. Regulations appear. If every change requires manually hunting through SQL and dashboards, the semantic model will always lag behind reality.</p><p>In a semantic engineering approach:</p><ul><li><p>The platform notices that queries and schemas are changing</p></li><li><p>It suggests updates to the semantic model</p></li><li><p>Semantic Engineers review, adjust, and approve</p></li></ul><p>The goal is simple: AI should always reflect how the business works <strong>today</strong>, not last year.</p><h3>5. Optimize from real usage</h3><p>Once AI is live, you finally see the sharp edges.</p><p>Semantic Engineers watch how humans and agents actually use the models:</p><ul><li><p>Which questions appear over and over</p></li><li><p>Where AI is uncertain or inconsistent</p></li><li><p>Which workflows require human override</p></li><li><p>Where adoption stalls because answers are confusing</p></li></ul><p>Real usage becomes a feedback loop that continuously improves the model.</p><p>We talked in the past about how much you can learn by watching what people do when they are not excited to use your AI. Semantic Engineering gives you a concrete way to respond: update the semantics so the next interaction is better.</p><h2>Who are Semantic Engineers in practice?</h2><p>The interesting thing is that you probably already employ Semantic Engineers. You just do not call them that yet.</p><p>They are:</p><ul><li><p>The analyst everyone pings when numbers do not match</p></li><li><p>The finance lead who can explain exactly how &#8220;ARR&#8221; differs between sales, finance, and product</p></li><li><p>The operations manager who knows every exception in the customer lifecycle</p></li><li><p>The analytics engineer who keeps dbt models aligned with reality</p></li></ul><p>Today these people are often trapped in reactive work:</p><ul><li><p>Explaining the same metric definition over and over</p></li><li><p>Fixing broken dashboards</p></li><li><p>Translating between teams that all use the same words differently</p></li></ul><p>Semantic Engineering gives them a new mandate:</p><ul><li><p><strong>Your job is to teach AI how the business works.</strong></p></li><li><p><strong>Your primary artifact is a living semantic model, not just a report.</strong></p></li><li><p><strong>Your success metric is how reliable and scalable AI becomes for everyone else.</strong></p></li></ul><p>You do not need to hire an entirely new team to start. You need to give your existing experts a name for the work they are already doing and better tools to do it.</p><h2>Why this happens in 2026</h2><p>Why am I confident that Semantic Engineering will emerge as a real discipline this year?</p><p>A few reasons.</p><ol><li><p><strong>GenAI has moved from novelty to expectation.</strong><br>Two years ago people were still experimenting with &#8220;chat with my data&#8221;. In 2026 many executives expect AI to show up in their core workflows. Expectations are higher. Tolerance for inconsistent answers is lower.</p></li><li><p><strong>Data teams are feeling the strain.</strong><br>In <em>&#8220;<a href="https://journey.getsolid.ai/p/stop-saying-garbage-in-garbage-out">Stop saying &#8216;Garbage In, Garbage Out&#8217;, no one cares</a>&#8221;</em> we wrote about how data leaders are asked to both &#8220;fix everything&#8221; and &#8220;ship AI&#8221; at the same time. Semantic Engineering is a way to focus on the thin layer that actually unlocks AI value instead of boiling the ocean.</p></li><li><p><strong>Vendors have caught up on infrastructure.</strong><br>Warehouses, vector databases, orchestration, and LLMs are now mature enough that the new bottleneck is not plumbing. It is knowledge capture.</p></li><li><p><strong>A clear lifecycle is emerging.</strong><br>The five step Semantic Models Lifecycle gives teams a concrete process to follow: generate, fine tune, test, keep up to date, and optimize from usage. Once there is a shared pattern, a named role tends to follow.</p></li><li><p><strong>The industry is already talking about it.</strong><br>Leaders like Snowflake and Databricks are investing heavily in AI copilots that depend on semantic understanding. Folks like Tristan Handy at dbt Labs have written about how AI will transform BI and why semantics sit at the center of that shift. Semantic Engineering is the natural organizing principle for this movement.</p></li></ol><h2>How to start a Semantic Engineering practice in your company</h2><p>If this sounds like a big change, it does not have to start big.</p><p>Here is a simple playbook you can run in the first quarter of 2026.</p><ol><li><p><strong>Pick one high value domain.</strong><br>For example: renewals, claims processing, patient onboarding, field service, or supply chain exceptions. Do not start with &#8220;the entire company&#8221;.</p></li><li><p><strong>Nominate one or two Semantic Engineers.</strong><br>Pick people who already act as translators between data and business. Give them explicit ownership of the semantic model for this domain.</p></li><li><p><strong>Generate a first model from reality.</strong><br>Use your existing tools, query logs, and BI assets to create an initial semantic model. If you are using Solid, this is where the auto generated model appears almost instantly.</p></li><li><p><strong>Walk through the lifecycle.</strong></p><ul><li><p>Fine tune the model with real business rules</p></li><li><p>Validate against trusted numbers and experts</p></li><li><p>Publish to one AI experience, for one set of users</p></li></ul></li><li><p><strong>Instrument and iterate.</strong><br>Watch how people use it. Where do they hesitate? Where do they stop trusting the answer? Feed that back into the model.</p></li><li><p><strong>Write down the playbook.</strong><br>Document what worked and what did not. The next domain will be faster.</p></li></ol><p>By the time you have done this for two or three domains, you will have a small Semantic Engineering practice in place, even if nobody has changed their job titles yet.</p><h2>Closing thought</h2><p>Ten years ago, &#8220;analytics engineer&#8221; was not a common title.<br>Today it is hard to imagine a modern data team without one.</p><p>I am <em>confident</em> that in a few years we will say the same thing about <strong>Semantic Engineers</strong>.</p><p>As AI moves from demos to the messy reality of enterprise operations, the winning organizations will be the ones that treat business meaning as a first class system. They will:</p><ul><li><p>Capture it explicitly in semantic models</p></li><li><p>Keep it continuously aligned with the business</p></li><li><p>Put it to work safely through AI agents, copilots, and workflows</p></li></ul><p>That is what Semantic Engineering is about.<br>And that is the discipline we expect to see emerge, loudly and clearly, in 2026.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://journey.getsolid.ai/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 Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</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>