<?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[Next in Data]]></title><description><![CDATA[Where data meets direction | by KI DataLab]]></description><link>https://blog.kidatalab.com</link><image><url>https://substackcdn.com/image/fetch/$s_!m7fA!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f993b6e-4355-4b87-8efd-26364e322cde_812x812.png</url><title>Next in Data</title><link>https://blog.kidatalab.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 30 Apr 2026 10:03:58 GMT</lastBuildDate><atom:link href="https://blog.kidatalab.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[NextInData]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[nextindata@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[nextindata@substack.com]]></itunes:email><itunes:name><![CDATA[Nazan | NextInData]]></itunes:name></itunes:owner><itunes:author><![CDATA[Nazan | NextInData]]></itunes:author><googleplay:owner><![CDATA[nextindata@substack.com]]></googleplay:owner><googleplay:email><![CDATA[nextindata@substack.com]]></googleplay:email><googleplay:author><![CDATA[Nazan | NextInData]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Story Behind KI-Tax: A Free Canadian🇨🇦 Tax Estimator for Self-Employed People]]></title><description><![CDATA[How I Built KI-Tax: A Free Canadian Tax Estimator for Self-Employed People]]></description><link>https://blog.kidatalab.com/p/the-story-behind-ki-tax-a-free-canadian</link><guid isPermaLink="false">https://blog.kidatalab.com/p/the-story-behind-ki-tax-a-free-canadian</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Fri, 17 Apr 2026 14:35:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0Rxu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week I wrote about KI-Tax, a free tax estimator I built for self-employed Canadians. A few people asked how it was built, what the stack looks like, and what the process was actually like. So here&#8217;s the story. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><h4>Where it started</h4><p>It started the same way a lot of side projects start, with a problem I couldn&#8217;t find a good solution to. I wanted to understand my own taxes as a self-employed person in Quebec. I tried building an Excel sheet first, which worked until it didn&#8217;t. Then I looked at existing free tools and found most of them were built for employees, not for people running their own business. So in December, I put together a very basic first version in Streamlit, just enough to answer my own questions. It was rough. It only covered QC, the QPP calculation wasn&#8217;t fully correct, and it didn&#8217;t explain much. But it worked well enough to show me the shape of what I actually wanted to build. So I kept going. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Rxu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Rxu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png 424w, https://substackcdn.com/image/fetch/$s_!0Rxu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png 848w, https://substackcdn.com/image/fetch/$s_!0Rxu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png 1272w, https://substackcdn.com/image/fetch/$s_!0Rxu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Rxu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png" width="1456" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:159017,&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://nextindata.substack.com/i/193371689?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.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_!0Rxu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png 424w, https://substackcdn.com/image/fetch/$s_!0Rxu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png 848w, https://substackcdn.com/image/fetch/$s_!0Rxu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.png 1272w, https://substackcdn.com/image/fetch/$s_!0Rxu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ccf92af-aa52-4364-ab21-7b3039be3407_1510x911.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">A screenshot from KI-Tax</figcaption></figure></div><h4>The tech stack</h4><p>Nothing exotic here. The whole thing is built with:</p><ul><li><p><strong>Python:</strong> core logic, all tax calculations.</p></li><li><p><strong>Streamlit:</strong> app framework and structure. Streamlit&#8217;s native components are fine for quick prototypes but they have real UI limitations when you want something that looks finished. So a meaningful chunk of the visual layer, the metric cards, the breakdown table, the styling, is hand-written HTML and CSS injected directly inside Streamlit. Not the most elegant approach but it gets the job done and gives you control that native Streamlit components simply don&#8217;t offer.</p></li><li><p><strong>Plotly:</strong> the charts. The donut chart for income distribution is straightforward. The Sankey diagram was a deliberate choice, it traces every dollar from gross income through expenses, contributions, and taxes to take-home pay in a way that&#8217;s immediately readable even if you&#8217;ve never looked at a tax breakdown before. An accountant doesn&#8217;t need it but someone trying to understand their taxes for the first time does.</p></li><li><p><strong>Pandas:</strong> expense tracking and data handling.</p></li></ul><p>The tax data lives in a separate Python file as structured dictionaries, federal brackets, all 13 provincial bracket tables, Basic Personal Amounts, CPP and QPP data. No database, no JSON files, just clean Python dictionaries. Simple, readable, and easy to update when rates change every year. Keeping it completely separate from the calculation logic was one of the better early decisions, it means updating 2026 rates next year is a straightforward data change with no risk of touching the calculation logic. </p><p>The whole thing is deployed on Railway on the free tier for now. Straightforward setup, no surprises.</p><h4>The hardest part: verification</h4><p>Building the UI was the easy part. The hard part, genuinely the most time-consuming and at times frustrating part of this whole project, was making sure the numbers were actually right.</p><p>Canadian tax is deceptively complicated. On the surface it looks straightforward: progressive brackets, apply the Basic Personal Amount, done. But the details add up quickly. CPP has two tiers now with different deductibility rules. QPP in Quebec has an additional first tier contribution that most calculators miss entirely. The Quebec federal abatement needs to be applied to pre-credit federal tax, not post-credit. Ontario has a surtax and a Health Premium that are separate calculations. Alberta introduced a new 8% bracket in 2025. Provincial Basic Personal Amounts vary across all 13 jurisdictions and several of them changed for 2025. GST and HST rates differ by province and Nova Scotia quietly reduced its HST from 15% to 14% in April 2025.</p><p>Every one of those things had to be found, verified, and cross-checked. My process for this was layered, I used both Claude and Gemini to check the logic and flag potential errors, then verified every number against official sources: the CRA website, Revenu Qu&#233;bec, provincial government pages, and trusted third-party references like TaxTips.ca. This sounds methodical but in practice it meant a lot of back and forth, a lot of &#8220;wait, that doesn&#8217;t match what the CRA page says,&#8221; and more than a few cases where one AI flagged something the other missed, or where both were wrong and the official source was the only thing that settled it. The QPP first additional contribution debate is a good example, there was genuine ambiguity about whether 10.8% or 12.8% was the right self-employed rate depending on how you interpreted &#8220;base rate,&#8221; and it took going directly to Revenu Qu&#233;bec&#8217;s own documentation to confirm the correct answer and understand exactly why.</p><p>I used AI assistance throughout the build, for logic checks, catching errors, and as a starting point for research. But I treated every AI output as a first draft that needed verification, not a final answer. For something like tax calculations where being wrong has real consequences for real people, that extra layer of checking against authoritative sources wasn&#8217;t optional. It was the whole point.</p><p>The final sanity check was running manual calculations for three provinces(Ontario, Quebec, and Alberta) at $80,000 gross income with no expenses, verifying every single component by hand against CRA published figures, and confirming the tool&#8217;s output matched to the cent. That&#8217;s when I felt confident enough to share it.</p><h4>What&#8217;s next</h4><p>Honestly? Not much in terms of features, at least not immediately. This tool was built for me and for other self-employed people in Canada who just want to understand their taxes without paying for software or hiring an accountant for a back-of-envelope estimate. It&#8217;s free, it&#8217;s going to stay free, and there are no plans to monetize it. No premium tier, no subscription, no ads.</p><p>What I will do is update it with 2026 rates when they&#8217;re confirmed, probably toward the end of the year when CRA and the provinces finalize their numbers. So if you&#8217;re bookmarking it for next year, it&#8217;ll be there and it&#8217;ll be current. </p><p>If you also build tools, I&#8217;d be curious what you would have built differently. Different stack, different architecture, different trade-offs. There&#8217;s no single right way to go from a messy Excel sheet to a deployed tool and I think those decisions are worth talking about.</p><p>If you haven&#8217;t read my previous post, you can read it <strong><a href="https://nextindata.substack.com/p/i-built-a-free-canadian-tax-estimator">here</a></strong>. </p><p>If you&#8217;re self-employed in Canada and haven&#8217;t tried it yet, access the tool <strong><a href="https://ki-datalab.kit.com/e2733924a6">here</a>.</strong></p><p>If you&#8217;d rather read how it works before diving in, there&#8217;s a full user guide <strong><a href="https://www.kidatalab.com/ki-tax/usermanual">here</a>.</strong></p><p>If you have any questions or any feedback let&#8217;s chat in the comments. </p><p><em>Important Disclaimer: This tool provides estimates only based on publicly available 2025 Canadian federal and provincial tax data. It does not account for all tax situations (e.g. RRSP deductions, disability credits, provincial surtaxes, investment income, capital gains, etc.). Always consult a licensed Chartered Professional Accountant (CPA) for accurate, personalized tax advice. Use at your own risk. The CRA and Revenu Qu&#233;bec are the authoritative sources for all tax obligations.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/the-story-behind-ki-tax-a-free-canadian/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/the-story-behind-ki-tax-a-free-canadian/comments"><span>Leave a comment</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI Didn't Teach Me to Code But It Changed How I Build]]></title><description><![CDATA[A data scientist's honest take on what AI actually changes about the work, and what it doesn't.]]></description><link>https://blog.kidatalab.com/p/ai-didnt-teach-me-to-code-but-it</link><guid isPermaLink="false">https://blog.kidatalab.com/p/ai-didnt-teach-me-to-code-but-it</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Sun, 12 Apr 2026 16:09:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4a5d179f-05b0-439e-90db-21d441e36ca0_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been working with data for over 13 years. I started as an analyst, Excel sheets, pivot tables, the works. 3 years later I moved into Python, did a Master&#8217;s in Data Science, and over time built up a way of working that felt natural to me. I had a comfortable, established process. I knew how to get from a problem to a solution, but it was a manual, linear path. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p>Then AI coding assistants became actually useful. And something shifted, not in what I could do, but in how fast I could do it and what the end result looked like. I want to be honest about what that shift actually means in practice, because the current conversation tends to swing between &#8220;magic&#8221; and &#8220;useless,&#8221; missing the nuance of the middle ground.</p><h4>The part nobody talks about</h4><p>AI is genuinely useful to me when I already understand the problem. When I know what I&#8217;m trying to build, what the constraints are, what the right approach looks like, AI helps me get there faster. It fills in the gaps, handles the parts I&#8217;d otherwise spend an hour Googling, and helps me move from idea to working code without losing momentum.</p><p>But when I don&#8217;t fully understand the problem, AI makes things worse, not better. It gives me answers, confident, well-formatted, plausible-sounding answers that go in the wrong direction. And if you don&#8217;t have the background to recognize that, you can spend a lot of time going down the wrong path very efficiently.</p><p>This is the part that doesn&#8217;t get said enough: AI is a speed multiplier, but only on top of existing knowledge. It doesn&#8217;t replace understanding the problem. It doesn&#8217;t replace knowing your options. It doesn&#8217;t replace the judgment that comes from years of doing the work.</p><h4>What it actually changed for me</h4><p>I&#8217;ll give you a concrete example. I recently built KI-Tax, a free tax estimator for self-employed Canadians. It started as an Excel sheet, which is honestly where a lot of my projects start. I knew Python, I knew Streamlit, I knew enough HTML and CSS to build a decent UI. What AI helped me do was glue those things together faster, catch errors in logic I might have missed, and move from a rough December prototype to a properly built tool covering all 13 Canadian provinces in a fraction of the time it would have taken me before.</p><p>But here&#8217;s the thing, the hardest part of that project had nothing to do with code. It was verifying the tax logic. Canadian tax rules are genuinely complicated, and I used both Claude and Gemini to cross-check calculations, then verified everything against official CRA and Revenu Qu&#233;bec sources anyway. Because AI got things wrong, sometimes confidently wrong. Knowing enough about the subject to catch those errors was the difference between a tool that works and one that gives people bad numbers about their taxes. That&#8217;s not a small distinction.</p><p>I&#8217;m currently working on an RFM analysis project, customer segmentation work that I&#8217;ve done variations of many times over the years. Before, I&#8217;d have a working prototype or an MVP with a rough interface. Now I&#8217;m building a proper UI for it, something that actually looks like a finished product rather than an analyst&#8217;s internal tool. AI is helping me get there. But the analysis itself, the decisions about how to structure it, what to surface, what matters, that&#8217;s still coming from a decade-plus of seeing how these models actually perform in production.</p><h4>What I&#8217;d actually say to someone earlier in their career</h4><p>Learn the fundamentals first. Seriously. Not because AI won&#8217;t help you, of course it will, but because without that foundation, you have no way of knowing when it&#8217;s actually helping or just leading you into a hallucination. The people getting the most out of these tools are the ones who could have solved the problem without them; it just would have taken longer. AI didn&#8217;t make me a better data scientist. It made a competent data scientist faster. That&#8217;s a massive shift, but we should be honest about which one it actually is. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/ai-didnt-teach-me-to-code-but-it/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/ai-didnt-teach-me-to-code-but-it/comments"><span>Leave a comment</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[I built a free Canadian🇨🇦 tax estimator for self-employed people]]></title><description><![CDATA[I built a free Canadian tax estimator for self-employed people and I'd love your feedback.]]></description><link>https://blog.kidatalab.com/p/i-built-a-free-canadian-tax-estimator</link><guid isPermaLink="false">https://blog.kidatalab.com/p/i-built-a-free-canadian-tax-estimator</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Sun, 05 Apr 2026 23:34:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9ee51484-66a8-43e5-b156-05230b6e0036_1024x1124.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A while back I was trying to get a handle on what I actually owed in taxes as a self-employed person. My first instinct was to build an Excel sheet, map out the brackets, throw in some formulas, see what came out. That worked okay until I realized I was missing things: the QPP self-employment contribution, the deductible portion versus the tax credit portion, provincial differences, quarterly installments. The sheet kept growing and I kept finding new edge cases. I looked at the free tools available online but most of them are built for employees, they don&#8217;t really account for the way self-employment income works, or they lump everything together in a way that makes it hard to understand why the number is what it is.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p>So back in December I built a first version of the tool in Streamlit, nothing fancy, just enough to answer my own questions. But the more I used it, the more gaps I noticed. It only covered Quebec, the QPP calculation wasn&#8217;t fully right, and it didn&#8217;t really explain anything, it just produced a number. So I kept working on it. I added all 13 provinces and territories, got the tax calculations properly verified, built out the expense tracker, added the charts, and made sure the breakdown was clear enough that someone with no tax background could actually follow it. A few months later, here we are. I&#8217;m sharing it now because if I was this confused sorting out my own taxes, I figure other people probably are too, and I&#8217;d rather put something useful out there than keep it to myself. </p><h4>Here&#8217;s how it works</h4><p>You start by selecting your province and entering your gross income, the total amount your clients paid you this year, before anything is taken out. That&#8217;s it to get your first estimate. Everything updates instantly as you type, so you can play with numbers and see the impact in real time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TaVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TaVW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png 424w, https://substackcdn.com/image/fetch/$s_!TaVW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png 848w, https://substackcdn.com/image/fetch/$s_!TaVW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png 1272w, https://substackcdn.com/image/fetch/$s_!TaVW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TaVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png" width="372" height="498" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:498,&quot;width&quot;:372,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26764,&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://nextindata.substack.com/i/193261063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.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_!TaVW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png 424w, https://substackcdn.com/image/fetch/$s_!TaVW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png 848w, https://substackcdn.com/image/fetch/$s_!TaVW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.png 1272w, https://substackcdn.com/image/fetch/$s_!TaVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc9aba4c-6d13-4036-86a8-3c45c5de9343_372x498.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">Select Province and enter your gross income.</figcaption></figure></div><p>From there, you can track your business expenses. This is where things get interesting for a lot of self-employed people, your expenses directly reduce the income you&#8217;re taxed on, so keeping track of them matters. The tool uses the same expense categories as the CRA&#8217;s T2125 form, which is the form self-employed people file at tax time. Things like advertising, professional fees, home office costs, travel, software subscriptions, you add them in, and the tool adjusts your estimate accordingly. Meals and entertainment are automatically handled at the CRA&#8217;s 50% deductible rule so you don&#8217;t have to think about it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1CM3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1CM3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 424w, https://substackcdn.com/image/fetch/$s_!1CM3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 848w, https://substackcdn.com/image/fetch/$s_!1CM3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 1272w, https://substackcdn.com/image/fetch/$s_!1CM3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1CM3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png" width="375" height="898" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:898,&quot;width&quot;:375,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48942,&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;:false,&quot;internalRedirect&quot;:&quot;https://nextindata.substack.com/i/193261063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.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_!1CM3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 424w, https://substackcdn.com/image/fetch/$s_!1CM3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 848w, https://substackcdn.com/image/fetch/$s_!1CM3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 1272w, https://substackcdn.com/image/fetch/$s_!1CM3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70ae30b1-e3b4-4c0e-9934-5130963ae870_375x898.png 1456w" sizes="100vw"></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">You can upload your expenses from a csv file or add them one by one.</figcaption></figure></div><p>Once you&#8217;ve entered your income and expenses, the tool shows you a full summary: your net business income, your taxable income after deductions, your federal tax, your provincial tax, your CPP/QPP contribution, your total tax bill, and what you actually take home. Each number is explained so you can understand what it represents and why it&#8217;s there, not just a black box spitting out a result. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hrxQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hrxQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png 424w, https://substackcdn.com/image/fetch/$s_!hrxQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png 848w, https://substackcdn.com/image/fetch/$s_!hrxQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png 1272w, https://substackcdn.com/image/fetch/$s_!hrxQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hrxQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png" width="1421" height="751" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b51f6340-be7c-49f3-92ce-352545825328_1421x751.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:1421,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88577,&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://nextindata.substack.com/i/193261063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.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_!hrxQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png 424w, https://substackcdn.com/image/fetch/$s_!hrxQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png 848w, https://substackcdn.com/image/fetch/$s_!hrxQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.png 1272w, https://substackcdn.com/image/fetch/$s_!hrxQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb51f6340-be7c-49f3-92ce-352545825328_1421x751.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">Expense Tracker table</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WxLu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WxLu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png 424w, https://substackcdn.com/image/fetch/$s_!WxLu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png 848w, https://substackcdn.com/image/fetch/$s_!WxLu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png 1272w, https://substackcdn.com/image/fetch/$s_!WxLu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WxLu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png" width="1402" height="588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:588,&quot;width&quot;:1402,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104179,&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://nextindata.substack.com/i/193261063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.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_!WxLu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png 424w, https://substackcdn.com/image/fetch/$s_!WxLu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png 848w, https://substackcdn.com/image/fetch/$s_!WxLu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.png 1272w, https://substackcdn.com/image/fetch/$s_!WxLu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2191e473-b906-4ecb-b64a-e8053a61a91a_1402x588.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">Tax summary with installment info.</figcaption></figure></div><p>There&#8217;s also a visual section with two charts. The first is a simple donut chart showing what percentage of your income goes where, federal tax, provincial tax, CPP/QPP, and take-home pay. The second is a flow diagram that traces every dollar from your gross income through expenses, contributions, and taxes all the way to your pocket. If you&#8217;ve ever wondered &#8220;where did my money go,&#8221; that diagram answers it pretty clearly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vs-n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vs-n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png 424w, https://substackcdn.com/image/fetch/$s_!Vs-n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png 848w, https://substackcdn.com/image/fetch/$s_!Vs-n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png 1272w, https://substackcdn.com/image/fetch/$s_!Vs-n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vs-n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png" width="1363" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:1363,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:109346,&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://nextindata.substack.com/i/193261063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.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_!Vs-n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png 424w, https://substackcdn.com/image/fetch/$s_!Vs-n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png 848w, https://substackcdn.com/image/fetch/$s_!Vs-n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.png 1272w, https://substackcdn.com/image/fetch/$s_!Vs-n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6855e0-5f85-4d75-82af-833ed1809199_1363x853.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">Donut chart</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EcYF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EcYF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png 424w, https://substackcdn.com/image/fetch/$s_!EcYF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png 848w, https://substackcdn.com/image/fetch/$s_!EcYF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png 1272w, https://substackcdn.com/image/fetch/$s_!EcYF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EcYF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png" width="1397" height="846" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:846,&quot;width&quot;:1397,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107400,&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://nextindata.substack.com/i/193261063?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.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_!EcYF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png 424w, https://substackcdn.com/image/fetch/$s_!EcYF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png 848w, https://substackcdn.com/image/fetch/$s_!EcYF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.png 1272w, https://substackcdn.com/image/fetch/$s_!EcYF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab709c4-3a48-4d1b-8796-662d476d9a93_1397x846.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">Sankey diagram</figcaption></figure></div><p>One thing I found really useful personally is the quarterly installment planner. As a self-employed person in Canada, if your income tax owing exceeds $3,000, or $1,800 if you&#8217;re in Quebec,  you&#8217;re required to make quarterly payments to the CRA (or Revenu Qu&#233;bec) throughout the year rather than paying everything in April. The tool checks your estimate against the threshold for your province and tells you whether you need to be making payments, how much per quarter, and when the due dates are. It sounds obvious but it genuinely surprised me the first time I realized I should have been doing this. Quebec was actually one of the trickier provinces to get right in general,  between the QPP instead of CPP, the federal tax abatement, and Revenu Qu&#233;bec&#8217;s own thresholds and rules, there are more moving parts than most other provinces. But everything is handled automatically regardless of where you are, whether you&#8217;re in Ontario, BC, Alberta, Quebec, or anywhere else in the country, the tool picks up the right rates, thresholds, and rules for your province the moment you select it.</p><p>Finally, you can export all your tracked expenses as a CSV file and reload them next time. It&#8217;s not accounting software, <strong>it doesn&#8217;t save automatically</strong>, but it means you don&#8217;t have to start from scratch every time you open it. </p><p>One last thing worth mentioning, the tool doesn&#8217;t collect or store any data whatsoever. No account, no tracking, no analytics on what you enter. Your income and expenses stay in your browser and disappear when you close the tab. I think that&#8217;s the right way to build something like this, especially when people are entering sensitive financial information. What you type is yours.</p><p>If you&#8217;d like to try it, just drop your email at the link below and I&#8217;ll send you the access link right away. No spam, no waitlist, just the tool.</p><p>Try it <strong><a href="https://ki-datalab.kit.com/e2733924a6">here</a></strong>.</p><p>You can also find the user manual <strong><a href="https://www.kidatalab.com/ki-tax/usermanual">here</a></strong>.</p><p><strong>PS: Please use it on your desktop. </strong></p><p>And if you do try it, I&#8217;d genuinely love to hear what you think. What&#8217;s useful, what&#8217;s confusing, what&#8217;s missing, drop a comment below or reply to this post. This is very much a work in progress and honest feedback is the most useful thing you can send my way. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/i-built-a-free-canadian-tax-estimator/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/i-built-a-free-canadian-tax-estimator/comments"><span>Leave a comment</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p><em>Important Disclaimer: This tool provides estimates only based on publicly available 2025 Canadian federal and provincial tax data. It does not account for all tax situations (e.g. RRSP deductions, disability credits, provincial surtaxes, investment income, capital gains, etc.). Always consult a licensed Chartered Professional Accountant (CPA) for accurate, personalized tax advice. Use at your own risk. The CRA and Revenu Qu&#233;bec are the authoritative sources for all tax obligations. </em></p>]]></content:encoded></item><item><title><![CDATA[Is Your AI Habit Giving You “Brain Fry”?]]></title><description><![CDATA[Insights from a new HBR study on the cognitive costs of the AI-driven workplace.]]></description><link>https://blog.kidatalab.com/p/is-your-ai-habit-giving-you-brain</link><guid isPermaLink="false">https://blog.kidatalab.com/p/is-your-ai-habit-giving-you-brain</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Tue, 10 Mar 2026 17:02:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/97102fb0-8991-49f4-8827-279ee83c5c15_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;ve been told that Generative AI is the ultimate efficiency tool. But if you&#8217;ve ended a workday feeling a strange mental &#8220;buzzing&#8221; or a fog that makes it hard to focus, you&#8217;re experiencing a very real phenomenon.</p><p>In a recent study published by Harvard Business Review (March 2026), researchers Julie Bedard, Matthew Kropp, and their colleagues identified a new type of exhaustion they call &#8220;AI Brain Fry.&#8221; </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p></p><p><strong>What exactly is &#8220;Brain Fry&#8221;?</strong></p><p>The researchers define it as mental fatigue resulting from excessive use or oversight of AI tools beyond a person&#8217;s cognitive capacity. Unlike general burnout, which is often emotional, this is an acute cognitive strain. Key findings from the study include:</p><ul><li><p><strong>The Oversight Tax:</strong> The most taxing part of AI work isn&#8217;t the creation but it&#8217;s the monitoring. High degrees of AI oversight led to 12% more mental fatigue and 19% greater information overload.</p></li><li><p><strong>The Three-Tool Limit:</strong> While using two AI tools can boost productivity, the study found that productivity scores actually dipped once a user tried to manage more than three tools simultaneously.</p></li><li><p><strong>The Business Cost:</strong> This &#8220;fry&#8221; leads to a 33% increase in decision fatigue and a significantly higher frequency of self-reported major errors. </p></li></ul><p><strong>The Silver Lining: Less Toil, Less Burnout</strong></p><p>The study also found that when  AI is used specifically to replace routine or repetitive tasks (what the authors call &#8220;toil&#8221;), burnout scores actually dropped by 15%. Participants in this group reported higher work engagement and more time for social connection with peers.</p><p><strong>Three Lessons for Professionals</strong></p><p>To avoid the cognitive &#8220;fry&#8221; while still reaping the benefits of AI, the study suggests a few critical shifts in how we work: </p><ol><li><p><strong>Set Agent Limits:</strong> The data suggests adverse productivity gains after the use of three AI agents at the same time. Don&#8217;t juggle more than your brain can reasonably comprehend.</p></li><li><p><strong>Focus on Impact, Not Intensity:</strong> Incentivizing the quantity of AI use leads to waste and mental strain. Start with clear business objectives rather than just &#8220;rewarding token consumption.&#8221;</p></li><li><p><strong>Develop Management Skills:</strong> Advanced AI users often feel blocked unless they develop new skills like problem framing and strategic prioritization. Working harder to manage the tools is not the same as solving the problem. </p></li></ol><p><strong> The Responsibility of the Organization</strong></p><p>Perhaps the most critical takeaway from the study is that &#8220;AI Brain Fry&#8221; is not an individual failure; it is an organizational risk that leadership must manage. The researchers found a measurable &#8220;AI orphan tax&#8221; where mental fatigue spikes when managers expect employees to figure out these complex tools on their own. To prevent a crisis of cognitive overload, companies must move away from using AI as a tool for work intensification. True success requires leadership to set explicit guardrails, provide clear strategy and training, and prioritize &#8220;cognitive thriving&#8221; over raw token consumption. It is up to organizations to ensure that AI is used to subtract the drudgery of work, rather than simply adding a new, exhausting layer of digital oversight to an already full plate. </p><p>AI is an amplifier. It can amplify your creativity, or it can amplify your exhaustion. The goal for 2026 isn&#8217;t just to use more AI, it&#8217;s to use it in a way that leaves us with more energy at 5pm, not less. </p><p>How are you feeling lately? Are you hitting that &#8220;AI sweet spot,&#8221; or is the &#8220;mental static&#8221; starting to creep in? Let&#8217;s chat in the comments!</p><p><em>For the full deep dive into the data, check out the original article by Bedard et al. in Harvard Business Review. </em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/is-your-ai-habit-giving-you-brain/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/is-your-ai-habit-giving-you-brain/comments"><span>Leave a comment</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why Calculating AI ROI Is Harder Than It Looks]]></title><description><![CDATA[Everyone's investing in AI and almost nobody can agree on what they're actually getting back.]]></description><link>https://blog.kidatalab.com/p/why-calculating-ai-roi-is-harder</link><guid isPermaLink="false">https://blog.kidatalab.com/p/why-calculating-ai-roi-is-harder</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Wed, 25 Feb 2026 01:30:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1c8771a6-5675-4038-9bdb-07fb25628856_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let&#8217;s start with an uncomfortable truth: most companies cannot tell you with any real confidence whether their AI investments are paying off. Not because they&#8217;re not trying, and not because the technology isn&#8217;t working but because the whole idea of measuring ROI on AI is genuinely, structurally hard.</p><p>This isn&#8217;t a hot take. It&#8217;s where the data keeps landing, year after year. And in 2025, with AI spending hitting record highs and boardroom pressure mounting, the gap between investment and measurable returns has become one of the most urgent conversations in business. Spending is up but confidence in measuring the outcome is not. So what&#8217;s actually going on?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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><h4>The Formula Isn&#8217;t the Problem</h4><p>ROI, at its core, is simple math: take what you gained, subtract what you spent, divide by what you spent, multiply by 100.  The formula works great for capital equipment, ad campaigns, and new hires. It falls apart for AI. The problem isn&#8217;t the formula. It&#8217;s the inputs.</p><blockquote><p>AI can definitely make work faster but faster doesn&#8217;t mean ROI.  </p></blockquote><p>When you implement AI in, say, a customer service workflow, some things are measurable: ticket resolution time, cost per interaction, headcount saved. But what about the quality of decisions your team makes because they&#8217;re less burnt out? The institutional knowledge that didn&#8217;t walk out the door because turnover dropped? The competitive deal you won because your sales team had better intelligence? These aren&#8217;t hypothetical benefits. They&#8217;re real and they&#8217;re nearly impossible to attribute cleanly to a single AI tool. </p><h4>The Attribution Trap</h4><p>Even when you do see measurable improvements, attribution is a minefield. Say productivity goes up 20% after deploying an AI writing tool. Was that the AI? Or did you also restructure the team, hire a great manager, and streamline your approval process at the same time? Most organizations are running multiple initiatives in parallel, which means clean causation is rare.</p><p>There&#8217;s also the baseline problem: you can&#8217;t measure improvement if you didn&#8217;t carefully document where you started. According to IBM, most companies skip baselining the pre-AI process entirely and then regret it when they try to make the case to their CFO six months later. </p><h4>The Four Reasons AI ROI Is Hard to Measure</h4><ul><li><p>    Soft benefits (morale, decision quality, talent retention) are real but can&#8217;t be cleanly quantified</p></li><li><p>    Attribution is nearly impossible when multiple initiatives are running simultaneously</p></li><li><p>    Most companies skip baselining before deployment, leaving no &#8220;before&#8221; to compare against</p></li><li><p>    AI&#8217;s value often compounds over time, the payback period is 2&#8211;4 years vs. the typical 7&#8211;12 months for traditional software </p></li></ul><h4>The Data Quality Problem Nobody Talks About Enough</h4><p>Here&#8217;s a stat that should make any AI buyer pause: 85% of business leaders cite data quality as their biggest challenge in AI strategy, according to KPMG. If your data is messy, your AI produces unreliable results. If your results are unreliable, your ROI measurement is built on sand. This is the hidden cost that rarely makes it into the pitch deck.</p><h4>Hard ROI vs. Soft ROI and Why You Need Both</h4><p>Financial analysts split AI returns into two buckets. Hard ROI is the stuff that shows up directly on the P&amp;L: fewer support tickets, reduced infrastructure costs, faster turnaround times. These are measurable, defensible, and CFO-friendly.</p><p>Soft ROI is everything else: employee satisfaction, better decisions, improved customer experience, reduced burnout. Harder to quantify, but arguably more important for long-term organizational health. CIO Magazine suggests tracking &#8220;squishy ROI&#8221; employee sentiment, usage rates, self-reported productivity early on, because adoption and trust are what eventually unlock the hard numbers.</p><p>The trap is treating these as separate. The companies seeing the best returns are the ones connecting them: using soft signals to drive adoption, which drives usage, which generates the data and processes needed to measure hard impact.</p><h4>What the Best Companies Do Differently</h4><p>Gartner&#8217;s research on early AI adopters found that the organizations achieving real results, an average 15.8% revenue increase, 15.2% cost savings, and 22.6% productivity improvement, had one thing in common: they started with a specific, measurable business problem rather than a general AI aspiration.</p><p>The companies that struggle tend to do the opposite. As one IBM researcher put it: &#8220;Step one: we&#8217;re going to use LLMs. Step two: what should we use them for?&#8221; That&#8217;s a very expensive way to learn a  lesson.</p><p>The practical playbook from organizations that do this well tends to look like: define the specific business problem first &#8594; baseline current performance obsessively &#8594; run a controlled pilot &#8594; measure against the baseline &#8594; only then scale. It&#8217;s boring but it works.</p><h4>The Bottom Line</h4><p>AI ROI isn&#8217;t uncalculable, but it is genuinely difficult, and anyone who tells you otherwise is probably selling you something. The math is simple. The inputs are unreliable, the timelines are longer than traditional technology, the attribution is messy, and the most meaningful benefits often resist neat quantification.</p><p>That doesn&#8217;t mean you shouldn&#8217;t invest. It means you should invest differently: with a clear problem in mind, a documented baseline, realistic timelines (think 2&#8211;4 years, not quarters), and a measurement framework that accounts for both hard and soft returns.</p><p>The companies pulling ahead aren&#8217;t the ones who spent the most on AI. They&#8217;re the ones who were honest about what they were measuring and why. The AI payback period is typically 2&#8211;4 years. Most companies are evaluating it on a 6-month horizon. That&#8217;s a mismatch worth talking about.  </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/why-calculating-ai-roi-is-harder/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/why-calculating-ai-roi-is-harder/comments"><span>Leave a comment</span></a></p><p><strong>Sources</strong></p><ol><li><p>Deloitte. (2025, October). <em>AI ROI: The paradox of rising investment and elusive returns</em>. <a href="https://www.deloitte.com/nl/en/issues/generative-ai/ai-roi-the-paradox-of-rising-investment-and-elusive-returns.html">https://www.deloitte.com/nl/en/issues/generative-ai/ai-roi-the-paradox-of-rising-investment-and-elusive-returns.html</a></p></li><li><p>IBM Think. (2025). <em>How to maximize AI ROI in 2026</em>. IBM. <a href="https://www.ibm.com/think/insights/ai-roi">https://www.ibm.com/think/insights/ai-roi</a></p></li><li><p>Fruhlinger, J. (2025, December 16). AI ROI: How to measure the true value of AI. <em>CIO Magazine</em>. <a href="https://www.cio.com/article/4106788/ai-roi-how-to-measure-the-true-value-of-ai-2.html">https://www.cio.com/article/4106788/ai-roi-how-to-measure-the-true-value-of-ai-2.html</a> </p></li><li><p>Steinert, J., Turner, N., &amp; Kapoor, P. (2025, June 30). <em>Closing the ROI gap when scaling AI</em>. Guidehouse. <a href="https://guidehouse.com/insights/financial-services/2025/close-the-roi-gap-when-scaling-ai">https://guidehouse.com/insights/financial-services/2025/close-the-roi-gap-when-scaling-ai</a> </p></li><li><p>Gartner. (2024, July 29). <em>Gartner predicts 30% of generative AI projects will be abandoned after proof of concept by end of 2025</em>. <a href="https://www.gartner.com/en/newsroom/press-releases/2024-07-29-gartner-predicts-30-percent-of-generative-ai-projects-will-be-abandoned-after-proof-of-concept-by-end-of-2025">https://www.gartner.com/en/newsroom/press-releases/2024-07-29-gartner-predicts-30-percent-of-generative-ai-projects-will-be-abandoned-after-proof-of-concept-by-end-of-2025</a></p></li><li><p>KPMG. (2024). <em>AI quarterly pulse survey: Q2 2024</em>. KPMG LLP. <a href="https://kpmg.com/us/en/articles/2025/ai-quarterly-pulse-survey.html">https://kpmg.com/us/en/articles/2025/ai-quarterly-pulse-survey.html</a> </p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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[10-Minute Data Strategy Audit: Part 4 - Knowledge Debt]]></title><description><![CDATA[Part 4 - Knowledge Debt (The &#8220;Bus Factor&#8221; Lens)]]></description><link>https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-806</link><guid isPermaLink="false">https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-806</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Tue, 17 Feb 2026 16:20:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7364312d-7281-4c00-a4b8-759eb9b33d67_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;ve all lived through the &#8220;resignation panic.&#8221; A senior member of the team puts in their two-week notice, and suddenly, the mood in the office shifts from productivity to a desperate scavenger hunt. Everyone realizes that this one person holds the &#8220;keys to the kingdom&#8221;, the undocumented SQL logic, the secret credentials for the legacy warehouse, and the &#8220;tribal knowledge&#8221; required to fix that one pipeline that always breaks on Tuesdays. This is Knowledge Debt. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p></p><p>Through years of hands&#8209;on work in data, I&#8217;ve seen that high&#8209;performing teams are built on resilience, not tools.  If your department is one resignation away from a total system collapse, you aren&#8217;t scaling, you&#8217;re just gambling. </p><p><strong>What Knowledge Debt Actually Looks Like</strong></p><p>It&#8217;s the silent friction that makes everything take twice as long as it should: </p><ul><li><p><strong>The &#8220;Archeology&#8221; Onboarding:</strong> A new hire spends their first three weeks just trying to find the right table definitions because the documentation hasn&#8217;t been updated since 2022.</p></li><li><p><strong>The Hero Dependency:</strong> There is a specific &#8220;hero&#8221; on the team who is constantly interrupted during their deep-work time because they are the only person who knows how a core system works.</p></li><li><p><strong>The &#8220;Black Box&#8221; Logic:</strong> You have a critical pricing or churn model that everyone uses, but nobody actually knows how the features are calculated. &#8220;It just works, don&#8217;t touch it.&#8221;</p></li><li><p><strong>The Duplicate Effort:</strong> Two different teams spend a month building the exact same data asset because neither knew the other existed. </p></li></ul><p><strong>Why We Get Stuck Here </strong></p><p>Knowledge debt is a byproduct of speed. When the business is screaming for a result, documenting the process feels like an indulgence we can&#8217;t afford. We tell ourselves we&#8217;ll &#8220;write it up later,&#8221; but in the data world, &#8220;later&#8221; is where good intentions go to die.</p><p><strong>The Path to &#8220;Green&#8221;: Lowering Your &#8220;Bus Factor&#8221;</strong></p><p>You don&#8217;t need to spend a month writing a 200-page wiki. You just need to build a culture where knowledge is treated as a shared asset rather than a personal secret. Here are three ways to start: </p><p><strong>1. The &#8220;Two-Person&#8221; Rule</strong></p><p>This is the simplest way to lower your &#8220;Bus Factor&#8221; (the number of people who would have to get hit by a bus for your project to stall).</p><ul><li><p><strong>The Solution:</strong> For every critical system or pipeline, ensure at least two people have actually &#8220;touched&#8221; the code. This isn&#8217;t just about reading documentation; it&#8217;s about cross-training. Have them swap tasks for a week. If the second person can&#8217;t run the system without calling the first, you&#8217;ve identified a debt gap.</p></li></ul><p><strong>2. Documentation as &#8220;Code Review&#8221;</strong></p><p>Documentation shouldn&#8217;t be a separate task you do at the end of a project; it should be a requirement for finishing it.</p><ul><li><p><strong>The Solution:</strong> Make basic documentation a mandatory part of your Peer Review or Pull Request process. If the code isn&#8217;t commented and the README isn&#8217;t updated, the PR doesn&#8217;t get merged. It&#8217;s much easier to write three sentences today than a 10-page manual six months from now.</p></li></ul><p><strong>3. Capture &#8220;The Why,&#8221; Not Just &#8220;The What&#8221;</strong></p><p>Most documentation fails because it explains what the code does (which the code itself already says) but ignores why it was done that way.</p><ul><li><p><strong>The Solution:</strong> Focus on &#8220;Decision Logs.&#8221; When a team member makes a major architectural choice, have them spend 5 minutes recording the reasoning. Knowing why you chose one database over another is much more valuable to a future team member than a list of table names. </p></li></ul><p><strong>The Bottom Line</strong></p><p>Knowledge Debt is the &#8220;interest&#8221; you pay in the form of anxiety and wasted time. Getting to &#8220;Green&#8221; doesn&#8217;t mean you have a perfect library of documents, it means you have a team that is interchangeable and resilient. It&#8217;s the peace of mind that comes from knowing that if your top contributor takes a three-week vacation, the business won&#8217;t stop moving.</p><p>Is there a &#8220;Hero&#8221; on your team who has become a bottleneck for everyone else? That&#8217;s your biggest risk factor. Let&#8217;s talk about how to start the knowledge transfer in the comments. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-806/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-806/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[10-Minute Data Strategy Audit: Part 3 - Model Debt]]></title><description><![CDATA[Part 3 - Model Debt (The ML Lifecycle Lens)]]></description><link>https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-385</link><guid isPermaLink="false">https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-385</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Sun, 15 Feb 2026 17:12:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/db2bb1f4-c7ce-4a11-a588-ac3349e3fe64_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is a unique kind of anxiety that comes with Machine Learning: the fear that your model is quietly failing in the background and nobody has noticed yet. I call these Zombie Models. They are technically &#8220;alive&#8221;, they are returning predictions and the API isn&#8217;t throwing errors but the world has changed around them. The data has drifted, the user behavior has shifted, and the model is now effectively guessing.</p><p>In my 13 years in this field, I&#8217;ve seen that Model Debt is the hardest to track because it&#8217;s invisible. You don&#8217;t get a &#8220;404 Not Found&#8221; error when a model starts underperforming. You just get a slow, silent erosion of business value. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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><strong>What Model Debt Actually Feels Like</strong></p><p>It&#8217;s not just &#8220;bad accuracy&#8221;; it&#8217;s the operational weight of a black box:</p><ul><li><p><strong>The &#8220;User-as-Monitor&#8221;:</strong> Your first sign that a model is failing is an angry email from a stakeholder saying the recommendations &#8220;look weird today.&#8221;</p></li><li><p><strong>The Pipeline Jungle:</strong> To get the model to work, you have a series of &#8220;temporary&#8221; scripts and manual data exports that have somehow become permanent parts of the production flow.</p></li><li><p><strong>The Hidden Feedback Loop:</strong> Your model is predicting user behavior, but its predictions are actually changing that behavior, creating a &#8220;death spiral&#8221; of data that no one is auditing.</p></li><li><p><strong>The Fear of Retraining:</strong> The original creator of the model left the company, and now the team is afraid to retrain it because &#8220;we&#8217;re not sure exactly which features were used in the final version.&#8221; </p></li></ul><p><strong>Why We Get Stuck Here</strong></p><p>We get stuck because we celebrate the &#8220;Launch&#8221; but ignore the &#8220;Life.&#8221; In most organizations, the glory is in the deployment. But in ML, deployment is only the first 10% of the work. The other 90% is the lifecycle management, and that&#8217;s where the debt accumulates. </p><p><strong>The Path to &#8220;Green&#8221;: Turning Off the Zombies</strong></p><p>Getting to a &#8220;Green&#8221; score in Model Debt doesn&#8217;t require a $100k MLOps platform. It requires standardized guardrails. Here are three practical ways to start: </p><p><strong>1. Build a &#8220;Circuit Breaker&#8221;</strong></p><p>In electrical engineering, a circuit breaker stops the flow of power when something is wrong. Your models need the same thing.</p><ul><li><p><strong>The Solution:</strong> Set up a simple &#8220;sanity check&#8221; script. If the distribution of your model&#8217;s predictions shifts by more than 20% in a day, the system sends an alert. It&#8217;s better to show a &#8220;default&#8221; result than a confidently wrong prediction. </p></li></ul><p><strong>2. Kill the Manual Retrain</strong></p><p>If retraining your model requires a Data Scientist to spend two days manually running notebooks, you have a high-interest debt problem.</p><ul><li><p><strong>The Solution:</strong> Don&#8217;t worry about &#8220;Auto-ML&#8221; yet. Just focus on <strong>reproducibility</strong>. Can a junior scientist run a single script and get the same model you have in production? If the answer is &#8220;no,&#8221; your first priority is version-controlling your training data and parameters.</p></li></ul><p><strong>3. Define the &#8220;Sunset&#8221; Date</strong></p><p>Every model has an expiration date.</p><ul><li><p><strong>The Solution:</strong> When you launch a model, decide then and there when it will be re-evaluated. If it&#8217;s not meeting its KPIs or if it hasn&#8217;t been updated in six months, it gets turned off or replaced. This prevents &#8220;Zombie Models&#8221; from haunting your infrastructure for years. </p></li></ul><p><strong>The Bottom Line</strong></p><p>Model Debt isn&#8217;t about being &#8220;bad at math.&#8221; It&#8217;s about the gap between the code we wrote and the reality of the data today. Getting to &#8220;Green&#8221; means you&#8217;ve moved from reactive monitoring (waiting for things to break) to proactive evaluation. You want a system where you can sleep soundly because you know that if a model starts failing, the system will tell you before the users do.</p><p>Is there a model running in your production environment right now that nobody has checked on in months? That&#8217;s your highest interest debt. Let&#8217;s talk about how to audit those &#8220;Zombies&#8221; in the comments. </p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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[10-Minute Data Strategy Audit: Part 2 - Data Debt]]></title><description><![CDATA[Data Debt (The Governance Lens) for Data Strategy Audit]]></description><link>https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-0c6</link><guid isPermaLink="false">https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-0c6</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Fri, 13 Feb 2026 17:01:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ae187590-0f41-414a-a2cc-c7cfe2a8eb9f_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;ve all been in that meeting. The Head of Sales presents one revenue number. The Head of Marketing presents another. Both look at you to figure out why they don&#8217;t match. You spend the next three hours digging through SQL queries only to find that one team defines a &#8220;customer&#8221; differently than the other. That isn&#8217;t a technical error, it is Data Debt. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p></p><p>In my 13 years in this field, I&#8217;ve found that data debt is the most expensive kind to carry. Unlike infrastructure debt, which slows down your engineers, data debt slows down the entire company. It destroys trust. And once trust is gone, people start building &#8220;shadow dashboards&#8221;, their own private versions of the truth, which only makes the problem worse. </p><p><strong>What Data Debt Actually Feels Like</strong></p><p>It&#8217;s rarely about &#8220;missing data.&#8221; It&#8217;s about the friction caused by a lack of shared rules:</p><ul><li><p><strong>The &#8220;Shadow&#8221; Dashboard:</strong> A VP doesn&#8217;t trust the official company dashboard, so they have an analyst manually export data to a &#8220;private&#8221; Excel sheet every Monday.</p></li><li><p><strong>The Broken Pipeline:</strong> A software engineer renames a column in the production database to &#8220;clean things up,&#8221; and three downstream dashboards instantly go dark because there was no &#8220;contract&#8221; between the producer and the consumer.</p></li><li><p><strong>The Metric War:</strong> Two teams are looking at the same KPI, but one is using &#8220;Gross&#8221; and the other is using &#8220;Net,&#8221; yet both labels just say &#8220;Revenue.&#8221;</p></li><li><p><strong>The &#8220;Data Archeologist&#8221;:</strong> You have one person on the team who is the only one who knows which tables are &#8220;real&#8221; and which ones are &#8220;legacy trash from 2021.&#8221; </p></li></ul><p><strong>Why We Get Stuck Here</strong></p><p>Data debt usually happens because of silos. We build for the immediate need of one department without thinking about how that data will be used by the rest of the organization. We prioritize &#8220;getting the data out&#8221; over &#8220;getting the data right.&#8221; </p><p><strong>The Path to "Green": Building a Culture of Trust</strong></p><p>You don&#8217;t solve data debt by &#8220;cleaning&#8221; the data, that&#8217;s just treating the symptom. You solve it by fixing the governance. Here are three ways to move toward a Green score without a year-long overhaul: </p><p><strong>1. Standardize the &#8220;Core Five&#8221;</strong></p><p>You don&#8217;t need to define every single metric in the company on day one.</p><p><strong>The Solution:</strong> Identify the five most important metrics that everyone uses (e.g., Active Users, Revenue, Churn). Get the stakeholders in a room, agree on a single definition, and document it in one place. If it&#8217;s not in the &#8220;Source of Truth,&#8221; it doesn&#8217;t exist.</p><p><strong>2. Introduce &#8220;Data Contracts&#8221; (The Handshake)</strong></p><p>Data debt often happens because the people producing data (software engineers) don&#8217;t know who is consuming it (data scientists).</p><ul><li><p><strong>The Solution:</strong> Start a simple &#8220;handshake&#8221; process. Before a source table changes, the producers must notify the consumers. This shifts the mindset from &#8220;I&#8217;m just changing a database&#8221; to &#8220;I am delivering a product.&#8221; It turns federated data into a consistent, reliable service.</p></li></ul><p><strong>3. Kill the &#8220;Zombie&#8221; Reports</strong></p><p>Shadow dashboards thrive in the dark.</p><ul><li><p><strong>The Solution:</strong> Run an audit of your BI tool. If a report hasn&#8217;t been viewed in 60 days, archive it. If someone complains, you&#8217;ve found a hidden dependency. If nobody notices, you&#8217;ve just reduced your &#8220;surface area&#8221; for errors. Reducing the number of reports makes it much easier to ensure the remaining ones are accurate. </p></li></ul><p><strong>The Bottom Line</strong></p><p>Data governance sounds like a boring corporate buzzword, but in reality, it&#8217;s just etiquette for data. It&#8217;s the agreement that we won&#8217;t break each other&#8217;s work and that we&#8217;ll use the same language to describe our success. Getting to &#8220;Green&#8221; doesn&#8217;t mean your data is perfect. It means that when someone asks, &#8220;Where did this number come from?&#8221; you have a clear, documented answer that everyone trusts.</p><p>Is your team spending more time &#8220;cleaning&#8221; data than actually analyzing it? That&#8217;s the classic sign of a trust deficit. Let&#8217;s talk about how to fix the &#8220;handshake&#8221; in the comments. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-0c6/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part-0c6/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[10-Minute Data Strategy Audit: Part 1 - Infrastructure Debt]]></title><description><![CDATA[Solving Infrastructure Toil (Without Deleting Your Cloud)]]></description><link>https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part</link><guid isPermaLink="false">https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Wed, 11 Feb 2026 15:38:16 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d31370de-233b-46a6-a98a-81d31a91c3b1_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my 13 years in data, I&#8217;ve seen teams with brilliant models get completely sidelined by &#8220;infrastructure friction.&#8221; We often think of infrastructure debt as &#8220;using old versions of software.&#8221; But the real debt is Toil. Google&#8217;s SRE team defines Toil as the manual, repetitive, &#8220;tactical&#8221; work that grows as your system grows. If you have 5 pipelines, you can manage them manually. If you have 50, you&#8217;re no longer a Data Scientist, you&#8217;re a full-time pipe-fixer. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p></p><p><strong>What Infrastructure Debt Actually Looks Like:</strong></p><p>It&#8217;s never a single catastrophic failure; it&#8217;s a thousand tiny papercuts:</p><ul><li><p><strong>The &#8220;Local Machine&#8221; Trap:</strong> A critical model only runs on one person&#8217;s laptop because the production environment is missing &#8220;certain libraries&#8221; no one can identify.</p></li><li><p><strong>The Weekend Pipeline:</strong> A data load fails every Saturday morning. Instead of fixing the root cause, the team has a rotating &#8220;weekend shift&#8221; just to hit the restart button.</p></li><li><p><strong>The Ghost in the Machine:</strong> You change a variable in Staging, it works perfectly, you move it to Production, and everything breaks. Why? Because six months ago, someone manually changed a setting in the Prod console and never told anyone.</p></li><li><p><strong>The &#8220;Surprise&#8221; Cloud Bill:</strong> You realize you&#8217;ve been paying $2,000 a month for a GPU instance that was spun up for a &#8220;quick test&#8221; in 2023 and forgotten. </p></li></ul><p>Why do we fall into this? We do it because we are under pressure. We tell ourselves: &#8220;I&#8217;ll just fix this manually today so we can hit the deadline, and I&#8217;ll automate it properly next week.&#8221; But &#8220;next week&#8221; never comes. Eventually, the team spends 60% of their time just &#8220;keeping the lights on,&#8221; leaving only 40% for actual innovation. </p><p><strong>Three Ways to Start &#8220;Getting to Green&#8221;</strong></p><p>You don&#8217;t need to be a DevOps engineer to fix this. You just need to be disciplined about where you spend your team&#8217;s energy. </p><p><strong>1. Target the &#8220;Manual Restart&#8221;</strong></p><p>Find the one thing your team has to &#8220;check on&#8221; every day. Is it a server that runs out of memory? A pipeline that needs a manual kick-start?</p><ul><li><p><strong>The Solution:</strong> Don&#8217;t rebuild the whole architecture. Just add a simple automated &#8220;health check&#8221; or a script that cleans up the memory. If you save 20 minutes a day, you&#8217;ve just bought your team two hours of deep work a week.</p></li></ul><p><strong>2. Declare &#8220;Console Freeze&#8221;</strong></p><p>One of the biggest sources of debt is &#8220;Click-Ops&#8221;, manually clicking buttons in the AWS or Azure console. It&#8217;s fast in the moment, but it&#8217;s invisible to the rest of the team.</p><ul><li><p><strong>The Solution:</strong> Start a &#8220;Source of Truth&#8221; document (or a repo). If a setting is changed in the cloud, it must be updated in the doc first. This moves you toward &#8220;Infrastructure as Code&#8221; without needing to learn complex new tools overnight.</p></li></ul><p><strong>3. Set &#8220;Budget Guardrails&#8221;</strong></p><p>Infrastructure debt often manifests as financial waste.</p><ul><li><p><strong>The Solution:</strong> Instead of complex cost-optimization, just set up automated alerts. If a specific project&#8217;s cost spikes by 20% in a single day, the lead gets an email. Visibility alone usually changes team behavior overnight, people start cleaning up their &#8220;zombie&#8221; instances when they know the bill is being watched. </p></li></ul><p><strong>The Bottom Line</strong></p><p>Infrastructure shouldn&#8217;t be a &#8220;hobby&#8221; your team does on the side. It is the foundation of your velocity. Getting to &#8220;Green&#8221; doesn&#8217;t mean your cloud is perfect; it means your cloud is boring. You want an infrastructure that is so stable and automated that you actually forget it&#8217;s there.</p><p>Does your team have a &#8220;Hero&#8221; who is the only one who knows how to fix the servers? That&#8217;s a major debt signal. Let&#8217;s talk about how to break that cycle in the comments.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/10-minute-data-strategy-audit-part/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The 10-Minute Data Strategy Audit: A Data Lead’s Diagnostic]]></title><description><![CDATA[After 13 years in Data Science and Analytics, I&#8217;ve realized that we spend far more time discussing &#8220;innovation&#8221; than we do managing the &#8220;interest&#8221; on our technical debt.]]></description><link>https://blog.kidatalab.com/p/the-10-minute-data-strategy-audit</link><guid isPermaLink="false">https://blog.kidatalab.com/p/the-10-minute-data-strategy-audit</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Tue, 03 Feb 2026 03:05:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8a3041c5-5941-49d9-9d25-3054ec8975ef_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After 13 years in Data Science and Analytics, I&#8217;ve realized that we spend far more time discussing &#8220;innovation&#8221; than we do managing the &#8220;interest&#8221; on our technical debt. We&#8217;ve all read the foundational literature from Martin Fowler&#8217;s &#8220;Technical Debt Quadrant&#8221; to Google&#8217;s seminal paper, &#8220;Hidden Technical Debt in Machine Learning Systems.&#8221; These works taught us that debt isn&#8217;t just &#8220;bad code&#8221;; it&#8217;s a strategic choice that eventually comes due. </p><p>However, as a Lead or Senior Scientist, you don&#8217;t always have time to re-read academic papers. You need a way to look at your department today and know where the rot is. I have synthesized these practical leadership heuristics into a 10-minute diagnostic tool designed specifically for data leadership.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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://blog.kidatalab.com/subscribe?"><span>Subscribe now</span></a></p><p></p><p>This isn&#8217;t just about code; it&#8217;s about the four systemic pillars that determine whether your team can scale or if you&#8217;re one resignation away from a total system collapse. </p><p><strong>The Audit: A Practical Synthesis</strong></p><p><em>Note: This framework adapts Fowler&#8217;s quadrants and Google&#8217;s ML debt categories into four &#8220;Data Strategy&#8221; buckets.</em></p><p><em><strong>1. Infrastructure Debt (The Operational Lens)</strong></em></p><p>The Concept: Influenced by Google&#8217;s Site Reliability Engineering principles. </p><p>The Question: How much manual &#8220;toil&#8221; is required to maintain your environments? Do you struggle with environment drift (staging vs. prod), unpredictable cloud costs, or gaps in system observability?</p><p>    <strong>1 (Red):</strong> High manual overhead; environment configurations are inconsistent; costs are opaque.</p><p>    <strong>2 (Yellow):</strong> Basic automation is in place, but system performance and costs require frequent manual troubleshooting.</p><p>    <strong>3 (Green):</strong> Infrastructure is version-controlled; costs are optimized via automation; full observability into pipeline health is the baseline.</p><p><em><strong>2. Data Debt (The Governance Lens)</strong></em></p><p>The Concept: Derived from Zhamak Dehghani&#8217;s Data Mesh and the Data Contract movement. </p><p>The Question: How many &#8220;shadow dashboards&#8221; exist because users don&#8217;t trust the primary data products? Is there a clear framework for data quality, or do inconsistencies lead to constant cross-team debates?</p><p>    <strong>1 (Red):</strong> Frequent debates over &#8220;whose numbers are right&#8221;; no shared definitions for key metrics across domains.</p><p>    <strong>2 (Yellow):</strong> Domain-specific data assets exist, but lack a unified governance layer to ensure consistency.</p><p>    <strong>3 (Green):</strong> Clear data contracts in place; federated governance ensures consistent metrics across the organization regardless of which team owns the data.</p><p><em><strong>3. Model Debt (The ML Lifecycle Lens)</strong></em></p><p>The Concept: Directly applying the Google &#8220;Hidden Technical Debt&#8221; research. </p><p>The Question: What percentage of production models lack automated drift detection or a scheduled retraining trigger?</p><p>    <strong>1 (Red):</strong> &#8220;Zombie models&#8221; exist; monitoring is reactive (we wait for the user to complain).</p><p>    <strong>2 (Yellow):</strong> Standard monitoring is in place, but retraining is manual and ad-hoc.</p><p>    <strong>3 (Green):</strong> Robust MLOps; automated circuit-breakers for model performance.</p><p><em><strong>4. Knowledge Debt (The &#8220;Bus Factor&#8221; Lens)</strong></em></p><p>The Concept: A standard software engineering metric for team resilience. </p><p>The Question: If your top two contributors left tomorrow, could the remaining team maintain the systems without a &#8220;black box&#8221; failure?</p><p>    <strong>1 (Red):</strong> Critical systems are undocumented; knowledge is siloed in 1-2 heads.</p><p>    <strong>2 (Yellow):</strong> Documentation exists but is 6+ months out of date.</p><p>    <strong>3 (Green):</strong> Culture of documentation and cross-training; low &#8220;bus factor.&#8221; </p><p><strong>The Debt-Action Matrix: Your Strategic Playbook</strong></p><p>Based on your scores above, here is how I recommend prioritizing your next quarter: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YzKG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YzKG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png 424w, https://substackcdn.com/image/fetch/$s_!YzKG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png 848w, https://substackcdn.com/image/fetch/$s_!YzKG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png 1272w, https://substackcdn.com/image/fetch/$s_!YzKG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YzKG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png" width="1085" height="377" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ebbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:377,&quot;width&quot;:1085,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:52297,&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://nextindata.substack.com/i/186555166?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.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_!YzKG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png 424w, https://substackcdn.com/image/fetch/$s_!YzKG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png 848w, https://substackcdn.com/image/fetch/$s_!YzKG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.png 1272w, https://substackcdn.com/image/fetch/$s_!YzKG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febbec8e3-b0cd-4db4-b3fe-0211426dfe4d_1085x377.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"><strong>The Debt-Action Matrix</strong></figcaption></figure></div><p><strong>Why Curation is Leadership</strong></p><p>The goal of this audit isn&#8217;t to achieve a perfect 12/12. As Martin Fowler famously noted, &#8220;Deliberate Debt&#8221; can be a tool for speed. The danger is &#8220;Inadvertent Debt&#8221;, the mess that happens when you aren&#8217;t looking . By running this audit, you&#8217;re moving from accidentally messy to strategically managed. What&#8217;s the &#8220;highest interest&#8221; debt your team is paying right now? Let&#8217;s discuss in the comments. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/p/the-10-minute-data-strategy-audit/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.kidatalab.com/p/the-10-minute-data-strategy-audit/comments"><span>Leave a comment</span></a></p><p><strong>Further Reading &amp; Industry Influences</strong></p><p>If you want to dive deeper into the theories that shaped this audit, I highly recommend these foundational resources:</p><ul><li><p><em>The Technical Debt Quadrant (Martin Fowler): </em>The original 2009 framework that categorized debt into Deliberate vs. Inadvertent and Prudent vs. Reckless.</p></li><li><p><em>Hidden Technical Debt in Machine Learning Systems (Google Research):</em> The &#8220;must-read&#8221; paper for any data leader. It explains why ML systems have a unique way of &#8220;eroding boundaries&#8221; and creating high-interest debt</p></li><li><p><em>The 4 Core Principles of Data Mesh (Zhamak Dehghani): </em>The origin of the &#8220;Data as a Product&#8221; mindset, which is the best defense against &#8220;Data Debt.&#8221; </p></li><li><p><em>Eliminating Toil (Google SRE Book):</em> The definitive guide to identifying &#8220;Infrastructure Debt&#8221; and why manual, repetitive tasks (Toil) are the enemy of scaling. </p></li></ul><p></p>]]></content:encoded></item><item><title><![CDATA[Execution Debt: A Quiet Problem for Senior Technical Builders]]></title><description><![CDATA[There&#8217;s a failure mode I see increasingly often among experienced data scientists and technical professionals.]]></description><link>https://blog.kidatalab.com/p/execution-debt-a-quiet-problem-for</link><guid isPermaLink="false">https://blog.kidatalab.com/p/execution-debt-a-quiet-problem-for</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Tue, 27 Jan 2026 14:46:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/95289416-a49d-4155-9408-fc0ddde82c8a_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s a failure mode I see increasingly often among experienced data scientists and technical professionals. It doesn&#8217;t look like incompetence. It doesn&#8217;t look like lack of ideas. In fact, it often shows up in people who are very capable. It looks like motion without progress. After enough years in the field, the problem is no longer &#8220;Can I build this?&#8221; The problem becomes &#8220;What&#8217;s the right way to build this?&#8221; And that question, when left unconstrained, can quietly kill execution. This post is about that trap, why it happens, and the practical constraints that helped me move forward. </p><p>With experience comes optionality. You know multiple stacks. You understand tradeoffs. You&#8217;re aware of long-term maintenance costs, scalability concerns, vendor lock-in, UX debt, and monetization risks. All of that knowledge is real and earned. The downside is that every new idea immediately explodes into ten possible implementations.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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><ul><li><p>Web app or script?</p></li><li><p>Custom front end or no-code?</p></li><li><p>Self-hosted or platform-based?</p></li><li><p>Build once or design for extensibility?</p></li></ul><p>At a junior level, these questions don&#8217;t exist. At a senior level, they exist all at once. The result is a peculiar kind of stagnation: lots of planning, lots of evaluation, occasional prototypes, but nothing crossing the line into a paid, real-world product. </p><p>I had a working Python tool that I created some time ago. It wasn&#8217;t theoretical. It ran. It produced outputs. It solved a real problem. Yet it lived in a kind of limbo. I explored multiple directions: different hosting options, potential rewrites, broader product ideas, future extensions. Each option was reasonable in isolation. Collectively, they kept reopening the decision space. Nothing was &#8220;wrong,&#8221; so nothing felt urgent. The problem wasn&#8217;t technical debt or missing features. The problem was that every new option reset commitment.  </p><p>The turning point came from recognizing a simple but under-discussed distinction: some tools feel finite, others feel infinite. Files(spreadsheets, scripts, static dashboards) have edges. You finish them. You ship them. They resist scope creep by their nature. Web apps feel infinite. There&#8217;s always another page, another flow, another edge case. That infinity is intoxicating, especially for experienced builders. It also delays shipping. This doesn&#8217;t mean web apps are bad. It means they require discipline that most people underestimate, particularly when building solo.  </p><p>The mistake I was making was treating every move as a reinvention. Instead of asking &#8220;How do I build the best possible version of this?&#8221;, the better question was: &#8220;How do I move this existing thing closer to being selleble, with the least new surface area?&#8221;. That led to a simple rule set:</p><ul><li><p>Don&#8217;t rebuild working logic</p></li><li><p>Don&#8217;t expand scope</p></li><li><p>Don&#8217;t improve UX beyond parity</p></li><li><p>Don&#8217;t mix learning goals with product goals</p></li></ul><p>The decision was to keep the Python core exactly as it was and move only the front end to a more flexible UI layer. No new features. No architectural elegance. Just a better door. </p><p>No-code tools are often framed as either magic or malpractice. In reality, they&#8217;re neither. They&#8217;re just tools with failure modes.  The key constraint that made this viable was separation of concerns:</p><ul><li><p>All business logic stays in Python</p></li><li><p>The UI layer only collects inputs and displays outputs</p></li><li><p>The backend is exposed as a simple API</p></li><li><p>No logic duplication</p></li></ul><p>Under these constraints, a no-code front end becomes a wrapper, not a platform dependency. It accelerates UI and payments without contaminating the core. This distinction matters if you care about long-term optionality.  </p><p>Another hard-earned lesson: &#8220;free&#8221; is not a harmless default. A free version without a clear boundary becomes a comfortable stall. It delays the moment where the product has to justify itself. If there&#8217;s a free tier, it needs a visible ceiling:</p><ul><li><p>limited runs</p></li><li><p>reduced output</p></li><li><p>preview-only results</p></li></ul><p>Not as a dark pattern, but as an honest signal: this tool has value, and that value isn&#8217;t infinite. Nothing dramatic happened overnight. There was no breakthrough insight about markets or technology. What changed was commitment. By freezing scope, accepting imperfection, and treating learning as a side effect of shipping rather than the goal, the product finally crossed from &#8220;interesting&#8221; to &#8220;real.&#8221; That shift, from exploration to execution, is uncomfortable for senior people precisely because they can see all the ways it could be better. The discipline is choosing not to pursue them yet. </p><p>The broader lesson is that experience rarely fails by making people incapable. It fails by making everything feel provisional. When you&#8217;ve seen enough systems, tools, and tradeoffs, it becomes easy to keep decisions open &#8220;just in case,&#8221; even when closing them would unlock progress.</p><p>For experienced technical professionals trying to build products, the real tension is often between correctness and completion. It shows up in the habit of reopening decisions that were already good enough, or in treating learning as a prerequisite when, in reality, it quietly postpones commitment.</p><p>Constraints aren&#8217;t a loss of freedom. They&#8217;re the mechanism that allows experienced people to ship. Sometimes the most senior move isn&#8217;t building something better or more elegant, but finishing something good enough and letting reality do the rest. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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 Stack Overflow Paradox: How AI is Starving Its Own Source of Intelligence]]></title><description><![CDATA[Exploring why the 78% drop in Stack Overflow activity signals a dangerous "knowledge plateau" for the next generation of coding AI.]]></description><link>https://blog.kidatalab.com/p/the-stack-overflow-paradox-how-ai</link><guid isPermaLink="false">https://blog.kidatalab.com/p/the-stack-overflow-paradox-how-ai</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Tue, 13 Jan 2026 12:05:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/92e825bf-4f50-45c0-b075-e1ff21997453_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>According to recent news, Stack Overflow is witnessing an unprecedented collapse in community engagement, with new question volume in December 2025 falling to just 3862, a staggering 78% decline compared to December 2024. This trend is corroborated by the 2025 Stack Overflow Developer Survey, which reveals that 84% of developers have now fully integrated AI tools into their workflows. The reasoning behind this shift is twofold: developers are drawn to the "instant nature" of AI assistants and, perhaps more importantly, the "zero-judgment" environment they provide. Unlike the traditional forum experience, an AI does not downvote a beginner's question or close a thread as a "duplicate," offering a safe space for iterative learning that the human community has struggled to maintain. </p><p>This migration is further accelerated by what many contributors describe as the "hostile culture" of Stack Overflow. For years, the platform has faced criticism for its rigid moderation and the often abrasive tone of senior "gatekeepers" toward newer users. While these strict standards once ensured high data quality, they have now become the platform's greatest liability. In the face of a frictionless, polite AI alternative, the social cost of participating in a hostile human forum has become too high for most. As the "human layer" of the platform erodes, the very social friction that once polished the site's data is now driving the community toward extinction. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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>This leads directly to the "knowledge plateau" paradox. While Stack Overflow&#8217;s historical archive remains the most valuable training set for coding AI, the cessation of new human content creates a terminal bottleneck for future intelligence. If the community stops producing public documentation of 2026-era technologies due to AI reliance and forum hostility, AI models will eventually run out of "ground truth" to learn from. We are entering a cycle where developers use AI to solve problems in private, which prevents those solutions from ever being indexed for the next generation of LLMs. Consequently, AI risks becoming a "static mirror" of the past, increasingly incapable of reasoning through the bugs and nuances of future software releases because the human-led "global brain" that fed it has gone silent. </p><p>Ultimately, the paradox suggests that by opting for the convenience and safety of AI today, we may be inadvertently starving the models of the tomorrow. The reasoning is clear: AI is a reflection of human collective intelligence, not a replacement for it. If the hostile culture and the lure of instant answers permanently kill the public "commons" of programming knowledge, the AI itself will eventually hit a ceiling, unable to advance alongside the very technology it is meant to help us build. This perspective is frequently countered by the claim that modern documentation is now so robust that community forums have outlived their usefulness. Yet, this sentiment overlooks the critical distinction between a manual and a troubleshoot. Official documentation provides the "happy path", the idealized way technology is designed to work in a vacuum, whereas Stack Overflow archives the "unhappy path" of version conflicts, deployment errors, and real-world failures. For those who "hate Stackoverflow" it is easy to ignore that these threads contain the "negative training data" that prevents AI from hallucinating. Without a continuous, public record of how 2026-era technologies actually break, AI models will eventually reach a knowledge plateau where they can quote documentation flawlessly but lack the learned intuition required to solve the messy, unscripted bugs that define professional engineering. </p><p></p><p>Sources / Further Reading</p><p><strong>-Anderson, T. (2026, January 5).</strong> <em>"Dramatic drop in Stack Overflow questions as devs look elsewhere for help."</em> <strong>DevClass. </strong></p><p><strong>-Stack Overflow Data Team. (2025, December).</strong> <em>"2025 Developer Survey: The State of AI and Community Trust."</em> <strong>Stack Overflow Blog.</strong></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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[When “AI-First” Meets Reality]]></title><description><![CDATA[What Salesforce&#8217;s layoffs and strategic reversal reveal about the limits of automation]]></description><link>https://blog.kidatalab.com/p/when-ai-first-meets-reality</link><guid isPermaLink="false">https://blog.kidatalab.com/p/when-ai-first-meets-reality</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Tue, 06 Jan 2026 15:02:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ad00acf1-5a84-4a8b-9f74-5d69d182a9e9_1024x729.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I wrote about this a few weeks ago in a piece titled <em>AI Isn&#8217;t Cutting Developer Jobs, It&#8217;s Just Changing What We Do</em> (25.11.2025, link: https://nazanwrites.beehiiv.com/p/ai-isn-t-cutting-developer-jobs-it-s-just-changing-what-we-do). At the time, the dominant narrative was already clear: AI would automate knowledge work at scale, companies would trim teams, and productivity gains would neatly replace human labor. Since then, reality has been less tidy. Yes, there have been job cuts, and yes, AI is deeply reshaping how work gets done but not in the clean, linear way many tech companies seemed to expect.  </p><p>In September 2025, Salesforce became the poster child for the &#8220;AI will replace humans&#8221; narrative. CEO Marc Benioff casually confirmed that the company&#8217;s customer support organization had been reduced from roughly 9,000 people to about 5,000. The justification was straightforward: AI agents were already handling around half of all customer conversations, and according to Benioff, that simply meant he &#8220;needed less heads.&#8221; He framed the moment as a breakthrough, an overdue rebalancing enabled by generative AI and described the period as the most exciting phase of his career.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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>That confidence did not survive the year.</p><p>By December, Salesforce executives were publicly walking back earlier assumptions. Sanjna Parulekar, the company&#8217;s Senior Vice President of Product Marketing, admitted that leadership had been far more optimistic about large language models a year earlier. What changed wasn&#8217;t ideology, but exposure. As these systems were pushed into more complex, real-world workflows, their limitations became difficult to ignore. LLMs turned out to be inherently probabilistic, prone to drifting off task, skipping instructions, or behaving unpredictably once the problem space became even moderately complicated.</p><p>Salesforce&#8217;s own engineers confirmed the issue. CTO Muralidhar Krishnaprasad explained that once an AI agent receives more than a handful of explicit instructions, often as few as eight, it begins to fail silently, omitting steps or ignoring constraints. This wasn&#8217;t a theoretical concern. Customers like Vivint discovered that AI agents built on Salesforce tooling were failing to perform basic actions, such as sending customer satisfaction surveys, despite being clearly instructed to do so. Fixing these failures required the introduction of &#8220;deterministic&#8221; safeguards: rigid, rule-based triggers layered on top of the AI to ensure it actually did what it was supposed to do.</p><p>By the end of 2025, the company&#8217;s strategy had quietly shifted. The loud &#8220;AI-first&#8221; positioning gave way to something more restrained: a &#8220;data-first&#8221; approach focused on foundations, controls, and predictability rather than model intelligence. Benioff himself began emphasizing the need to reduce hallucinations and uncertainty by prioritizing structured data over autonomous reasoning. And while thousands of support roles had been cut earlier in the year, Salesforce spent the closing months of 2025 ramping up hiring on the sales side, acknowledging, somewhat sheepishly, that AI still lacks the human judgment, trust, and relational depth required for complex business interactions. </p><p>What this gap between expectations and reality makes clear is that AI didn&#8217;t fail, it was oversold, and then over-deployed. The expectation was replacement: fewer people, flatter teams, cleaner processes. The reality has been messier. Today&#8217;s models are powerful but fragile, impressive in demos and unreliable at the edges where real work lives. They accelerate some tasks while creating new ones: monitoring, correcting, scaffolding, and building guardrails around systems that cannot be trusted unattended. We&#8217;re no longer in the phase of asking whether AI works, but where it breaks, and how costly those failures are. That&#8217;s where caution becomes necessary, not as resistance to progress, but as an acknowledgment that probabilistic systems don&#8217;t behave like software, and pretending they do leads to brittle organizations and expensive reversals. </p><p>The Salesforce example brings the reality into sharp focus. The expectation was that AI would allow companies to do the same work with fewer people, cleanly and permanently. The reality has been closer to a reshuffle than a reduction. Headcount was cut where AI looked impressive on paper, then quietly rebuilt elsewhere once the limits became obvious. Automation handled the surface-level interactions, but humans were still needed to define boundaries, resolve ambiguity, repair failures, and carry relationships that models couldn&#8217;t sustain. What looked like efficiency at the executive level often translated into fragility on the ground. The lesson isn&#8217;t that AI has no place in tech organizations, it clearly does, but that treating it as a substitute for human judgment is a category error. Salesforce didn&#8217;t eliminate complexity; it displaced it, and then had to pay attention to where it landed. </p><p><strong>Sources / Further Reading</strong></p><p>&#8211; <em>Slashdot</em> (Sept 1, 2025): Coverage of Marc Benioff&#8217;s comments on reducing Salesforce support headcount following the rollout of AI agents.<br>&#8211; <em>The Economic Times</em> (Dec 23, 2025): Reporting on Salesforce executives acknowledging declining confidence in large language models and a shift toward more predictable automation.<br>&#8211; <em>Salesforce Newsroom</em> (Nov&#8211;Dec 2025): Official posts outlining Salesforce&#8217;s transition toward deterministic, data-first AI systems.</p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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[Exams in the Age of AI: What Are We Really Testing?]]></title><description><![CDATA[I asked this question in my notes last week and got some interesting answers, so I decided to write a post about it: I just saw in the news that professors are going back to oral exams to prevent students from using AI.]]></description><link>https://blog.kidatalab.com/p/exams-in-the-age-of-ai-what-are-we</link><guid isPermaLink="false">https://blog.kidatalab.com/p/exams-in-the-age-of-ai-what-are-we</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Tue, 23 Dec 2025 17:02:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/baf17796-5b8e-4643-aa04-c3ddf69451aa_892x738.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I asked this question in my notes last week and got some interesting answers, so I decided to write a post about it: <em><strong>I just saw in the news that professors are going back to oral exams to prevent students from using AI. What do you think about this?</strong></em> What surprised me wasn&#8217;t just the range of opinions, but how each response touched a different layer of the same problem. As a data scientist, I can&#8217;t help but see this less as an &#8220;AI cheating&#8221; issue and more as a signal that our evaluation systems are being stress-tested by a new variable they weren&#8217;t designed for.</p><p>One of the comments mentioned that many STEM exams in Russian universities have traditionally been oral and extremely difficult. That resonated with me. Oral exams force you to expose your reasoning in real time, there&#8217;s no hiding behind polished output. You can&#8217;t just arrive at the right answer; you have to justify how you got there, respond to follow-up questions, and adapt when challenged. From a data science perspective, this is closer to how expertise actually shows up in practice. In real work, nobody hands you a perfectly phrased problem and gives you unlimited time to respond. You&#8217;re constantly asked to explain assumptions, defend trade-offs, and revise your thinking on the fly. Oral exams, when done well, measure understanding rather than pattern reproduction.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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>Another comment pointed out that this doesn&#8217;t mean students can&#8217;t use AI, it just means they still need to learn the material well enough to speak about it. I think that distinction is crucial. AI is already a learning tool, whether institutions like it or not. Trying to ban it entirely is like trying to ban calculators after they already exist. The more interesting question is how we design assessments so that AI use shifts from shortcut to scaffold. If a student uses AI to study, practice explanations, or test their understanding, and then has to demonstrate that understanding orally, that&#8217;s not a failure of education, that&#8217;s arguably a better alignment between tools and outcomes.</p><p>There was also a comment praising oral exams for valuing communication skills, which are undeniably important in the real world. As someone working in data science, I can say this is true but incomplete. Yes, being able to explain complex ideas clearly is a career advantage. But another comment rightly raised concerns about accessibility: oral exams can be a real barrier for people with speech impediments, neurodivergence, anxiety, or even just discomfort hearing their own voice. From a systems perspective, this matters. If an assessment method systematically disadvantages certain groups, then its signal is noisy. You&#8217;re no longer measuring &#8220;who understands the material,&#8221; you&#8217;re measuring &#8220;who performs best under a very specific social constraint.&#8221;</p><p>What I take away from all these comments is that oral exams aren&#8217;t inherently good or bad, they&#8217;re a tool. And like any tool, their value depends on how and why they&#8217;re used. AI didn&#8217;t break education; it exposed how much of our testing was optimized for recall rather than reasoning. The real question isn&#8217;t &#8220;how do we stop students from using AI?&#8221; but &#8220;are our pedagogy and evaluation methods keeping up with the world students are entering?&#8221; From a data scientist&#8217;s lens, if your metric is easy to game, you don&#8217;t blame the player, you redesign the metric. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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[OpenAI vs Google Gemini: What the AI face-off means for users]]></title><description><![CDATA[OpenAI vs Google Gemini: What the AI face-off means for users]]></description><link>https://blog.kidatalab.com/p/openai-vs-google-gemini-what-the</link><guid isPermaLink="false">https://blog.kidatalab.com/p/openai-vs-google-gemini-what-the</guid><dc:creator><![CDATA[Nazan | NextInData]]></dc:creator><pubDate>Sat, 13 Dec 2025 01:43:28 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1c383dd5-718b-4db7-8464-e7d2c5c42b3f_1024x622.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The competition between OpenAI and Google has hit a new peak this week, and the ripple effects are landing directly in users&#8217; hands. Beyond the PR noise, the real story is how this arms race is shifting product quality, reliability, pricing, and the way we work with AI in daily life.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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><strong>This week&#8217;s escalation</strong></p><p>OpenAI launched GPT&#8209;5.2, positioning it as its strongest model for professional, multi&#8209;step work, with notable gains in coding, long&#8209;context handling, image perception, and complex project execution. OpenAI highlighted benchmark wins (e.g., perfect AIME 2025 performance for the &#8220;Thinking&#8221; tier versus GPT&#8209;5.1&#8217;s 94), underscoring a push toward more dependable reasoning without external tools.</p><p>On the same day, Google unveiled an upgraded Gemini Deep Research agent powered by Gemini 3 Pro, designed to synthesize large information sets, produce research reports, and embed a research&#8209;grade agent across Google products like Search, Finance, NotebookLM, and the Gemini app, signaling a strategy to fuse AI directly into the information stack users already touch daily.</p><p>These moves followed weeks of mounting pressure: reporting described OpenAI declaring a &#8220;code red&#8221; internally in response to Google&#8217;s Gemini 3 surge, a clear sign of how seriously both companies are treating this moment.</p><p>Where the models are diverging</p><ul><li><p><strong>Reasoning and complex tasks:</strong> OpenAI is promoting GPT&#8209;5.2&#8217;s gains in long&#8209;context understanding, math, and multi&#8209;step workflows, framing it as better suited for professional use and tool&#8209;assisted projects. Benchmarks and capability claims emphasize stronger structured problem&#8209;solving.</p></li><li><p><strong>Embedded research agent:</strong> Google&#8217;s Gemini Deep Research leans into synthesis at scale, managing large context dumps, due diligence, and domain&#8209;specific research (e.g., drug toxicity), and is being woven into core Google surfaces, reducing friction between &#8220;search&#8221; and &#8220;analysis&#8221; for everyday users.</p></li><li><p><strong>Platform strategy:</strong> OpenAI focuses on model tiers (Instant, Thinking, Pro) and professional utility; Google focuses on pervasive integration across its product ecosystem. The former bets on better &#8220;brains,&#8221; the latter on better &#8220;placement&#8221; in users&#8217; workflows.</p></li></ul><p>Industry coverage this week has described the dynamic as a genuine face&#8209;off, with both sides explicitly timing releases and messaging to compete head&#8209;to&#8209;head on reasoning, coding, and research&#8209;grade use cases.</p><p>Practical impacts for users</p><ul><li><p><strong>Faster, more capable assistants:</strong> Expect better spreadsheet generation, presentations, code scaffolding, and long&#8209;context comprehension in chat interfaces, reducing the need for manual stitching of tools. These are specifically cited as improvements in GPT&#8209;5.2&#8217;s capabilities.</p></li><li><p><strong>Research built into search:</strong> Gemini Deep Research&#8217;s embedding into Google products could turn &#8220;search&#8221; into &#8220;synthesized answers + sources,&#8221; cutting the time from query to usable summary or due diligence brief.</p></li><li><p><strong>Lower friction in daily workflows:</strong> If your work lives in Google&#8217;s ecosystem (Docs, Drive, Search), Gemini&#8217;s integrations may feel more natural. If you rely on structured task execution (coding, multi&#8209;step prompts, long project threads), GPT&#8209;5.2&#8217;s tiers and reasoning focus may fit better.</p></li><li><p><strong>Benchmark&#8209;driven trust but keep perspective:</strong> OpenAI&#8217;s benchmark wins convey progress, but real&#8209;world reliability depends on context, guardrails, and product integrations. Google&#8217;s approach may prioritize consistency within its ecosystem over benchmark headlines.</p></li></ul><p>Risks and trade&#8209;offs</p><ul><li><p><strong>Rapid changes, uneven reliability:</strong> With both companies iterating quickly, users may see capability spikes alongside shifting behaviors, UI changes, and evolving limits. Coverage this week characterized the pace as an intensified &#8220;arms race,&#8221; which often brings volatility alongside innovation.</p></li><li><p><strong>Ecosystem lock&#8209;in:</strong> Deeper integration means convenience, but switching costs rise. Gemini&#8217;s embedding across Google products and OpenAI&#8217;s tiered model access could nudge users into vendor&#8209;specific workflows.</p></li><li><p><strong>Opaque differences behind similar claims:</strong> Both sides claim superior reasoning and coding; the real distinction often shows up in edge cases, long&#8209;context stability, factual precision under heavy synthesis, and tool orchestration quality.</p></li></ul><p>How to choose right now</p><ul><li><p><strong>If you live in Google&#8217;s stack:</strong> You&#8217;ll likely benefit from Gemini Deep Research&#8217;s native synthesis in Search, NotebookLM, and Finance, especially for research, briefs, and context&#8209;heavy reviews.</p></li><li><p><strong>If you need structured execution:</strong> GPT&#8209;5.2&#8217;s reported improvements in long&#8209;context, math, coding, and multi&#8209;step projects, plus its &#8220;Thinking&#8221; tier&#8217;s benchmark gains, make it strong for complex, repeatable workflows.</p></li><li><p><strong>Test with your own tasks:</strong> Run the same multi&#8209;step prompt or research question on both. Compare context retention, citation quality, and how well each integrates with your daily tools. The week&#8217;s news suggests both are improving, but your workflow will expose the practical winner.</p></li></ul><p>This week&#8217;s duel (OpenAI&#8217;s GPT&#8209;5.2 vs Google&#8217;s Gemini Deep Research( brings tangible gains: stronger reasoning and coding from OpenAI, and more embedded, research&#8209;grade synthesis from Google. For users, the real benefit is choice: pick the assistant that best fits your workflow, not just the strongest headline benchmark.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.kidatalab.com/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! Subscribe for free to receive new posts and support my work.</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>