<?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>Tue, 30 Jun 2026 20:18:43 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[Why AI fails when it ignores the workflow]]></title><description><![CDATA[Preeti Vaidya of Morgan Health on why useful AI starts with workflows, not chatbots, and what healthcare can teach enterprise teams about adoption.]]></description><link>https://journey.getsolid.ai/p/why-ai-fails-when-it-ignores-the</link><guid isPermaLink="false">https://journey.getsolid.ai/p/why-ai-fails-when-it-ignores-the</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 17 Jun 2026 13:02:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cL2_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_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_!cL2_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cL2_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cL2_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cL2_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cL2_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cL2_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg" width="359" height="359" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0aeb3f69-8c67-4472-9736-2c8c786603bc_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;:359,&quot;bytes&quot;:61457,&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/202205158?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_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_!cL2_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cL2_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cL2_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cL2_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aeb3f69-8c67-4472-9736-2c8c786603bc_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 recorded a podcast episode with <a href="https://www.linkedin.com/in/vaidya-preeti/">Preeti Vaidya</a>, who works on AI at <a href="https://www.morganhealth.com/">Morgan Health</a>, part of JPMorganChase. Morgan Health focuses on improving outcomes for people covered by employer-sponsored insurance, which is a much larger population than many people realize. Roughly 160 million Americans receive health insurance through their employers, which means this is not a niche healthcare problem. It includes employees, families, benefits teams, clinicians, insurers, and the companies trying to help them all make better decisions.</p><p>Preeti sits at the intersection of healthcare, AI, data, clinical workflows, and employer-sponsored benefits. Naturally, we spent a lot of the conversation talking about AI in healthcare: care navigation, clinical decision support, radiology, fragmented health records, claims data, and the shortage of physicians. But the more we talked, the more I felt that healthcare was exposing a much broader enterprise AI problem.</p><p><strong>Most AI programs still assume that the user wants to chat, and that&#8217;s wrong</strong></p><p><strong>Listen to the episode now on <a href="https://www.youtube.com/watch?v=pbG_ud-YlYQ&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=18">YouTube</a>, <a href="https://podcasts.apple.com/us/podcast/bringing-ai-into-healthcare-workflows-with-preeti-vaidya/id1839467012?i=1000773001321">Apple Podcasts</a>, and <a href="https://open.spotify.com/episode/5pGOYNoHEY3MAUrKtDdBUf?si=8Ou78WTdRSOv8cggpFMt2Q">Spotify</a>.</strong></p><div><hr></div><p>That assumption works well for a very specific kind of user. It works for the person who is already curious about AI, already trying new tools, already comfortable writing prompts, and already willing to inspect the answer before trusting it. Preeti called these people &#8220;canary users.&#8221; Every organization has them. They are the early adopters who will test anything, find useful patterns, and prove that something is possible.</p><p>The mistake is treating their success as proof that the average user is ready.</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>Canary users are not the average user</h2><p>Every company has people who are excited about new technology. They are not just the first users of AI. They are the first users of almost every new tool. They ask for access before the tool is formally rolled out. They try things outside the organization and then come back asking whether they can use them internally. They are motivated, curious, and willing to tolerate friction because they believe there is value on the other side.</p><p>These users are incredibly important. They help teams discover what a model can do, where the workflows might change, and which use cases are worth pursuing. But they can also create a false signal. When an AI pilot works with canary users, it can look like the organization is ready for broad adoption. In reality, all you have proven is that motivated users can make a flexible AI interface useful.</p><p>That is not the same thing as building a product the average user will actually use.</p><p>The average user usually does not want to become good at prompting. They do not want to understand model behavior. They do not want to learn how to inspect every answer for hallucinations. They do not want another destination they need to visit during the day. They want help doing the job they already have.</p><p>This is where many AI programs start to break. They give everyone access to a chatbot, point to the success of the power users, and then wonder why the rest of the organization does not adopt it with the same energy.</p><h2>The wrong default is &#8220;here is a chatbot&#8221;</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MZfD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MZfD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 424w, https://substackcdn.com/image/fetch/$s_!MZfD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 848w, https://substackcdn.com/image/fetch/$s_!MZfD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 1272w, https://substackcdn.com/image/fetch/$s_!MZfD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MZfD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp" width="553" height="358.9182692307692" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:945,&quot;width&quot;:1456,&quot;resizeWidth&quot;:553,&quot;bytes&quot;:110158,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://journey.getsolid.ai/i/202205158?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MZfD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 424w, https://substackcdn.com/image/fetch/$s_!MZfD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 848w, https://substackcdn.com/image/fetch/$s_!MZfD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 1272w, https://substackcdn.com/image/fetch/$s_!MZfD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2d61cb1-0cf5-4558-89c9-eea71b9b7e31_2749x1784.webp 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">ChatGPT, December 2022</figcaption></figure></div><p>The original GenAI experience was ChatGPT, so it makes sense that a lot of people still imagine AI through that interface. There is an empty box. You type something. The model answers. You refine. You ask again. Sometimes it works incredibly well.</p><p>But that is not how most operational work happens.</p><p>Preeti gave the example of a nurse in an emergency room. A nurse does not need a blank chatbot in the middle of a clinical workflow. She does not have time to stop, describe the situation, ask the model what to do, evaluate whether the model is hallucinating, and then figure out how to translate the answer back into care. The better experience is much more embedded. If a marker changes, surface it. If a patient needs attention, alert the right person. If relevant context exists, put it in front of the clinician at the point of decision.</p><p>That distinction matters. The value is not in making the nurse &#8220;use AI.&#8221; The value is in helping her deliver care more effectively inside the workflow she already has.</p><p>I see the same pattern in analytics. <a href="https://www.getsolid.ai/resources/the-curse-and-promise-of-the-white-wz37ms">Giving a business user a blank &#8220;chat with your data&#8221; box sounds powerful</a>, but it often creates more work. The user asks a vague question. The model makes assumptions. The answer looks confident. Then someone has to verify what happened, inspect the SQL, check the metric definition, and decide whether the answer can be trusted.</p><p>At that point, AI did not remove work from the system. It moved the work somewhere else.</p><p>This is why the product question cannot be, &#8220;How do we get everyone to chat with AI?&#8221; The better question is, &#8220;Where in the existing workflow would better information, surfaced at the right moment, change the outcome?&#8221;</p><h2>Start with the workflow, not the model</h2><p><strong>Preeti&#8217;s approach was very practical. Before deciding where AI belongs, you need to understand the workflow as it exists today. Not the idealized version. Not the version described in a strategy document. The actual workflow, with all the handoffs, shortcuts, delays, repeated checks, and moments where people rely on judgment.</strong></p><p>That means talking to the people doing the work. What does the nurse do today? What does the radiologist do today? What does the benefits administrator do today? Where do they lose time? Where do they need more context? Where are they overloaded with alerts? Where are they forced to make a decision with incomplete information?</p><p>Only after that mapping does it make sense to decide where AI should enter.</p><p>This sounds obvious, but a lot of enterprise AI programs do the opposite. They start with a model, vendor, or platform, then go looking for places to apply it. That usually produces impressive demos and disappointing adoption. The demo shows what is possible in a controlled setting. The workflow reveals what is useful in the real world.</p><p>The better path is less flashy but much more durable. Understand the workflow. Find the decision point where better context matters. Insert AI there. Make the output understandable to the person doing the work. Do not force that person to become an AI operator just to benefit from the technology.</p><p>In healthcare, that might mean clinical decision support. In analytics, it might mean surfacing the right governed metric, explaining a dashboard, generating SQL against an approved semantic model, or warning the user that the question is ambiguous before producing a number.</p><p>The pattern is the same: AI works better when it meets people where they already work.</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>AI should support decisions, not pretend to make them</h2><p>A lot of AI conversations eventually turn into the same question: will AI replace people?</p><p>In healthcare, that question often becomes: will AI replace doctors?</p><p>Preeti&#8217;s answer was clear. Healthcare is deeply personal. There are things AI can do extremely well, and there are things it should help with immediately. It can process large bodies of medical literature. It can help radiologists identify subtle changes in images. It can summarize relevant context. It can reduce administrative burden. It can help clinicians spend less time typing notes at the end of an exhausting shift.</p><p>But the human still matters.</p><p>A doctor may notice that something feels off even when the lab results look normal. A nurse may see a patient in a way the data does not capture. A clinician brings judgment, empathy, and accountability to the room. AI can support that work, but it should not be framed as a replacement for it.</p><p>That framing is useful outside healthcare too. In analytics, the goal should not be to pretend the AI is the analyst, the data team, and the business decision-maker all at once. The goal should be to help people make better decisions with less friction. That means giving them relevant context, governed definitions, clear assumptions, and answers that can be inspected and trusted.</p><p>Decision support is a stronger product promise than decision replacement. It is also a more honest one.</p><h2>Data fragmentation is not one problem</h2><p>At one point in the conversation, I asked Preeti about something I personally feel as a patient: my healthcare data is everywhere. I have multiple portals across different providers. There are labs, clinical notes, insurance claims, wearable data, family history, and information I may or may not remember to share. Even if I personally want all of it connected, the system does not make that easy.</p><p><strong>So the question was simple: how can AI work if the data is so fragmented?</strong></p><p>Preeti&#8217;s answer was basically yes, data fragmentation is a huge problem, but no, we do not need to solve all of it before AI can be useful.</p><p>I liked that answer because it avoids two bad extremes. One extreme is pretending the data problem does not matter. The other is waiting for a perfectly unified data world before building anything useful. Neither is realistic.</p><p>Preeti broke the problem into several layers. There is system fragmentation, where different providers and systems hold different parts of the patient picture. There is temporal fragmentation, where claims data may be useful but delayed by 30 to 90 days. There is also semantic fragmentation, where different systems describe things differently, and where clinical notes, claims codes, lab results, and provider judgment do not automatically line up just because the data has been collected.</p><p>That last layer is especially important.</p><p>Semantic fragmentation is not just a healthcare problem. Every enterprise has it. One team says &#8220;customer,&#8221; another says &#8220;account,&#8221; and another says &#8220;workspace.&#8221; A revenue metric means one thing in finance and something slightly different in sales. A dashboard contains logic that is not fully documented. A dbt model contains logic that is technically correct but not obvious to a business user. A Slack thread explains the exception, but the AI cannot see it.</p><p>Then someone asks an AI analyst a question and expects it to know what the business means.</p><p>This is why AI for analytics cannot just be a Text2SQL problem. Generating SQL is not enough. The system needs business meaning. It needs definitions, relationships, assumptions, governance, and context about how the data is actually used. Without that semantic layer, the AI may produce an answer that is syntactically correct and operationally wrong.</p><h2>Build for incomplete context</h2><p>One of the most important points Preeti made was that AI builders need to understand not only what their data can do, but what it cannot do.</p><p>That is easy to say and hard to implement. Most AI demos are built around the happy path. The model has the right data. The user asks a clean question. The answer exists. The output looks impressive.</p><p>Production is not the happy path. Production is missing context, ambiguous language, conflicting definitions, lagged data, undocumented business logic, and users who do not know exactly how to phrase what they need. The system has enough information to sound confident, but not always enough information to be right.</p><p>A useful AI system needs to recognize that gap.</p><p>In healthcare, that might mean knowing that it has today&#8217;s lab result and the current visit notes, but not the full patient history. In analytics, it might mean knowing that there are two definitions of gross margin and asking which one should apply. In both cases, the system becomes more trustworthy when it can explain what it knows, what it does not know, and which assumptions it is making.</p><p>This is one of the places where I think semantic engineering becomes essential. The goal is not to create a perfect data world. The goal is to make enough meaning explicit so that AI can behave responsibly in an imperfect one.</p><p>That includes knowing when to answer, when to ask a clarifying question, when to use a governed definition, and when to say that the data does not support the request.</p><h2>The best AI may feel less like AI</h2><p>One of the interesting patterns in the conversation was that the best healthcare AI examples did not sound like standalone AI tools. They sounded like better workflows.</p><p>Care navigation that appears inside the channels people already use. Radiology support that helps clinicians review images more effectively. Clinical context that appears when it is needed. Documentation support that reduces after-hours work. These are not experiences where the user goes somewhere else to &#8220;do AI.&#8221; They are experiences where AI makes the existing work easier.</p><p>That may be a good test for enterprise AI products.</p><p><strong>If adoption depends on users leaving their workflow, learning a new behavior, and becoming good at prompting, the bar is very high. If AI is embedded into the place where the work already happens, the bar is different</strong>. The user does not need to believe in the AI transformation story. They just need the next step to be easier, faster, or more reliable.</p><p>This also changes how we should evaluate success. The question is not how many people logged into the AI tool. The question is whether the workflow improved. Did the clinician save time? Did the patient find the right provider? Did the analyst avoid repetitive work? Did the business user get a governed answer instead of creating another ad hoc spreadsheet? Did the data team reduce the amount of manual clarification required before answering a question?</p><p>AI adoption is not the outcome. Better work is the outcome.</p><h2>The real promise is less friction and better decisions</h2><p>The optimistic version of AI in healthcare is not that we all get an AI doctor and never see a human again. The optimistic version is more practical and, I think, more compelling.</p><p>Clinicians spend less time on administrative work. Patients get better navigation. Benefits become easier to understand. Radiologists get support spotting subtle changes. Doctors get faster access to relevant research. People in underserved areas get more consistent support. The shortage of clinicians becomes less painful than it otherwise would have been.</p><p>AI does not need to replace the system to improve it. It needs to reduce friction in the right places.</p><p>That is the lesson I took from the conversation with Preeti. It is also the lesson I think applies to almost every enterprise AI effort. The future will not belong to the flashiest chatbot. It will belong to systems that understand the workflow, respect the limits of the data, expose their assumptions, and help humans make better decisions.</p><p>That is true in healthcare.</p><p>It is true in analytics.</p><p>And it is probably true everywhere AI actually needs to work.</p><p>Listen to the episode now: <a href="https://www.youtube.com/watch?v=pbG_ud-YlYQ&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=18">YouTube</a>, <a href="https://open.spotify.com/episode/5pGOYNoHEY3MAUrKtDdBUf?si=8Ou78WTdRSOv8cggpFMt2Q">Spotify</a>, <a href="https://podcasts.apple.com/us/podcast/bringing-ai-into-healthcare-workflows-with-preeti-vaidya/id1839467012?i=1000773001321">Apple Podcast</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[What Snowflake, Anthropic and Salesforce got right, and wrong, about semantics]]></title><description><![CDATA[Semantic layers, especially auto-generated ones, are becoming the foundation for AI in the enterprise, and now everyone sees it.]]></description><link>https://journey.getsolid.ai/p/what-snowflake-anthropic-and-salesforce</link><guid isPermaLink="false">https://journey.getsolid.ai/p/what-snowflake-anthropic-and-salesforce</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 10 Jun 2026 15:02:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!w_Vj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_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_Vj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w_Vj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!w_Vj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!w_Vj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!w_Vj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w_Vj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d03b30e-1a10-491a-939e-f4d6fb852a5d_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;:2846238,&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/200943534?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_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_Vj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!w_Vj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!w_Vj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!w_Vj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d03b30e-1a10-491a-939e-f4d6fb852a5d_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>Over the last couple of weeks, three things happened that are worth putting together.</p><p>Snowflake announced <strong>Cortex Sense</strong>, a foundational context layer for CoWork that &#8220;automatically learns how a business defines its data and operations.&#8221; Cortex Sense uses signals from query history, metadata, dashboards in Power BI and Tableau, and enterprise data outside Snowflake to understand things like revenue definitions, fiscal calendars and snapshot tables. Snowflake also shared a pretty incredible internal test: CoCo and CoWork reached 83% accuracy with Cortex Sense, compared to 47% without it and 23% for frontier coding agents with Snowflake MCP. (<a href="https://www.snowflake.com/en/blog/snowflake-cowork-personal-work-agent/?utm_source=chatgpt.com">snowflake.com</a>)</p><p>Anthropic published a post on how they use Claude for self-service data analytics. The point was not &#8220;Claude can write SQL now.&#8221; The more interesting point was that analytics accuracy is mostly a context and verification problem. Their team wrote that the central challenge is mapping a user&#8217;s question to the right entities in the data model and knowing how to work with them. Once that context exists, writing the SQL becomes the easier part. (<a href="https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude?utm_source=chatgpt.com">claude.com</a>)</p><p>And Marc Benioff recently made the point that AI needs a semantic layer to work well. Salesforce has also been pushing this publicly through its Open Semantic Interchange work, arguing that agentic AI requires a realignment around the semantic data model, and that agents need trusted semantic definitions to translate intent into accurate outputs. (<a href="https://www.atscale.com/blog/semantic-layer-saas-ai-strategy/?utm_source=chatgpt.com">atscale.com</a>)</p><p>Enterprise AI needs semantics. <strong>Which is exactly what we&#8217;ve been saying for over a year.</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><h2>Recap: why semantics are needed (feel free to skip)</h2><p>The problem with AI and enterprise data is not just Text2SQL. It is not enough for a model to generate a syntactically valid query. The real challenge is understanding what the user actually meant, which data should be trusted, and how the business defines the thing being asked about.</p><p>When someone asks for ARR, do they mean booked ARR, billed ARR, active ARR or ending ARR? When someone asks for churn, are they asking about logo churn, gross revenue churn, net revenue churn, voluntary churn or something else? When someone asks about &#8220;active users,&#8221; what actually counts as active?</p><p>The answer is rarely obvious from the schema. A table name can help. A column name can help. But the real meaning is usually spread across dashboards, SQL queries, dbt models, BI tools, tickets, documentation, Slack threads and people&#8217;s heads.</p><p>That is why AI needs semantics.</p><p>We wrote about this in <a href="https://journey.getsolid.ai/p/autogeneration-of-a-semantic-layer">Autogeneration of a semantic layer - the key for AI/BI</a>, where we argued that AI needs a business-aware layer between users and data. </p><h2>Manual creation of semantics will get you nowhere</h2><p>We wrote about it 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>: the obvious failure mode is already familiar: companies will try to manually document everything, and the documentation will immediately start going stale.</p><p>That is the important part. The semantic layer AI needs cannot be another manual project.</p><p>Enterprises have too much data, too many systems, too many dashboards, too many metric definitions and too many edge cases. A small team can manually define the top 20 metrics. Maybe the top 100. But enterprise AI needs much more than that. It needs to understand the full structured data estate, including cloud and on-prem systems, old and new platforms, BI and warehouse layers, operational systems and the business workflows around them.</p><p><strong>This is where auto-generated semantics become necessary.</strong></p><p>Not because an LLM should blindly invent your business definitions. That would be a terrible idea. Anthropic is right to point out that auto-generated metric definitions can look plausible while preserving the exact ambiguity you were trying to remove.</p><p>The answer is not &#8220;let the model guess.&#8221;</p><p>The answer is to generate semantics from the enterprise&#8217;s existing evidence: actual queries, dashboards, lineage, metadata, transformations, documentation, usage patterns, tickets and business context. Then score that evidence, reconcile conflicts, surface uncertainty and let <a href="https://journey.getsolid.ai/p/test-driven-semantic-models-the-missing">humans review, approve and own the definitions</a>.</p><p>That is very different from asking AI to hallucinate a metric layer from raw tables.</p><h2>But building an automated ain&#8217;t easy (<em>we</em> should know&#8230;)</h2><p>A heavily used executive dashboard connected to a curated model is a strong signal. A random query from three years ago is a weak signal. A dbt model with tests and lineage is a strong signal. A stale dashboard nobody opens is probably not. A ticket explaining why a metric changed last quarter may be more useful than a column description written five years ago.</p><p>The semantic layer should learn from all of this.</p><p>And it should keep learning, because the business keeps changing.</p><p><strong>This is where Solid is leading.</strong></p><p><strong>Solid was built around the belief that enterprise AI needs an enterprise-wide semantic foundation. Not a narrow layer inside one warehouse. Not a semantic model locked to one BI tool. Not a manual spreadsheet of metric definitions. A semantic layer that spans the full structured data set of the enterprise, across cloud and on-prem systems, and connects technical metadata with business meaning.</strong></p><p>That is the future Snowflake, Anthropic and Salesforce are all pointing toward.</p><p>Snowflake is saying agents need context. Anthropic is saying analytics needs trusted mappings between questions and data models. Salesforce is saying agentic AI needs a semantic layer.</p><p>We agree.</p><p>We would just add one more thing: in the enterprise, that semantic layer has to be generated, continuously maintained and connected to the full data estate. Otherwise it becomes another partial artifact that starts clean and slowly drifts away from reality.</p><p>AI will not succeed in the enterprise by guessing what the business means. It will succeed when it has a trusted semantic foundation.</p><p><strong>That is what we&#8217;ve been saying for over a year. And that is what Solid is building.</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><p></p>]]></content:encoded></item><item><title><![CDATA[Test Driven Semantic Models: the missing piece for AI analytics]]></title><description><![CDATA[Semantic models are being built backwards by people, and that's bad. Let's learn from software engineering and start from the tests.]]></description><link>https://journey.getsolid.ai/p/test-driven-semantic-models-the-missing</link><guid isPermaLink="false">https://journey.getsolid.ai/p/test-driven-semantic-models-the-missing</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Fri, 05 Jun 2026 13:02:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!b5H6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The software world figured out a long time ago that you don&#8217;t build reliable systems by writing code, shipping it, and hoping it works. <strong>You define what &#8220;correct&#8221; means first, then build toward it</strong>. That is the core idea behind Test Driven Development: write the test, write the code, make the test pass, improve the code, repeat.</p><p>Semantic models need the same shift.</p><p>If semantic models are going to power AI agents, Solid&#8217;s Text2SQL, BI tools, Snowflake Cortex, Databricks Genie, Looker, dbt, and every other analytics interface, &#8220;I think this model is right&#8221; is not good enough. <strong>We need Test Driven Semantic Modeling.</strong> And this is one of the most important innovations we&#8217;re building into Solid.</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>Semantic models are becoming production software</h2><p>Semantic layers used to be mostly about consistency. Define ARR once. Define active customer once. Make sure dashboards don&#8217;t contradict each other too badly. That is still important, but AI changes the stakes.</p><p>Now the semantic model is the thing standing between a business question and the SQL an AI system generates. If the model understands the business correctly, the AI has a chance. If it doesn&#8217;t, the AI confidently generates nonsense.</p><p><a href="https://trends.google.com/explore?q=semantic%20layer&amp;date=today%205-y&amp;geo=US">This is why everyone is suddenly talking about semantic models again</a>. The AI needs business context. But there is a hard truth underneath all the excitement: creating the model is hard, testing it is harder, and maintaining it over time is brutal.</p><p>Generation helps, and we&#8217;ve written before about why <a href="https://journey.getsolid.ai/p/autogeneration-of-a-semantic-layer">autogeneration of a semantic layer is key for AI/BI</a>. But generation alone is not enough. A generated model still needs to be validated.</p><h2>The old way does not scale</h2><p>Today, most semantic model work is painfully manual. A data team starts with warehouse tables, ambiguous columns, dashboard logic, dbt models, old SQL queries, and business definitions scattered across the company. Then they manually choose entities, define joins, write metrics, add descriptions, test a few questions, fix obvious issues, and ship.</p><p>Then production happens.</p><p>A user asks a question the model doesn&#8217;t understand. A column changes. A metric definition changes. The AI picks the wrong join path. The generated SQL returns the right-looking number for the wrong reason. Now the team has to debug everything manually.</p><p>This is not a scalable process. It is also not how we build serious software.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b5H6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b5H6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png 424w, https://substackcdn.com/image/fetch/$s_!b5H6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png 848w, https://substackcdn.com/image/fetch/$s_!b5H6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png 1272w, https://substackcdn.com/image/fetch/$s_!b5H6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b5H6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png" width="1456" height="863" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:863,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:489535,&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/200547635?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.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_!b5H6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png 424w, https://substackcdn.com/image/fetch/$s_!b5H6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png 848w, https://substackcdn.com/image/fetch/$s_!b5H6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.png 1272w, https://substackcdn.com/image/fetch/$s_!b5H6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdd9736e-9a26-4e86-b3bb-bcf00e37ddc3_2908x1724.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 TDD idea, translated to semantic models</h2><p>In software, a test defines expected behavior. For semantic models, the equivalent is a business question with expected SQL.</p><p>For example: &#8220;Which customers have high average daily balances but few open product types?&#8221;</p><p>That question is the test. The expected SQL is the ground truth. A semantic model passes only if the Text2SQL engine (such as <a href="https://www.getsolid.ai/solutions/solid-analyze">Solid Analyze</a>), using that model, generates SQL that returns the expected result and uses the right business logic.</p><p>That last part matters. It is not enough to accidentally return the same number. The SQL needs to use the right tables, joins, filters, and metric definitions. Otherwise, you don&#8217;t have correctness. You have luck.</p><p>This is what Solid Benchmarking does.</p><p>For every semantic model, Solid maintains a benchmark suite: business questions paired with expected SQL. These benchmarks can be generated automatically from historical SQL, added manually, imported in bulk, or promoted from real production questions asked through Solid&#8217;s MCP server. Solid then runs the questions, compares generated SQL to expected SQL, and shows what passed, what failed, and why.</p><p>That changes the workflow completely. Instead of building the model, hoping it works, finding out later, and fixing it manually, you get a loop: generate the model, run the benchmark, see what failed, apply fixes, run again, and save a better version.</p><p>That is red, green, refactor for semantic models.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YmZ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YmZ8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png 424w, https://substackcdn.com/image/fetch/$s_!YmZ8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png 848w, https://substackcdn.com/image/fetch/$s_!YmZ8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png 1272w, https://substackcdn.com/image/fetch/$s_!YmZ8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YmZ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png" width="1456" height="865" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:865,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:679848,&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/200547635?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.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_!YmZ8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png 424w, https://substackcdn.com/image/fetch/$s_!YmZ8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png 848w, https://substackcdn.com/image/fetch/$s_!YmZ8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.png 1272w, https://substackcdn.com/image/fetch/$s_!YmZ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87af7a6-3390-4eb4-8a83-b283ba4fcec6_2900x1722.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>Optimize turns failures into fixes</h2><p>A failing benchmark is useful, but only if it helps you improve the model. A question might fail because the model is missing a column, because the wrong join was selected, because a metric is ambiguous, or because the expected SQL is outdated.</p><p>This is where Solid&#8217;s Optimize capability matters.</p><p>Benchmark failures feed into Optimize. Solid analyzes the failures, identifies root causes, groups related issues, ranks them by impact, and recommends fixes. In most cases, the modeler can review and apply the fix with AI.</p><p>This turns semantic modeling into an operational loop, not a one-time project. You are not manually debugging generated SQL for hours. You are reviewing prioritized recommendations based on actual failures.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rLC_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rLC_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png 424w, https://substackcdn.com/image/fetch/$s_!rLC_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png 848w, https://substackcdn.com/image/fetch/$s_!rLC_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png 1272w, https://substackcdn.com/image/fetch/$s_!rLC_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rLC_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png" width="1456" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:540756,&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/200547635?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.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_!rLC_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png 424w, https://substackcdn.com/image/fetch/$s_!rLC_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png 848w, https://substackcdn.com/image/fetch/$s_!rLC_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.png 1272w, https://substackcdn.com/image/fetch/$s_!rLC_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f9d719-08c9-4f67-a980-e0797c3a9bf5_2914x1724.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>Production becomes part of the benchmark</h2><p>The best test suite is not only based on what you thought users would ask. It also learns from what users actually ask.</p><p>This is why the MCP usage loop is so important. When an AI agent uses Solid&#8217;s MCP server to answer business questions, Solid shows the questions asked, the SQL generated, and the answers returned. A modeler can take a real production question and add it directly to the benchmark suite.</p><p>Production teaches the model. The benchmark suite remembers.</p><p>This is how semantic models improve over time instead of slowly becoming stale.</p><h2>Versioning makes it safe</h2><p>Optimization without versioning is scary. What if a fix improves one question and breaks five others? What if accuracy drops after a change? What if the model worked last week and nobody knows what changed?</p><p>Solid&#8217;s Versioning closes that gap.</p><p>Benchmark runs are tied to specific model versions. If accuracy improves, you know which change helped. If accuracy drops, you can see which version introduced the regression and restore the previous one.</p><p>That creates the safety net semantic models have been missing. Benchmarking tells you whether the model is correct. Optimize tells you how to improve it. Versioning lets you make changes without fear.</p><h2>This is the real innovation</h2><p><strong>A lot of people focus on Solid&#8217;s ability to generate semantic models automatically.</strong> That makes sense. Seeing a model created in minutes is impressive.</p><p>But the deeper innovation is the lifecycle.</p><p>A semantic model is not a YAML file. It is not documentation. It is not a one-time artifact. It is production infrastructure. And production infrastructure needs tests, observability, optimization, versioning, and rollback.</p><p>Software engineering learned this lesson decades ago. Data teams should not have to relearn it the hard way.</p><p>The future of semantic modeling will look much more like modern software development: tests before trust, benchmarks before production, optimization based on failures, versioning for safety, and production feedback as fuel.</p><p>That is Test Driven Semantic Modeling.</p><p>And if AI analytics is going to move from impressive demos to trusted production systems, this is not a nice-to-have. It&#8217;s the foundation.</p><p>If you want to see this in action, <a href="https://www.getsolid.ai/contact">contact us</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[Building AI in a Regulated Enterprise: Lessons from UBS Wealth Management - Nondas Virvikatis]]></title><description><![CDATA[Yoni, our CEO & Co-Founder, recently sat down with Nondas Virvikatis, who leads product managers building AI capabilities for financial advisors at UBS Wealth Management Americas.]]></description><link>https://journey.getsolid.ai/p/building-ai-in-a-regulated-enterprise</link><guid isPermaLink="false">https://journey.getsolid.ai/p/building-ai-in-a-regulated-enterprise</guid><dc:creator><![CDATA[Yoni Leitersdorf]]></dc:creator><pubDate>Wed, 27 May 2026 13:01:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!N2Mk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_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_!N2Mk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N2Mk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!N2Mk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!N2Mk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!N2Mk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N2Mk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg" width="437" height="437" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6379560c-6fdf-4c1b-88cd-42bcaab6d719_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;:437,&quot;bytes&quot;:115430,&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/199392595?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_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_!N2Mk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!N2Mk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!N2Mk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_800x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!N2Mk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6379560c-6fdf-4c1b-88cd-42bcaab6d719_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>A few months ago, I started recording a podcast with leaders and influencers in our space, specifically ones who have worked to build something of substance with AI.</p><p>The latest episode I recorded is with <a href="https://www.linkedin.com/in/nondasvirvidakis">Nondas Virvikatis</a>. Nondas and I have known each other for a while, and I always enjoy speaking with him about AI, where things are going, what is actually working, and what is still painful. You can jump straight into the episode NOW: <a href="https://www.youtube.com/watch?v=YH0U1YcZ3LU&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=17">YouTube</a>, <a href="https://open.spotify.com/episode/2VYYNIHjQvx0k6ex51Y639">Spotify</a> and <a href="https://podcasts.apple.com/us/podcast/ai-advisors-and-the-future-of-wealth/id1839467012?i=1000769732433">Apple Podcasts</a>.</p><p>Nondas leads a team of product managers at UBS Wealth Management Americas, building AI capabilities for financial advisors in the US. Before that, he spent years across product, analytics and data, including in financial services and growth-stage startups.</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>AI is not replacing the financial advisor</h2><p>When most people hear &#8220;AI in wealth management&#8221;, their mind probably goes to ChatGPT managing their money, buying and selling stocks, and deciding what they should do with their portfolio.</p><p>That&#8217;s not what Nondas and his team are building.</p><p>Wealth management is a relationship-heavy business. Financial advisors understand the client&#8217;s financial goals, tax situation, estate planning needs, personal context, risk appetite and life goals. In the US, Nondas explained, financial advisors often operate almost like entrepreneurs. Their client relationships are deeply tied to them.</p><p>So the goal is not to replace the advisor.</p><p>As Nondas put it, &#8220;AI is not going to replace the humans in this industry, but people who use AI will replace the people who don&#8217;t use AI.&#8221;</p><p>That framing is important. AI is not the product. The financial advisor is still the product, in many ways. AI is the leverage.</p><p>This is similar to how I think about AI in analytics. We&#8217;ve written before that <a href="https://journey.getsolid.ai/p/throwing-away-bi-is-a-bad-idea">throwing away BI is a bad idea</a>, and that blindly giving business users an unchecked chatbot can be dangerous. The better path is usually augmentation: help humans do the work faster, better and with more confidence.</p><p>That same idea applies here.</p><p>A good advisor still needs to sit with the client, understand them, calm them down when markets are chaotic, explain tradeoffs, and help them make decisions. AI can help the advisor prepare better, find information faster, personalize service and operate more effectively.</p><p>But you still want the human in the loop.</p><h2>Generic AI gets you part of the way. Specialized AI gets you further.</h2><p>We also talked about the difference between generic AI tools, like <a href="https://www.microsoft.com/en-us/microsoft-365/copilot">Microsoft 365 Copilot</a>, and more specialized tools built for a specific workflow.</p><p>Nondas sees both as valuable.</p><p>Generic AI tools can help with productivity. They can write, summarize, help create questionnaires, draft interview questions, prepare for internal presentations, process information and generally accelerate knowledge work.</p><p>But in a regulated, high-stakes environment, &#8220;good enough&#8221; is not always good enough.</p><p>There are cases where a generic tool gets you 80% of the way there. That&#8217;s useful. But there are also cases where you need much higher certainty, stronger control, better data integration, better evaluation and workflow-specific behavior.</p><p>This is very aligned with what we see in data and analytics. General-purpose AI is amazing, but when you want to connect it to enterprise data, definitions, dashboards, metrics and permissions, you need more than a generic chatbot. You need context, governance, evals, observability and a workflow that understands the job to be done.</p><p>That&#8217;s why we spend so much time thinking about <a href="https://journey.getsolid.ai/p/autogeneration-of-a-semantic-layer">semantic layers for AI</a>, <a href="https://journey.getsolid.ai/p/testing-solids-chat-how-we-do-evals">evals</a> and how to keep a close eye on AI behavior with tools like LangSmith.</p><p>The same is true in wealth management.</p><p>Copilot is useful. But if you want AI to support financial advisors in specific client workflows, with firm-specific data, policies, expectations and risk controls, you need specialized products.</p><h2>The Chief AI Officer is not just a fancy title</h2><p>We talked about the rise of the Chief AI Officer role. Someone on LinkedIn once joked that having a Chief AI Officer today is like having a Chief Electricity Officer 100 years ago.</p><p>Funny. Also, not completely wrong.</p><p>But in a large enterprise, especially a regulated one, the role makes sense.</p><p>Nondas described it as a hub-and-spoke model. The central AI organization helps with tooling, training, infrastructure, responsible AI, governance, communities of practice and avoiding 20 teams building the same thing 20 times.</p><p>Then each business area figures out how to apply those capabilities to its own workflows.</p><p>That balance matters.</p><p>If everything is centralized, AI becomes too detached from the business. You get platform teams building impressive capabilities that no one uses.</p><p>If everything is decentralized, every team reinvents the wheel, risk management becomes impossible, and the enterprise ends up with chaos.</p><p>The winning model is somewhere in the middle: central enablement, local execution.</p><p>That feels right to me.</p><p>We&#8217;ve seen similar patterns in data. A central data team can build the foundation, governance and core assets, but the business value usually happens closer to the workflow. The people who understand the work need to be close to the AI.</p><h2>Adoption is a product problem</h2><p>One of the most interesting parts of the conversation was not technical at all.</p><p>Nondas emphasized that building the technology is not enough. You need communication. Training. Repetition. Champions. Use cases. Feedback loops. Follow-up.</p><p>Financial advisors, as he said, are wired to sell. They are not wired to adopt new technology just because a product team shipped it.</p><p>This is such an important point.</p><p>Many enterprise AI efforts fail not because the model is bad, but because the rollout is bad.</p><p>People need to understand:</p><ul><li><p>Why should I use this?</p></li><li><p>How are my peers using it?</p></li><li><p>What does &#8220;good&#8221; look like?</p></li><li><p>When should I trust it?</p></li><li><p>When should I not trust it?</p></li><li><p>What happens if it fails?</p></li></ul><p>Nondas and his team spend a lot of time close to the field, speaking with users, collecting feedback, identifying champions, and sharing use cases across teams.</p><p>This is exactly the mindset I think enterprise AI needs. You cannot just launch and hope for the best. AI adoption is not a Slack announcement.</p><p>It&#8217;s a product motion.</p><p>And the users of internal AI tools should be treated like customers. You look at usage. You segment users. You interview power users. You interview people who dropped off. You ask what changed. You figure out what triggered adoption or abandonment.</p><p>That applies whether you&#8217;re building AI for financial advisors, analysts, salespeople, product managers or engineers.</p><h2>The technical problems are still very real</h2><p>Of course, there are also plenty of technical challenges.</p><p>Nondas called out a few:</p><ul><li><p>Data availability</p></li><li><p>Data quality and readiness</p></li><li><p>Performance</p></li><li><p>Evals</p></li><li><p>Feedback loops</p></li><li><p>Fallback processes</p></li><li><p>Risk controls</p></li></ul><p>That list should sound familiar to anyone building AI inside an enterprise.</p><p>The application layer may look simple. A user asks a question. AI gives an answer. Magic.</p><p>But underneath, there is a lot of plumbing. Do you have the right data? Is it permissioned correctly? Is it fresh? Is the answer good enough? How do you know? What happens when the model is wrong? How do users report issues? Can they fall back to a traditional process?</p><p>This is why I keep saying that AI for enterprise workflows is much harder than demos make it look.</p><p>A demo can be built in a weekend.</p><p>A production-grade enterprise AI system needs to survive contact with messy data, real users, security teams, compliance teams and business expectations.</p><p>As we wrote in <a href="https://journey.getsolid.ai/p/almost-no-ai-in-production">(Almost) no AI in production</a>, there&#8217;s still a huge gap between experimentation and production. Nondas&#8217; experience reflects that gap, but also shows how serious organizations are starting to cross it.</p><h2>Regulated environments need levels of freedom</h2><p>One of the tensions we discussed is the gap between what you can do at home and what you can do inside a large bank.</p><p>At home, you can vibe code freely. Open Claude, Cursor, Gemini, ChatGPT, connect things, upload files, build little tools, burn tokens, break stuff, fix stuff, start over.</p><p>Inside a major financial institution, that freedom has to be constrained.</p><p>And rightfully so.</p><p>Nondas described a useful mental model: the broader the impact, the stronger the controls should be.</p><p>If you are using AI for yourself, the risk is smaller. You can have more freedom.</p><p>If you are building something that affects your team, you need more structure.</p><p>If you are building something that affects clients, advisors or the broader firm, you need real controls, approvals, model risk management and governance.</p><p>That makes sense.</p><p>The trick is not to eliminate freedom. If you do that, you kill innovation.</p><p>The trick is to match the level of control to the level of risk.</p><p>Small blast radius, more freedom.</p><p>Large blast radius, more control.</p><p>That is probably the right way to let enterprise AI grow without letting it blow up.</p><h2>Copilot, Gemini and the &#8220;can I do this faster?&#8221; habit</h2><p>Nondas also shared a very practical habit that I loved.</p><p>Every time he is about to do something on his computer, he asks himself whether he could do it faster or better with AI.</p><p>That&#8217;s it.</p><p>That habit alone probably separates people who really benefit from AI from people who just occasionally open a chatbot.</p><p>He uses AI to draft questionnaires, prepare interview questions, work on internal presentations, process data and support both professional and personal workflows. In his personal life, he uses <a href="https://gemini.google.com/">Gemini</a> heavily because his personal ecosystem is already in Google. At work, his professional context lives more in Microsoft tools.</p><p>His comment was great: &#8220;your imagination and your connectors, I think, are your two limitations.&#8221;</p><p>That is exactly right.</p><p>The model matters. But the connectors matter too.</p><p>If AI has access to your calendar, files, documents, messages, data and workflows, it becomes dramatically more useful. If it is disconnected from everything, you spend your life copying and pasting.</p><p>This is why the next few years will likely involve a massive amount of work around APIs, connectors and workflow integration.</p><p>The chatbot window is useful. The connected AI system is much more useful.</p><h2>Vibe coding is addictive</h2><p>We ended up talking about something I think many of us are experiencing, but maybe don&#8217;t always admit.</p><p>Vibe coding is addictive.</p><p>Nondas described building personal tools with <a href="https://claude.ai/">Claude</a> and Claude Code, including an asset aggregator across accounts in Greece and the US, and even a networking database that could help match people in his network based on what they need.</p><p>I immediately understood the feeling.</p><p>You sit there. You prompt. It builds. It fails. You prompt again. It gets closer. You prompt again. Suddenly your wife is telling you that you need to leave, and you&#8217;re saying, &#8220;just one more prompt.&#8221;</p><p>It feels like an arcade machine, except instead of putting in coins, you&#8217;re burning tokens.</p><p>There is something very powerful about having a machine work with you in real time. It is not passive software. It responds. It tries. It improves. It sometimes frustrates you. It sometimes surprises you.</p><p>And yes, sometimes it goes too far.</p><p>Nondas made a great point about models overthinking or continuing too long before checking whether they are on the right path. His approach is to constrain the work: do this for three profiles first, let me review it, then scale it.</p><p>That&#8217;s a good lesson for all of us.</p><p>Treat AI like a junior teammate. Give it enough room to be useful, but don&#8217;t let it run 500 miles in the wrong direction before checking in.</p><h2>AI is not cheating</h2><p>In the lightning round, I asked Nondas for an AI myth he would bust.</p><p>His answer was that people should stop feeling uncomfortable admitting they used AI to get to an outcome.</p><p>I strongly agree.</p><p>There is still a weird stigma around using AI, as if using it means you didn&#8217;t really do the work.</p><p>That&#8217;s nonsense.</p><p>Of course, don&#8217;t plagiarize. Don&#8217;t blindly submit something you didn&#8217;t review. Don&#8217;t pretend you wrote every word by hand if you didn&#8217;t.</p><p>But using AI to think, draft, analyze, improve, summarize, structure, code, research or prepare is not cheating.</p><p>It&#8217;s using a tool.</p><p>In a few years, I think this stigma will look silly. Just like no one says you cheated because you used Excel instead of doing math on paper.</p><p>The question won&#8217;t be whether you used AI.</p><p>The question will be whether the output was good.</p><h2>The next five years: connectors, connectors, connectors</h2><p>When I asked Nondas for one AI prediction for the next five years, he made it conditional.</p><p>If we invest more in APIs and connectivity between applications, AI will really take off.</p><p>I think he&#8217;s right.</p><p>Models will keep improving. But for enterprise use, the bigger unlock may be access. AI needs to connect to the systems where work happens.</p><p>CRM. BI. Data warehouses. Documents. Email. Calendar. Ticketing systems. Product tools. Financial systems. Workflow engines.</p><p>Once AI can securely and reliably operate across those systems, the value changes.</p><p>It stops being a chatbot.</p><p>It becomes a worker.</p><p>Not a replacement for humans, at least not in most of the enterprise workflows we discussed. But a worker that can help humans move faster, make better decisions and spend less time fighting the machinery around them.</p><p>That&#8217;s the direction we&#8217;re all heading.</p><p>I thank Nondas for spending the time with me on the podcast. You can listen to our conversation on <a href="https://www.youtube.com/watch?v=YH0U1YcZ3LU&amp;list=PLbv8iE4uPm9bMtJ88EL2BOx1KVUawyRqW&amp;index=17">YouTube</a>, <a href="https://open.spotify.com/episode/2VYYNIHjQvx0k6ex51Y639">Spotify</a> and <a href="https://podcasts.apple.com/us/podcast/ai-advisors-and-the-future-of-wealth/id1839467012?i=1000769732433">Apple Podcasts</a>.</p><p>In the meantime, if you would like to learn more about Solid, <a href="https://www.getsolid.ai/contact">reach out to us</a>.</p><p>Thanks for reading Building an AI-powered Analytics Startup! Subscribe for free to receive new posts and follow our journey.</p>]]></content:encoded></item><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></channel></rss>