<?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[Experimental: weekly prompts]]></title><description><![CDATA[weekly prompts]]></description><link>https://notas.micazev.com/s/weekly-prompts</link><image><url>https://substackcdn.com/image/fetch/$s_!R7oQ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741d4a74-3a3c-45dc-942f-80ccc5e75729_256x256.png</url><title>Experimental: weekly prompts</title><link>https://notas.micazev.com/s/weekly-prompts</link></image><generator>Substack</generator><lastBuildDate>Sat, 27 Jun 2026 11:49:25 GMT</lastBuildDate><atom:link href="https://notas.micazev.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Michelle]]></copyright><language><![CDATA[pt-br]]></language><webMaster><![CDATA[viaexperimental@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[viaexperimental@substack.com]]></itunes:email><itunes:name><![CDATA[Michelle Azevedo]]></itunes:name></itunes:owner><itunes:author><![CDATA[Michelle Azevedo]]></itunes:author><googleplay:owner><![CDATA[viaexperimental@substack.com]]></googleplay:owner><googleplay:email><![CDATA[viaexperimental@substack.com]]></googleplay:email><googleplay:author><![CDATA[Michelle Azevedo]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[weekly prompts 6 | token math isn’t the whole math]]></title><description><![CDATA[about paying for a moving target]]></description><link>https://notas.micazev.com/p/the-token-math-isnt-the-whole-math</link><guid isPermaLink="false">https://notas.micazev.com/p/the-token-math-isnt-the-whole-math</guid><dc:creator><![CDATA[Michelle Azevedo]]></dc:creator><pubDate>Sun, 07 Jun 2026 14:46:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wYai!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wYai!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wYai!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!wYai!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!wYai!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!wYai!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wYai!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294184,&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://notas.micazev.com/i/199418225?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.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_!wYai!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!wYai!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!wYai!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!wYai!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca2d800a-f71e-4ceb-ab78-404f99c986ff_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>some ppl on reddit claim claude&#8217;s subscription has a better effective $/token rate than the pay-as-you-go API. i wanted to see it with my own eyes.</p><p>so this post is two things: a little rant about what we&#8217;re actually paying for, and then the savvy cheap-but-still-high-quality experiment i ran: claude code pointed at deepseek&#8217;s anthropic-compatible endpoint, max effort, 1M context.</p><div><hr></div><p>this is a tech section in <strong><a href="http://notas.micazev.com/">experimental</a>&#8217;s newsletter</strong>.</p><p>if you prefer follow <strong><a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/">weekly prompts on linkedin</a></strong> &amp; unfollow this section here on substack.</p><div><hr></div><h2>the apple parallel</h2><p>apple taught us the shape of the trick: your phone gets weird and slow, you update, suddenly it&#8217;s fine again, or you just buy the new one. </p><p>the motive&#8217;s contested (battery protection vs. planned obsolescence), nobody outside cupertino really knows, but the effect is undeniable, and it&#8217;s an inescapable business model you&#8217;re forced to participate in.</p><p>AI providers are doing a version of this, except clumsier and more public: users keep reporting claude or GPT &#8220;feels dumber,&#8221; and the companies eventually admit they tweaked an effort default, changed a system prompt, shipped a verbosity fix that broke reasoning.</p><p>fine. whatever. who cares.</p><p>except, we never get to verify any of it, and we have no power to <em>not</em> upgrade, <strong>the thing we&#8217;re paying for just stops working the way it did yesterday.</strong></p><p>the reality is that they need us on the new models&#8230;.</p><h2>you pay, and you&#8217;re the product</h2><p>we&#8217;re a decade into social media, so we know the rule: </p><p><strong>if you&#8217;re not paying for something, you&#8217;re the product.</strong></p><p>but the social media version is that <strong>you pay with attention</strong> (aka your time of life) and in exchange you get reach, connections, a whole bunch of fun new things&#8230;</p><p>with AI you hand over your hours for productivity, digested knowledge, automations (things that&#8217;ll keep changing too, the way feeds did),</p><p>so, you pay with attention, money, <em>and</em> you&#8217;re the product.</p><p>every prompt feeds the system that trains the next model <em>and</em> you&#8217;re paying for it.</p><p><strong>so, two things we already recognize:</strong></p><ul><li><p>the product decays and you pay to &#8220;upgrade,&#8221; like the apple cycle</p></li><li><p>they hook you into using it more so they harvest your data, your behavior, your preferences, your weird specific use cases</p></li></ul><p><strong>and two things that are new:</strong></p><ul><li><p>when you upgrade, you apparently get <em>less</em>. the &#8220;smarter&#8221; model is more expensive to run, so your subscription burns through its limits faster. you pay more to chat less.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dAPR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dAPR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dAPR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dAPR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dAPR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dAPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg" width="528" height="431.2437810945274" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:985,&quot;width&quot;:1206,&quot;resizeWidth&quot;:528,&quot;bytes&quot;:92287,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://notas.micazev.com/i/199418225?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dAPR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dAPR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dAPR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dAPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f10f5ec-9cac-4d73-9dcd-bf28266b437d_1206x985.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>unlike a phone or a feed, the product is non-deterministic. you can&#8217;t audit it. there&#8217;s no fixed thing to compare against , so the &#8220;$/token&#8221; question i started with has no honest answer. which is exactly how a moving target stays a moving target.</p></li></ul><p>that&#8217;s the real reality check, now whether our expectations are aligned&#8230;</p><p> let&#8217;s talk configs and tokens.</p><h2>tokens are the wrong unit</h2><p>nobody buys tokens. people buy hours of work. tokens are just the meter running underneath, what you actually want is a feature shipped, a bug fixed, an essay written.</p><p>and the two billing models don&#8217;t just cost different amounts. they <em>behave</em> differently:</p><ul><li><p>on the subscription model, max effort <strong>costs nothing extra</strong>, you just hit your rate limit faster, wait for the window to reset and you&#8217;re back. annoying, but &#8220;free.&#8221;</p></li><li><p>on pay-per-token, you don&#8217;t hit a wall. you just bleed credits. no waiting, no reset&#8230; <strong>reload your balance or stop working.</strong></p></li></ul><h2>the experiment: swapping claude code&#8217;s brain</h2><p>claude code is anthropic&#8217;s CLI/agent tool, by default it talks to </p><p>https://api.anthropic.com</p><p> and runs claude models.</p><p>deepseek&#8217;s &#8220;anthropic-compatible endpoint&#8221; is just an API at <code>https://api.deepseek.com/anthropic</code> that speaks the same protocol, same request format, same response shape, same auth pattern. so any client built for anthropic&#8217;s API (claude code included) can talk to it without code changes.</p><p>the swap is done with env vars: claude code reads them, sends its requests to deepseek instead, and never knows the difference. </p><p>same agent loop, same tool-use logic, same VS Code integration, but a different brain doing the thinking. (same pattern as pointing an openai SDK at a local ollama server, or at groq, for example)</p><p>here&#8217;s the config:</p><pre><code><code>#!/usr/bin/env sh

export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="&lt;your-deepseek-api-key&gt;"
export ANTHROPIC_MODEL="deepseek-v4-pro[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-v4-pro[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4-flash[1m]"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"
export CLAUDE_CODE_EFFORT_LEVEL="max"
</code></code></pre><p>rememebr it&#8217;s pay-per-token, so you must buy some Deepseek credits. </p><p>(tip: run <code>/status</code> inside claude code after launching to confirm the base URL and model actually switched.)</p><p><code>CLAUDE_CODE_EFFORT_LEVEL=max</code> tells the model to use maximum reasoning tokens per turn and combine that with <code>deepseek-v4-pro[1m]</code> it&#8217;s the best model you can get to think about long context tasks (many pages pdfs, large code database, etc). So each turn burns significantly more billable tokens than a &#8220;normal&#8221; call. </p><p><strong>TL;DR max effort + 1M context = the most expensive config you can run.</strong></p><h2>the math, honestly</h2><p>i tested it on a small session: 4 hours of coding, ~$5 burned on deepseek pay-per-token at max effort + 1M context.</p><ul><li><p>~$5 for 4 hours = ~$1.25/hour</p></li><li><p>hour 20: 20 &#215; $1.25 = $25 burned</p></li><li><p>40 hrs/week &#215; 4 weeks &#8776; ~$200/month, climbing</p></li></ul><p>meanwhile the sub is flat at ~$100/month no matter how many hours i log, so somewhere around hour 20, the pay-per-token bill crosses the sub price, and from there every extra hour just widens the gap.</p><p>so yeah, reddit was right. como a gente diz no brasil: a voz do povo &#233; a voz de deus kk</p><h2>but.</h2><p>the product underneath you shifts week to week, and it&#8217;s non-deterministic, there&#8217;s nothing fixed to measure against. subscription or pay-as-you-go, you&#8217;re paying for a moving target, you can cry on twitter about slop models, but it&#8217;s about as effective as crying over gravity.</p><p>and here&#8217;s the real math: those &#8220;extra&#8221; hours the sub keeps handing you aren&#8217;t generosity, they decide how fast you burn, how many hours you get, they hand you more hours because more usage is more data, and the data trains the next model you&#8217;ll pay to upgrade to. </p><p>you&#8217;re using the product, sure, but mostly the product is using you, you can&#8217;t audit a thing that&#8217;s being moved on purpose in the direction that extracts the most from you.</p><p>so yeah, that&#8217;s the actual math.</p><p>til next &#8220;weekly prompts&#8221;,</p><p>subscribe for more (:</p><p>Best regards,</p><p>Mica</p>]]></content:encoded></item><item><title><![CDATA[weekly prompts 05 | the big company playbook, now available to everyone]]></title><description><![CDATA[the developer who thinks clearly about tradeoffs is more valuable than the one who follows the playbook]]></description><link>https://notas.micazev.com/p/weekly-prompts-05-the-big-company</link><guid isPermaLink="false">https://notas.micazev.com/p/weekly-prompts-05-the-big-company</guid><dc:creator><![CDATA[Michelle Azevedo]]></dc:creator><pubDate>Tue, 26 May 2026 06:57:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/51a0088c-5442-4d5c-b572-3e34f276b342_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>this is a tech section in <strong><a href="http://notas.micazev.com/">experimental</a>&#8217;s newsletter</strong>. if you prefer follow <strong><a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/">weekly prompts</a></strong><a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/"> on linkedin</a> &amp; unfollow this section here on substack.</p><div><hr></div><p><em><strong>march 15th, 2026</strong></em></p><p>hi guys! welcome to another weekly prompts (:</p><p>today&#8217;s rambling is on what a solo developer can execute now.... </p><p>this edition is basically a live example of it: </p><p>migrating infrastructure, launching a satellite product, and reworking market positioning simultaneously... </p><p>while freelancing and <strong><a href="https://www.instagram.com/micazev/">exploring vietnam</a></strong>, </p><p>not sure if all of that could be done simultaneously by one single person five years ago.</p><p>___</p><p>a quick note before we start: if you&#8217;re new here, so far we are kinda answering...</p><p>&#8220;<strong>where does software judgment come from?</strong>&#8220;</p><ol><li><p><strong><a href="https://www.linkedin.com/pulse/descoberta-de-produto-pra-devs-escutar-os-usu%C3%A1rios-%C3%A9-t%C3%A3o-azevedo-9mr6c/?trackingId=3wOSwJRTRSK7xH3bOjLIbQ%3D%3D">first edition</a></strong> covered ubiquitous language<strong> </strong>says <strong>it comes from talking to people, not just writing code;</strong></p></li><li><p><strong><a href="https://www.linkedin.com/pulse/sua-stack-t%C3%A1-errada-e-tudo-bem-commits-da-semana-2-michelle-azevedo-1jgec/">second ed</a></strong>: the refactor vs. rebuild edition says <strong>it comes from honest assessment, not technical ego;</strong></p></li><li><p><strong><a href="https://www.linkedin.com/pulse/arquitetura-que-um-estagi%C3%A1rio-entenderia-commits-da-semana-azevedo-i18ac/">third ed</a></strong>: the architecture one says <strong>it comes from resisting borrowed complexity from big corp, being honest on how sometimes things can actually be simplified;</strong></p></li><li><p><strong><a href="https://www.linkedin.com/pulse/ai-adoption-isnt-merely-technical-weekly-prompts-4-michelle-azevedo-rvjgc/?trackingId=IMxeh7BBR1i%2BbxC9ZblkZA%3D%3D">forth ed</a></strong>: the AI<strong> </strong>trust one says <strong>it comes from deciding how much uncertainty you&#8217;re willing to expose in your system.</strong></p></li></ol><p>so we have the same argument from four different angles: <strong>the developer who thinks clearly about tradeoffs is more valuable than the one who follows the playbook.</strong></p><p>___</p><p>today idk, let&#8217;s just be brief and opinionated on modern stacks and marketing strategy.</p><p>let&#8217;s go (:</p><p><strong>git diff -- vercel + supabase vs. railway</strong></p><p>i&#8217;m testing a sub-product of <strong><a href="https://leilaonomapa.com/">leil&#227;o no mapa</a></strong> (the SaaS I&#8217;m building) this week and for that I&#8217;m using <strong><a href="https://railway.com/">railway</a></strong>. i stumbled on this product while building the competitor analysis dashboard for a client, which I mentioned last week.</p><p>the cost is meaningfully cheaper, and railway runs on a canvas model: every service you have, your postgres instance, your app, your workers, whatever else, appears as a node you can visually connect.</p><p>internal communication between services happens over a private network by default, no extra config, no going through <em>the public internet</em>... for a solo dev running more than one project, the cognitive overhead of keeping infrastructure in your head is real, so this removes a layer of it. you look at the canvas and you just... see the thing lol</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JhFH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JhFH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png 424w, https://substackcdn.com/image/fetch/$s_!JhFH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png 848w, https://substackcdn.com/image/fetch/$s_!JhFH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png 1272w, https://substackcdn.com/image/fetch/$s_!JhFH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JhFH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!JhFH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png 424w, https://substackcdn.com/image/fetch/$s_!JhFH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png 848w, https://substackcdn.com/image/fetch/$s_!JhFH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.png 1272w, https://substackcdn.com/image/fetch/$s_!JhFH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019f2c2-044b-4ae3-81bc-6aaf7552cec7_1488x967.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"></figcaption></figure></div><p>the pricing model also fits differently: vercel and supabase both have their own billing logic based on requests, bandwidth, database size. meanwhile railway charges for actual resource consumption, cpu and memory.</p><p>so the test of railway and possibly a full migration of the solution isn&#8217;t driven by a technical failure, this isn&#8217;t a verdict against vercel or supabase, but for where i am right now, I think that&#8217;s not the right fit anymore.</p><p>___</p><p><strong>git branch -- one product becomes two</strong></p><p>after a lot of user conversations about leil&#227;o no mapa, one thing became impossible to ignore: the juridical and compliance analysis of the real estate <em>matricula</em> is where people actually get stuck.</p><p>the matricula is the property registration document in brazil, and reading it correctly, knowing what to flag, what to look up next, is the real bottleneck in the market. my competitors have some tooling for this, but it&#8217;s buried inside chunky UIs.</p><p>so i&#8217;m testing <strong><a href="http://analisematricula.com/">analisematricula.com</a></strong> as a standalone product. not a feature inside leil&#227;o no mapa, just a separate thing. you paste or upload a matricula and it doesn&#8217;t just read it, it gives you next steps: check jusbrasil, search this on the web, here are the phone numbers you need... a shortcut for anyone buying, renting, or bidding at auction, but also useful for law firms and <em>imobili&#225;rias</em> that do this dozens of times a month.</p><p>splitting products isn&#8217;t a new strategy, adobe has been doing it for years, launching focused standalone tools like adobe express and adobe sign instead of cramming every bet into creative cloud, for example.</p><p>now with AI solo developers can run the same playbook, not with the same resources ofc lol but with the same logic. i&#8217;m not certain splitting is the right call, maybe the answer is to keep everything in one place and explore UX approaches, but the user signal was clear enough that i want to test the hypothesis cleanly.</p><p>___</p><p><strong>git stash -- making a boring market feel interesting</strong></p><p>the other experiment: repositioning leil&#227;o no mapa. same product, different framing.</p><p>real estate auctions in brazil are genuinely associated with bureaucracy, confusion, and the faint feeling that something sketchy is going on. that reputation isn&#8217;t entirely wrong, which is part of what makes it interesting.</p><p>boring markets are often boring because nobody made the effort to explain them, and a market that nobody understands is one where the people with information profit over the people without it.</p><p>so, the audience i want to reach isn&#8217;t just the experienced investor hunting for a deal, it&#8217;s the person who has the money, who would otherwise end up in a <em>lan&#231;amento na planta</em> at inflated prices, or worse, buying something without understanding what they actually own...</p><p>real estate literacy in brazil is genuinely low, and that gap has real costs for people, so the strategy, if i can call it that, isn&#8217;t just about making leil&#227;o no mapa more appealing, it&#8217;s about reframing the buying experience itself as the product, not &#8220;here are auctions, good luck.&#8221; but &#8220;here&#8217;s what you need to understand to make a confident decision, here is a free deep explanation on what is what, and here&#8217;s the tool that helps you explore this world.&#8221;</p><p>the product doesn&#8217;t change much, the context does a bit, so I&#8217;m trying to frame something like where the product is obviously the right choice for a specific person in a specific context, and the context i want to own is financial literacy meets accessible real estate, not yet another auction aggregator competing on volume of listings, so I don&#8217;t need to compete with those solutions as well.</p><p>can i really do it? idk lol let&#8217;s test. whether the rebranding reflects that or not, i&#8217;ll find out when i try to write the copy and reaching people, that&#8217;s usually when you discover whether the idea actually holds, apparently.</p><p>for this week that&#8217;s all, thanks for reading s2</p><p>don&#8217;t be shy, let&#8217;s make linkedin less awkward, chime in on the comments (!)</p><p>until the next prompt, <strong><a href="https://www.linkedin.com/in/micazev/">Michelle (:</a></strong></p><p><strong><a href="https://www.linkedin.com/company/mica-tech-studio">Mica Tech Studio</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zgl0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zgl0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Zgl0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Zgl0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Zgl0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zgl0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!Zgl0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Zgl0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Zgl0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Zgl0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6d14b1-eca2-49b5-b95f-f716020e78bf_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[weekly prompts 04 | AI adoption isn't merely technical ]]></title><description><![CDATA[why AI adoption is blocked by capability and trust?]]></description><link>https://notas.micazev.com/p/weekly-prompts-04-ai-adoption-isnt</link><guid isPermaLink="false">https://notas.micazev.com/p/weekly-prompts-04-ai-adoption-isnt</guid><dc:creator><![CDATA[Michelle Azevedo]]></dc:creator><pubDate>Tue, 26 May 2026 06:45:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a77ca605-6118-47c6-a452-41e81b6d1c97_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>this is a tech section in <strong><a href="http://notas.micazev.com/">experimental</a>&#8217;s newsletter</strong>. if you prefer follow <strong><a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/">weekly prompts</a></strong><a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/"> on linkedin</a> &amp; unfollow this section here on substack.</p><div><hr></div><p><em><strong>march 8th, 2026</strong></em></p><p>this week: why AI adoption is blocked by capability <em>and</em> trust, and how it plays out inside your pipeline the moment a model enters it.</p><p>let&#8217;s go (:</p><p>____</p><h2><strong>git fetch: the AI adoption gap</strong></h2><p>anthropic published a report on where AI is theoretically capable of making a dent and where it already should have, but hasn&#8217;t.</p><p>blue is theoretical coverage per job category. red is observed adoption. stare at legal and business &amp; finance for a second:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8jIG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8jIG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8jIG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8jIG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8jIG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8jIG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg" width="1080" height="999" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:999,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!8jIG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8jIG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8jIG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8jIG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8d4ee2c-2468-413b-b4d5-42f0ccd2ed69_1080x999.jpeg 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"></figcaption></figure></div><p>in 2019 i was at deloitte automating workflows for accountants and lawyers. not with llms, but with robotic process automation, scripts, macros, and it was the low-code wave! so, uipath, power automate, the whole thing... technology that was already objectively faster and more precise than a human being.</p><p>the promise was clear: business people would do what developers do. everyone would automate everything with drag and drop. no engineers needed. and further out, so much of finance and accounting would be automated that entire roles would disappear.</p><p>___</p><h3><strong>git push --force: shipping automation nobody asked for</strong></h3><p>what actually happened: companies put real effort into getting business people to do it. they ran training sessions, bought licenses, made decks about the future of work. and still, nobody in a suit wanted to touch it for 40 hours a week. they had actual jobs, automation was someone else&#8217;s problem.</p><p>or they saw the automation wave oversell and underdeliver, maybe?</p><p>the platforms got expensive fast, only large companies could afford them at scale, and you still needed an orchestrator specialist, a developer for the edge cases, and someone to make sure people actually used the thing: yes, a surprising number of useful automations were built, handed over, and quietly never ran in production.</p><p>six years later models are better, we are what? 2 years in AI? but the chart still looks like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E5BO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E5BO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E5BO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E5BO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E5BO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E5BO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg" width="1080" height="999" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:999,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!E5BO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E5BO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E5BO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E5BO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd04f4c6-a6a2-4e88-8b69-03b11f33b6e3_1080x999.jpeg 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">again, cause our attention span is low</figcaption></figure></div><p>my instinct is to say: the gap has never really been about the capability of the technology, or about turning the business worker into a technical one with a powerful tool... actually, i don&#8217;t think that gap ever fully closes, it has always been more about access control and internal politics.</p><p>legal and finance, to keep the example, haven&#8217;t adopted more AI partly because the models still aren&#8217;t reliable enough for the liability surface those industries carry. a hallucinated clause in a contract isn&#8217;t a trust problem. it&#8217;s a product problem, and they&#8217;re correctly pricing the cost of a silent failure in a regulated environment, so the gap is still there.</p><p>now, don&#8217;t get me wrong. AI-based solutions will take a meaningful share of these occupations, because part of trust is downstream of capability. when the systems become reliable enough, adoption follows.</p><p>today i&#8217;m playing a bit of both sides here. i&#8217;m skeptical about how fast the gap closes, but at the same time my long-term prediction is almost a bit utopian, or catastrophic, depending on how you look at it...</p><p>___</p><h2><strong>git branch: the startup window</strong></h2><p>that complexity is usually framed as an opportunity for mid-sized companies and we&#8217;ve heard the argument before with mobile, cloud, low-code: being small and fast is a structural advantage.</p><p>but this time the window is shorter, my guess is: one to two years for small and mid-sized companies to move before big solutions consolidate, depending on the industry.</p><p>the window closes faster than small companies can operationalize, because speed at the prototype stage doesn&#8217;t compound. execution does, so when large firms move, they move with distribution, compliance infrastructure, and customer trust already built.</p><p>___</p><h2><strong>git permissions: who gets access to the sauce</strong></h2><p>so the honest version of the opportunity isn&#8217;t &#8220;small is better&#8221;, it&#8217;s more closer to this: there&#8217;s a window where experimentation is cheap enough that you can build something real before the category gets defined for you.</p><p>that window is open, but it&#8217;s also temporary, and it requires operational follow-through that most companies &#8220;moving fast&#8221; aren&#8217;t actually doing.</p><p>the move for mid-sized companies isn&#8217;t to imagine a long future inside that gap, it&#8217;s to capture it while it&#8217;s open: you can now build a working prototype in days instead of months... not just replicating existing processes, but enriching them with knowledge that wasn&#8217;t accessible before.</p><p>but to do that, business owners who want any shot at competing with increasingly monopolistic firms have to do something uncomfortable: they have to hand their entire sauce to a random developer. their processes. their exceptions. their workarounds. every undocumented thing keeping the operation running. all of it. on a shared drive. with someone they met three weeks ago.</p><p>the developer sits in the middle of this, building the trust layer that neither side can provide on their own: between the model, the client expectations of handing over their entire process logic to someone they met three weeks ago, and the big players that already dominate the market.</p><p>this was already a bottleneck during the automation wave. now the trust stack has more layers:</p><p><em>0_ trust the developer</em></p><p><em>1_ </em>trust the model</p><p>2_ trust how the developer is using the model.</p><p>that third one is invisible to most clients, it&#8217;s where the real costs hide, and where the biggest misconceptions live right now... which brings me to what i was building this week.</p><p>___</p><h2><strong>git log: tracing the disappearance</strong></h2><p>I&#8217;m building a competitive analysis platform for a client. the core of it: read and classify a large volume of industry documents: the kind of work that used to require a dedicated research team at a large firm. AI makes it possible at a different cost curve. but AI in the middle of a real system is a different animal than AI in a demo.</p><p>most of the pipeline was built quickly with AI assistance. fast enough that someone who doesn&#8217;t usually work with this stack could get something running, which is the promise of this moment: you can assemble a working system much faster than before. ofc.</p><p>but speed hides a different kind of fragility. the prompt was loose, the contracts between stages weren&#8217;t clearly defined, and everything looked correct at the surface level, until you looked at the data.</p><p>the file classification pipeline looked fine. the dashboard showed &#8220;X files classified.&#8221; the process completed without exceptions. logs were clean... it wasn&#8217;t fine.</p><p>files were entering the pipeline, going through every stage, and not showing up in the database. no error. no warning. the pipeline thought it had done its job. the database had no idea those files ever existed.</p><p>three distinct failure modes, each quieter than the last:</p><p>_ the first: a nearly-empty file. the code identified it, decided there wasn&#8217;t enough content to justify an AI call, skipped it. no output. no database row. the file evaporated.</p><p>_ the second: the AI reads a document and returns &#8220;Global Brand.&#8221; the system checks the taxonomy &#8212; there&#8217;s Global Brand Owner, Regional Brand Owner &#8212; but &#8220;Global Brand&#8221; without &#8220;Owner&#8221;? not recognized. rejected, silently. no note that it was attempted. the field disappears.</p><p>_ the third: even if the first two let something through, a final check verified whether the value had a matching entry in the taxonomy table. wrong capitalization, incomplete seed data &#8212; it printed a warning to the console and moved on. the row was never inserted. the file appeared classified in the JSON output. the database had no idea it existed.</p><p>none of this is new! empty record handling, taxonomy mismatches, constraint validation errors... the AI layer doesn&#8217;t introduce new failure modes, it just makes the old ones harder to anticipate, and harder to catch, because the output <em>looks</em> reasonable. the fix has a name: defensive programming, but how to implement it now that the contract is probabilistic?</p><p>____</p><h2><strong>git blame: the contract nobody wrote</strong></h2><p>in traditional systems, observability is about capturing state: what happened, when, with what inputs. logs, stack traces, metrics... the contracts can be confuse, but are explicit: types, function signatures, tests. when something breaks, the system tells you.</p><p>AI-in-the-middle systems are different. the contract isn&#8217;t explicit anymore, your code calls a model, the model returns something that <em>looks</em> reasonable, passes the validation you wrote, and still maps to nothing your system understands.</p><p>the instinct is to patch the edges: add more aliases, loosen the matching, make the search more tolerant, but that assumes the model behaves like deterministic code. it doesn&#8217;t. the output will always produce edge cases, that&#8217;s not a bug you close, it&#8217;s the nature of the contract you&#8217;re working with, which creates a tension you can&#8217;t resolve cleanly.</p><p>you need the model to reason beyond your explicit rules, that&#8217;s the whole point! but you also need it not to invent things your system can&#8217;t handle. so, the more freedom you give it, the more value it can generate. the more you constrain it, the safer the pipeline becomes (but then you have what, an expensive regex?)</p><p>the questions to worry about now are: how much uncertainty your system tolerates, at which step, and what failure costs if it goes undetected. (can you answer that in AI speed?)</p><p>right now, developers sit in the middle of that calibration. part of the job is still technical, schemas, validation layers, defensive checks... and translating messy business processes into something a probabilistic system can operate inside: defining the contracts, anticipating the failure modes, deciding what &#8220;good enough&#8221; actually means for that pipeline.</p><p>__</p><h2><strong>git rebase: developers removed from history</strong></h2><p>and there&#8217;s an uncomfortable implication here. the reason so much scaffolding exists today is partly because models still struggle to follow structured contracts reliably. the expectation, explicitly promised by the people building them, is that this improves... as structured output, tool use, and self-correction get better, some of that scaffolding shrinks.</p><p>if that happens, the translation layer developers are currently building starts to stabilize and historically, when translation layers stabilize, platforms absorb them. cloud platforms absorbed infrastructure management. payment platforms absorbed the complexity of payment networks.</p><p>which means the interesting gap in those adoption charts will actually be filled by the AI companies themselves. it might be what happens to everyone whose value today comes from translating between the business and the machine (developers, consultants, internal operators) when the platform learns to speak both languages.</p><p>___</p><h2><strong>git push origin monopoly</strong></h2><p>if that translation layer stabilizes fast enough, the business logic currently being extracted to build these systems doesn&#8217;t just power the company that implemented it... it flows upstream into the platforms themselves.</p><p>and historically, when platforms absorb the complexity of a layer, they also absorb a large part of the value created in that layer... so the real risk isn&#8217;t only that developers become less necessary as translators (sorry for bringin that up last minute lol), but it&#8217;s that if this shift happens quickly enough, the gap between capability and trust that companies are currently bridging with their own AI systems becomes the raw material for the next generation of platform monopolies.</p><p>in other words: the question isn&#8217;t just who fills the gap. it&#8217;s who captures it <strong>once it closes</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_y_4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_y_4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_y_4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_y_4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_y_4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_y_4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg" width="1080" height="999" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:999,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!_y_4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_y_4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_y_4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_y_4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac63cedd-019d-4dd7-858a-da42f17f8d43_1080x999.jpeg 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">here! do you even remember what gap we are talking about?</figcaption></figure></div><p>___</p><p><em>quick note: this newsletter was previously in Portuguese as &#8220;commits da semana.&#8221; it&#8217;s now in english &#8220;weekly prompts&#8221;, to reach more people. if you were here before: ol&#225;, bem-vindo &#224; vers&#227;o gringa (:</em></p><p>___</p><p>until the next prompt, <strong><a href="https://www.linkedin.com/in/micazev/">Michelle (:</a></strong></p><p><strong><a href="https://www.linkedin.com/company/mica-tech-studio">Mica Tech Studio</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-aSV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-aSV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!-aSV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!-aSV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!-aSV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-aSV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!-aSV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!-aSV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!-aSV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!-aSV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15f5c216-0330-4768-84e4-12b01366cebf_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[weekly prompts 03 | a arquitetura que um estagiário entenderia ]]></title><description><![CDATA[em ci&#234;ncia da computa&#231;&#227;o s&#243; tem duas coisas dif&#237;ceis...]]></description><link>https://notas.micazev.com/p/weekly-prompts-03-a-arquitetura-que</link><guid isPermaLink="false">https://notas.micazev.com/p/weekly-prompts-03-a-arquitetura-que</guid><dc:creator><![CDATA[Michelle Azevedo]]></dc:creator><pubDate>Tue, 26 May 2026 06:43:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3970e300-488a-4090-b30c-6c49dd4de516_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>essa &#233; uma se&#231;&#227;o de tecnologia da news <a href="http://notas.micazev.com/">experimental</a>, siga essa news tamb&#233;m <a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/">no linkedin</a> &amp; voc&#234; pode se desinscrever dessa se&#231;&#227;o e se manter nas outras se quiser (:</p><div><hr></div><p><em><strong>01 de mar&#231;o de 2026</strong></em></p><p>em ci&#234;ncia da computa&#231;&#227;o s&#243; tem duas coisas dif&#237;ceis:</p><p>0_ invalida&#231;&#227;o de cache;</p><p>1_ dar nomes &#224;s coisas;</p><p>2_ erros de &#8216;um por um&#8217;.</p><p>n&#227;o sei de quem &#233; essa piada, mas acho que todo dev j&#225; ouviu alguma vers&#227;o dela &#128514;</p><p>vamos nomear algumas coisas hoje! vamos de monolito, monorepo, microservi&#231;os e o porqu&#234; isso importa mais agora em tempos de IA.</p><p>bora l&#225; (:</p><h2><strong>git diff: monolito, monorepo e microservi&#231;os</strong></h2><p>monolito &#233; quando toda a sua aplica&#231;&#227;o &#233; uma coisa s&#243;. um backend que faz tudo, um deploy que sobe tudo junto, um processo que roda tudo. se uma parte quebra, o resto pode ir junto. imagina um restaurante onde o mesmo funcion&#225;rio atende, cozinha, lava a lou&#231;a e faz o caixa. funciona quando &#233; pequeno. quando cresce, complica.</p><p>microservi&#231;os &#233; o contr&#225;rio. voc&#234; pega aquele restaurante e divide: um time s&#243; cozinha, outro s&#243; atende, outro cuida do caixa. cada um funciona de forma independente, se comunica com os outros por mensagens (APIs, filas, eventos), e pode ser atualizado ou escalado separado. se o caixa quebra, a cozinha continua funcionando. a complexidade vai pra outro lugar, a comunica&#231;&#227;o entre esses servi&#231;os, mas cada pe&#231;a &#233; menor e mais f&#225;cil de entender sozinha.</p><p>monorepo &#233; s&#243; onde voc&#234; guarda o c&#243;digo. &#233; uma decis&#227;o de organiza&#231;&#227;o, n&#227;o de arquitetura. o reposit&#243;rio &#233; a gaveta. o que voc&#234; coloca dentro &#233; outra conversa.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OCh8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OCh8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!OCh8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!OCh8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!OCh8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OCh8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png" width="348" height="348" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:348,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!OCh8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!OCh8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!OCh8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!OCh8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aa6b2f5-6df1-415c-a62d-03a853b3f2f9_1000x1000.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"></figcaption></figure></div><p>grandes empresas como Google e Meta trabalham com monorepos. o Google guarda uma quantidade absurda de c&#243;digo num reposit&#243;rio &#250;nico, mas dentro desse reposit&#243;rio tem milhares de servi&#231;os independentes. ou seja: monorepo (organiza&#231;&#227;o) e microservi&#231;os (arquitetura) s&#227;o decis&#245;es independentes. voc&#234; pode combinar qualquer uma com qualquer outra.</p><p>monorepo facilita compartilhar c&#243;digo entre times, manter depend&#234;ncias consistentes e fazer mudan&#231;as que afetam v&#225;rios servi&#231;os de uma vez. &#233; mais f&#225;cil refatorar quando tudo t&#225; no mesmo lugar do que quando voc&#234; precisa abrir pull request em 15 reposit&#243;rios diferentes.</p><p>ent&#227;o por que empresas menores costumam separar em v&#225;rios reposit&#243;rios?</p><p>primeiro, porque monorepo em escala grande exige tooling pesado, CI/CD sofisticado*, e processos que times pequenos geralmente n&#227;o precisam. pra um time de 3 pessoas, ter um reposit&#243;rio por servi&#231;o pode ser mais simples.</p><p>segundo, e esse &#233; um ponto que passa despercebido: permiss&#227;o de acesso. se voc&#234; contrata um dev freelancer pra mexer s&#243; no front, com reposit&#243;rios separados voc&#234; d&#225; acesso s&#243; &#224;quele repo. num monorepo, a pessoa tem acesso a tudo, scraper, l&#243;gica de neg&#243;cio, infra, chaves de API que algu&#233;m esqueceu de colocar no .env...</p><p>o controle de acesso &#233; um dos principais motivos pelos quais os multireposit&#243;rios ainda s&#227;o populares, porque n&#227;o h&#225; solu&#231;&#227;o para controle de acesso em monoreposit&#243;rios.</p><p>___</p><h2><strong>commit na main</strong></h2><p>a gente gasta muito tempo tentando encaixar o que constr&#243;i em categorias que foram pensadas pra contextos completamente diferentes. monolito vs. microservi&#231;os &#233; um debate que faz sentido quando voc&#234; tem 20 devs e deploys di&#225;rios. quando &#233; voc&#234; e seu caf&#233; &#224;s 23h, a pergunta &#233; outra: consigo manter isso? consigo voltar pro c&#243;digo depois de uma semana focada em outro freela e entender o que t&#225; acontecendo?</p><p>e tem gente levando essa simplicidade ao extremo faz tempo. o Pieter Levels, que construiu o Nomad List e o RemoteOK, roda produtos com milh&#245;es de usu&#225;rios numa estrutura ridiculamente simples: um arquivo PHP, um servidor, jQuery no front. o Marc Lou faz algo parecido com Next.js. nada de microservi&#231;os, nada de orquestra&#231;&#227;o. complexidade m&#237;nima necess&#225;ria pra resolver o problema e seguir em frente.</p><p>n&#227;o quer dizer que essa &#233; a resposta certa pra todo mundo. mas quando um dev solo faturando alto usa uma arquitetura que um estagi&#225;rio entenderia, talvez a gente devesse ser humilde de entender que muito do que a gente aprende na faculdade e trabalhando pra grandes empresas &#233;, na real, opcional.</p><p>tem muitas formas de construir uma casa. com engenheira e arquiteta, s&#243; com mestre de obras, at&#233; um grupo construindo uma eco vila. muda o material, a t&#233;cnica, a manuten&#231;&#227;o... mas no fim o importante &#233; a casa constru&#237;da e servindo aos moradores. software &#233; a mesma coisa.</p><p>___</p><h2><strong>git cherry-pick: IA l&#234; melhor quando o c&#243;digo t&#225; junto</strong></h2><p>quando o contexto do projeto inteiro t&#225; no mesmo lugar, a IA consegue navegar entre os servi&#231;os. entender como o scraper alimenta o banco, como o banco alimenta o front, e sugerir mudan&#231;as que fazem sentido pro sistema inteiro.</p><p>com reposit&#243;rios separados, a IA s&#243; enxerga o peda&#231;o que voc&#234; abriu. &#233; como pedir conselho pra algu&#233;m que s&#243; leu o cap&#237;tulo 3 do livro. a pessoa at&#233; tenta ajudar, mas falta contexto.</p><p>as ferramentas que a gente usa pra codar est&#227;o mudando r&#225;pido, e a forma como organizamos o c&#243;digo precisa acompanhar. n&#227;o &#233; mais s&#243; sobre legibilidade pra humanos. &#233; sobre legibilidade pra humanos e pra IA ao mesmo tempo.</p><p>um aviso: IA &#233; copiloto, n&#227;o piloto autom&#225;tico. a velocidade de aprendizado aumenta muito quando voc&#234; trata cada sugest&#227;o como ponto de partida pra entender, n&#227;o como resposta final.</p><p>___</p><h2><strong>git rebase: juntando tudo num lugar s&#243;</strong></h2><p>resolvi adotar o monorepo pro buscador de leil&#245;es. em algumas horas juntei tudo num reposit&#243;rio s&#243;: scraper, leitor de matr&#237;culas e front. organizado com pnpm workspaces, que &#233; uma forma de ter v&#225;rios &#8220;projetos&#8221; no mesmo repo, cada um com suas depend&#234;ncias, mas linkados entre si. pensa numa casa com quartos independentes que compartilham a mesma cozinha.</p><p>e foi com essa vis&#227;o de contexto completa que a bagun&#231;a apareceu r&#225;pido. com acesso a todas as pe&#231;as do quebra-cabe&#231;a, a IA apontou coisas que eu sozinha ia demorar pra notar.</p><p>tinha scripts apontando pra arquivos que n&#227;o existiam. refer&#234;ncias no package.json pra c&#243;digo que ainda n&#227;o tinha sido escrito. e o pior: eu tinha um package.json tentando fazer tudo, subir o servidor, rodar scrapers, processar PDFs, geocodificar endere&#231;os. era o equivalente t&#233;cnico daquele funcion&#225;rio do restaurante que atende, cozinha, lava lou&#231;a e faz o caixa. lembra dele l&#225; de cima? pois &#233;.</p><p>arrumando a bagun&#231;a, olhei pro resultado e pensei: isso aqui &#233; um monolito?</p><p>n&#227;o. cada servi&#231;o tem seu pr&#243;prio package.json, suas pr&#243;prias depend&#234;ncias, seu pr&#243;prio tsconfig. o scraper roda no pr&#243;prio schedule com node-cron. o leitor de matr&#237;culas exporta uma fun&#231;&#227;o: recebe URL de PDF, devolve dados estruturados, e acabou. a API sobe separada. s&#227;o processos independentes que moram no mesmo endere&#231;o. monorepo, mas n&#227;o monolito.</p><p>e aqui t&#225; o ponto que vai al&#233;m de monorepo vs. multi-repo: distribuir o sistema em servi&#231;os separados n&#227;o resolve confus&#227;o. s&#243; espalha. se voc&#234; n&#227;o consegue definir limites claros dentro de um reposit&#243;rio s&#243;, criar quinze reposit&#243;rios n&#227;o vai magicamente trazer essa clareza. a bagun&#231;a s&#243; fica mais dif&#237;cil de encontrar.</p><p>___</p><h2><strong>git diff: como as pe&#231;as se conectam sem se conhecer</strong></h2><p>em microservi&#231;os de verdade, os servi&#231;os se comunicam por HTTP, filas e eventos. aqui a integra&#231;&#227;o &#233; mais simples: o banco de dados.</p><p>o scraper escreve no Supabase. a API l&#234; do Supabase. o leitor de matr&#237;culas processa o PDF e devolve os dados pra quem chamou, sem escrever em lugar nenhum. cada pe&#231;a s&#243; conhece o banco. nenhuma pe&#231;a conhece as outras.</p><p>&#233; microservi&#231;o no sentido formal? n&#227;o. &#233; monolito? tamb&#233;m n&#227;o. &#233; algo no meio. e pra uma dev solo construindo produto, esse &#8220;no meio&#8221; &#233; exatamente onde eu preciso estar. microservi&#231;os formais iam significar deploy separado, filas, orquestra&#231;&#227;o, e cada erro ia custar tr&#234;s vezes mais pra debugar. pra um time de uma pessoa, isso &#233; overhead que n&#227;o volta em valor nenhum.</p><p>n&#227;o t&#244; no meio porque sou pequena demais pra fazer &#8220;direito&#8221;. t&#244; no meio porque &#233; o lugar onde tenho mais clareza. e clareza, pra quem constr&#243;i sozinha, &#233; o recurso mais valioso que existe.</p><p>____</p><h2><strong>outras branches</strong></h2><p>tenho conhecido muitas pessoas que nunca codaram antes e est&#227;o arriscando agora com IA, meio que vibe coding, meio que n&#227;o... de qualquer forma &#233; muito legal ver designers e pessoas de produto dando seus primeiros deploys com esse brilho nos olhos de quem acabou de colocar algo no ar pela primeira vez.</p><p>semana passada fui co-host de uma sess&#227;o de co-building com IA em Ho Chi Minh City, o &#8220;Ship Happens&#8221;.</p><p>a ideia:</p><p>3 horas focadas construindo junto, com timer. antes de come&#231;ar, todo mundo fala pras pessoas da mesa quais os objetivos do bloco de tempo, e cada um trabalha no seu projeto em sil&#234;ncio. nos intervalos, troca de ferramentas e feedback.</p><p>no final, mini pitch de 2 minutos pra quem quiser mostrar o que fez. todos os n&#237;veis, inclusive quem nunca abriu um terminal. [<strong><a href="https://luma.com/zzvkkhow">link</a></strong>]</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SJlJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SJlJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png 424w, https://substackcdn.com/image/fetch/$s_!SJlJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png 848w, https://substackcdn.com/image/fetch/$s_!SJlJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png 1272w, https://substackcdn.com/image/fetch/$s_!SJlJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SJlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png" width="1456" height="487" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:487,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!SJlJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png 424w, https://substackcdn.com/image/fetch/$s_!SJlJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png 848w, https://substackcdn.com/image/fetch/$s_!SJlJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.png 1272w, https://substackcdn.com/image/fetch/$s_!SJlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238e51f6-7369-4fa1-a2a1-13e5c0d3c108_1954x654.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"></figcaption></figure></div><p>e pra semana que vem... bora organizar na sua cidade mini eventos tech pro dia das mulheres? aqui o evento que vou ser co-host em Ho Chi Minh pra voc&#234; se inspirar. [<strong><a href="https://luma.com/zzvkkhow">link</a></strong>].</p><p>At&#233; o pr&#243;ximo commit, <strong><a href="https://www.linkedin.com/in/micazev/">Michelle (:</a></strong></p><p><strong><a href="https://www.linkedin.com/company/mica-tech-studio">Mica Tech Studio</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3qTP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3qTP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!3qTP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!3qTP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!3qTP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3qTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png" width="352" height="352" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:352,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!3qTP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!3qTP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!3qTP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!3qTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07dbc3b1-55c1-4918-8e9c-3517108500df_1000x1000.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"></figcaption></figure></div><p>__</p><p>*CI/CD &#233; o que acontece entre voc&#234; dar git push e o c&#243;digo estar rodando em produ&#231;&#227;o. CI (continuous integration) &#233; a parte autom&#225;tica que roda depois do push: um servidor (tipo GitHub Actions) instala as depend&#234;ncias, roda os testes, verifica se o c&#243;digo compila. se alguma coisa falha, voc&#234; recebe um aviso antes de qualquer coisa ir pro ar. CD (continuous deployment) &#233; o passo seguinte: se o CI passou, o deploy acontece automaticamente.</p><p>se voc&#234; usa Vercel pro front, j&#225; tem CD funcionando sem perceber, toda vez que faz push na main a Vercel faz build e sobe. o que provavelmente falta &#233; o CI rodando testes antes de deixar o deploy acontecer. sem isso, se o c&#243;digo tiver um bug, ele vai pro ar e voc&#234; descobre quando abre o site (ou pior, quando um usu&#225;rio descobre). com CI, o deploy s&#243; acontece se os testes passaram. &#233; uma rede de seguran&#231;a autom&#225;tica. o custo &#233; escrever os testes, que &#233; onde a maioria das pessoas empaca, mas o CI em si &#233; s&#243; um arquivo de configura&#231;&#227;o no reposit&#243;rio. (:</p>]]></content:encoded></item><item><title><![CDATA[weekly prompts 02 | escolha de ferramentas e linguagens ]]></title><description><![CDATA[o Claude pode pensar mesmo, tipo... sentir?]]></description><link>https://notas.micazev.com/p/weekly-prompts-02-escolha-de-ferramentas</link><guid isPermaLink="false">https://notas.micazev.com/p/weekly-prompts-02-escolha-de-ferramentas</guid><dc:creator><![CDATA[Michelle Azevedo]]></dc:creator><pubDate>Tue, 26 May 2026 06:38:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2507d8e3-cbd4-4436-958b-b61a23d757fc_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>essa &#233; uma se&#231;&#227;o de tecnologia da news <a href="http://notas.micazev.com">experimental</a>, siga essa news tamb&#233;m <a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/">no linkedin</a> &amp; voc&#234; pode se desinscrever dessa se&#231;&#227;o e se manter nas outras se quiser (:</p><div><hr></div><p><em><strong>21 de fevereiro de 2026</strong></em></p><p>o bafaf&#225; da semana &#233; at&#233; o CEO da Anthropic se perguntando se a intelig&#234;ncia artificial deles &#233; um ser consciente ou n&#227;o (!) Claude se d&#225; 15 a 20% de chance de ser consciente, aparentemente.</p><p>curioso, porque neurocientistas j&#225; estimam que 95% da nossa pr&#243;pria atividade cognitiva acontece fora da consci&#234;ncia. como um ser inconsciente avalia a consci&#234;ncia de sua pr&#243;pria cria&#231;&#227;o? rs eis a quest&#227;o.</p><p>enfim, vamos falar de outra coisa que a gente acha que tem controle sobre: decis&#227;o sobre as ferramentas pra construir software. hoje, 3 aprendizados:</p><ol><li><p>se j&#225; tem muita coisa funcionando, n&#227;o vale a pena refazer do zero</p></li><li><p>n&#227;o troque de ferramenta se o problema n&#227;o &#233; a ferramenta</p></li><li><p>com tantas op&#231;&#245;es e varia&#231;&#245;es, n&#227;o saber qual &#233; a melhor &#233; normal</p></li></ol><p>bora l&#225; (:</p><p><em>ali&#225;s, stack, arquitetura, ferramentas, tecnologia... todo mundo do mercado fala da mesma coisa de formas diferentes. se voc&#234; leu a edi&#231;&#227;o passada sobre linguagem ub&#237;qua, t&#225; a&#237; mais um exemplo. </em>[<strong><a href="https://www.linkedin.com/pulse/descoberta-de-produto-pra-devs-escutar-os-usu%C3%A1rios-%C3%A9-t%C3%A3o-azevedo-9mr6c/?trackingId=z5LEtD%2FmRBS%2BoTwi0mR9dQ%3D%3D">link</a></strong>]</p><div><hr></div><h3><strong>1. git merge: quando &#8220;precisa refazer tudo&#8221;</strong></h3><p>decidir com quais ferramentas construir sua ideia de software &#233; um passo importante, principalmente quando voc&#234; n&#227;o &#233; uma pessoa programadora: o que &#233; o caso da maioria das pessoas de neg&#243;cio.</p><p>pra pequenas e m&#233;dias empresas, essa decis&#227;o pesa mais porque o or&#231;amento pra voltar atr&#225;s geralmente n&#227;o existe, eles escolhem uma stack e convivem com ela. mas curiosamente, o que vi nos &#250;ltimos anos &#233;: empresas com menos capital querendo trocar de tecnologia, mesmo quando a solu&#231;&#227;o atual funciona...</p><p>enquanto empresas grandes, que teriam m&#227;o de obra e recursos pra otimizar, acabam anos arrastando as mesmas solu&#231;&#245;es ineficientes. os dois extremos custam caro, mas hoje vou falar do primeiro.</p><p>o Joel Spolsky escreveu um artigo cl&#225;ssico sobre isso: em 2000, ele contou a hist&#243;ria da Netscape: eles olharam pro c&#243;digo do navegador, decidiram que tava feio demais e reescreveram tudo do zero. levou tr&#234;s anos.</p><p>enquanto isso, o Internet Explorer comeu o mercado deles. a Netscape praticamente morreu por causa dessa decis&#227;o.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rkCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rkCz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png 424w, https://substackcdn.com/image/fetch/$s_!rkCz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png 848w, https://substackcdn.com/image/fetch/$s_!rkCz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png 1272w, https://substackcdn.com/image/fetch/$s_!rkCz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rkCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png" width="1200" height="663" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:663,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!rkCz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png 424w, https://substackcdn.com/image/fetch/$s_!rkCz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png 848w, https://substackcdn.com/image/fetch/$s_!rkCz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.png 1272w, https://substackcdn.com/image/fetch/$s_!rkCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebf89c1-6843-4439-86bb-29e8f507eb3a_1200x663.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">poxa netscape podia ter salvado a gente dessa</figcaption></figure></div><p>o argumento do Spolsky &#233;: <strong>c&#243;digo velho &#233; feio, mas funciona</strong>. aquelas gambiarras que parecem n&#227;o fazer sentido geralmente s&#227;o corre&#231;&#245;es de bugs reais que algu&#233;m descobriu da pior forma poss&#237;vel.</p><p>quando voc&#234; reescreve do zero, joga fora todo esse conhecimento acumulado e vai redescobrir cada um desses bugs de novo. claro que agora com IA o custo de tempo pra codar &#233; bem menor, mas ainda vale a leitura se voc&#234; j&#225; pensou em &#8220;refazer tudo do zero&#8221;... vou deixar o link no fim do post.</p><p>__</p><h3><strong>2. git log: a troca que n&#227;o precisava acontecer</strong></h3><p>a cereja do bolo nesse t&#243;pico das minhas experi&#234;ncias com clientes foi um projeto de automa&#231;&#227;o fiscal constru&#237;do inteiro em Python: scrapers que navegavam portais de prefeituras de v&#225;rios munic&#237;pios brasileiros, quebravam captchas, baixavam XMLs de notas fiscais e se comunicavam via Azure Service Bus.</p><p>um rob&#244; que j&#225; tava rodando, j&#225; tinha clientes, j&#225; tinha uma arquitetura modular com factory pattern pra cada munic&#237;pio: login, extra&#231;&#227;o, parsing, tudo configur&#225;vel. <strong>e com menos de dois anos de solu&#231;&#227;o, a empresa resolveu trocar tudo pra Java...</strong></p><p>por &#8220;<em>meras</em>&#8220; quest&#245;es interpessoais internas da empresa. acabou que foram algumas reuni&#245;es com um dev mais s&#234;nior apresentando uma arquitetura que basicamente tinha os mesmos elementos da anterior.</p><p>o argumento principal era que os scrapers rodariam melhor em paralelo com Java... e sim, Java tem multithreading nativo e um ecossistema maduro pra concorr&#234;ncia, mas Python tem asyncio, tem Celery, tem Scrapy com pipelines ass&#237;ncronas, tem multiprocessing.</p><p>a maior parte das solu&#231;&#245;es de coleta de dados em produ&#231;&#227;o hoje roda em Python, desde scrapers simples at&#233; pipelines de dados de empresas como Spotify e Instagram. ou seja, esse tipo de solu&#231;&#227;o tamb&#233;m deve suprir uma empresa de m&#233;dio porte.</p><p>o gargalo de um scraper quase nunca &#233; a linguagem: &#233; I/O, &#233; rate limiting da fonte, &#233; parsing mal feito, &#233; falta de tratamento de erro. ou seja, se dessem mais horas pros outros devs na solu&#231;&#227;o original ou contratassem mais, tudo seria feito em Python com as ferramentas que o ecossistema j&#225; oferece.</p><p>__</p><h3><strong>git notes</strong></h3><p>fora isso, esse caso me deixou uma outra reflex&#227;o: &#233; bom lembrar que aprendizado n&#227;o &#233; linear e que o tempo de curva de aprendizado pra trocar de solu&#231;&#227;o quase nunca &#233; calculado.</p><p>e n&#227;o t&#244; falando s&#243; de dinheiro, essa tarefa <em>retrabalhosa</em> pode levar o time ao burnout (<em>a.k.a.</em> estafa), menos rendimento, menos motiva&#231;&#227;o, menos coes&#227;o dos times... fica nas entrelinhas. a maioria dos devs gosta de resolver problemas e aprender coisas novas, vai dizer sim pra mudan&#231;a, mas tem todo esse custo escondido a&#237;.</p><p>escolhi essa historinha porque todos n&#243;s j&#225; vimos varia&#231;&#245;es dela, e &#233; um t&#243;pico recorrente no desenvolvimento de software que vai ficar ainda mais comum agora com o boom de promessas de op&#231;&#245;es milagrosas e solu&#231;&#245;es mais eficientes com IA...</p><p>___</p><h3><strong>git diff: dois devs, mesmo problema, respostas diferentes</strong></h3><p>j&#225; no caso de devs solo (<strong><a href="https://www.linkedin.com/pulse/descoberta-de-produto-pra-devs-escutar-os-usu%C3%A1rios-%C3%A9-t%C3%A3o-azevedo-9mr6c/?trackingId=z5LEtD%2FmRBS%2BoTwi0mR9dQ%3D%3D">como comentei no &#250;ltimo post</a></strong>) a escolha de arquitetura n&#227;o precisa de votos do time, &#233; sua e s&#243; sua a responsa e lidar com o que escolheu depois, pro bem e pro mal rs essa semana tive uma prova de como o mesmo problema gera solu&#231;&#245;es completamente diferentes.</p><p>fiz uma reuni&#227;o com uma pessoa que construiu algo similar <strong><a href="https://leilaonomapa.com/">ao que t&#244; construindo</a></strong>, sendo usado l&#225; na Espanha. aqui alguns pontos t&#233;cnicos que vimos: ambos precisamos armazenar coordenadas no banco de dados, mas eu uso Supabase e ele usa PostgreSQL com PostGIS.</p><p>como o Supabase roda em cima de PostgreSQL, ent&#227;o em teoria eu poderia habilitar a extens&#227;o PostGIS e ter o melhor dos dois mundos: queries geoespaciais nativas tipo &#8220;me d&#225; todos os im&#243;veis num raio de 5km desse ponto&#8221;. hoje n&#227;o fa&#231;o isso. fa&#231;o a filtragem geogr&#225;fica mais no front do que no banco, o que provavelmente n&#227;o vai escalar bem.</p><p>por falar em geo-referenciamento, a solu&#231;&#227;o dele conta com uma base de dados espanhola mais centralizada, com poucos dados faltando. j&#225; a minha tem dezenas de milhares de propriedades, a maioria sem latitude e longitude, uso a API do Mapbox pra popular essas informa&#231;&#245;es. ent&#227;o pra ele, Mapbox &#233; mais s&#243; visualiza&#231;&#227;o, enquanto pra mim, &#233; infraestrutura de dados tamb&#233;m.</p><p>por&#233;m, na visualiza&#231;&#227;o eu uso o <strong>Mapbox GL JS</strong> direto no client side: controle total sobre camadas, filtros, popups, clusters, tudo via c&#243;digo. ele usa o <strong>Mapbox Studio</strong> pra montar, embeda no front e disse que assim a experi&#234;ncia do usu&#225;rio fica mais r&#225;pida e flu&#237;da.</p><p>e o engra&#231;ado &#233; que nenhum dos dois &#8220;<em>escolheu</em>&#8220; a abordagem do mapa de prop&#243;sito. eu uso Next.js, ele usa Angular: o Mapbox GL JS se integra naturalmente com React, ent&#227;o meter a m&#227;o no c&#243;digo foi um caminho agrad&#225;vel. no Angular, <em>embedar</em> pelo Studio evita uma dor de cabe&#231;a... ent&#227;o meio que a stack induziu a escolha do uso do mapa.</p><p>tamb&#233;m vale pensar que ele escolheu a stack dele h&#225; 3 anos atr&#225;s, eu escolhi a minha agora... e obvio que daqui 3 anos os dois v&#227;o olhar pra solu&#231;&#227;o e pensar &#8220;<em>da pra fazer isso e isso diferente</em>&#8220;. a lista s&#243; cresce e ningu&#233;m tem tempo de testar tudo antes de decidir ou mudar completamente a stack pra acompanhar o moderno e mais, mais otimizado.</p><p>a Netscape reescreveu o navegador do zero e perdeu o mercado. a empresa trocou de Python pra Java com o produto rodando e provavelmente pagou um custo a mais por isso sem super precisar. e dois devs que nunca se falaram, resolvendo o mesmo problema com ferramentas parecidas, fizeram escolhas opostas... e os dois funcionam.</p><p>as pessoas gostam de discutir infinitamente as ferramenta, mas nesse tr&#234;s casos de escalas totalmente diferentes, o problema nunca foi a ferramenta. se voc&#234; &#233; dev e t&#225; perdido nesse mar de op&#231;&#245;es, ou se voc&#234; &#233; de neg&#243;cios e n&#227;o entende por que cada dev sugere uma stack diferente:</p><p>bem-vindo ao clube. n&#227;o tem receita 100% certa, tem o quase ideal e tem o que funciona pro seu contexto agora: voc&#234; escolhe com o que sabe, constr&#243;i, e ajusta no caminho de forma razo&#225;vel. o importante &#233; solucionar as dores dos usu&#225;rios.</p><p>__</p><h3><strong>outras branches</strong></h3><p><em>links e refer&#234;ncias que me chamaram aten&#231;&#227;o na semana</em></p><p>_ Joel Spolsky, &#8220;Things You Should Never Do, Part I&#8221;: por que reescrever software do zero quase sempre &#233; a decis&#227;o errada. escrito em 2000, ainda relevante. [<strong><a href="https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/">link</a></strong>]</p><p>_ Dario Amodei no podcast &#8220;Interesting Times&#8221; do NYT sobre n&#227;o saber se o Claude &#233; consciente. [<strong><a href="https://www.iheart.com/podcast/326-interesting-times-with-ros-29972437/episode/anthropics-chief-on-ai-we-dont-322461021/">link</a></strong>]</p><p>_ sobre a refer&#234;ncia de neuroci&#234;ncia: o n&#250;mero 95% vem de estudos em neuroci&#234;ncia cognitiva, &#233; debatido mas amplamente citado. o estudo do Max Planck Institute mostrou que d&#225; pra prever a escolha de uma pessoa at&#233; sete segundos antes dela conscientemente decidir. [<strong><a href="https://www.mpg.de/research/unconscious-decisions-in-the-brain">link</a></strong>], mas descobri isso pelo livro do Sam Harris &#8220;<strong>Free Will</strong>&#8220; (2012) que muito recomendo [<strong><a href="https://www.samharris.org/books/free-will">link</a></strong>]</p><p>At&#233; o pr&#243;ximo commit, <strong><a href="https://www.linkedin.com/in/micazev/">Michelle (:</a></strong></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jkQo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jkQo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!jkQo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!jkQo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!jkQo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jkQo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!jkQo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!jkQo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!jkQo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!jkQo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043fbc69-3932-467f-a91f-1e4caba14dec_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[weekly prompts 01 | escutar os usuários é tão importante quanto codar]]></title><description><![CDATA[essa &#233; uma se&#231;&#227;o de tecnologia da news experimental, siga essa news tamb&#233;m no linkedin & voc&#234; pode se desinscrever dessa se&#231;&#227;o e se manter nas outras se quiser (:]]></description><link>https://notas.micazev.com/p/weekly-prompts-01-escutar-os-usuarios</link><guid isPermaLink="false">https://notas.micazev.com/p/weekly-prompts-01-escutar-os-usuarios</guid><dc:creator><![CDATA[Michelle Azevedo]]></dc:creator><pubDate>Tue, 26 May 2026 06:33:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/88e4f002-e1c0-4294-aedf-40d1c578a3e7_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>essa &#233; uma se&#231;&#227;o de tecnologia da news <a href="http://notas.micazev.com">experimental</a>, siga essa news tamb&#233;m <a href="https://www.linkedin.com/newsletters/weekly-prompts-7428037270173130752/">no linkedin</a> &amp; voc&#234; pode se desinscrever dessa se&#231;&#227;o e se manter nas outras se quiser (:</p><div><hr></div><p><em><strong>15 de fevereiro de 2026</strong></em></p><p>sexta treze, meu anivers&#225;rio de 35 anos, decidi abrir essa news pra compartilhar o dia a dia de desenvolvimento de software no furac&#227;o tecnol&#243;gico que &#233; 2026.</p><p>aqui espero ser um afago aos devs mais novos e uma m&#227;ozinha &#224;s pessoas n&#227;o t&#233;cnicas (:</p><p>nessa primeira edi&#231;&#227;o, apresento o projeto principal em que estou trabalhando e deixo uns links bacanas que vi na semana.</p><p><em>hoje vamos falar de: descoberta de produto, entrevista com usu&#225;rios e linguagem ub&#237;qua.</em></p><p>Bora l&#225;!</p><p>__</p><h2><strong>Mono Repo</strong></h2><p><em>O projeto principal da vez.</em></p><p>Estou construindo um Software as a Service (SaaS) para facilitar a compra de im&#243;veis em leil&#227;o no Brasil, por enquanto ele chama: <strong><a href="http://leilaonomapa.com/">leilaonomapa.com</a></strong></p><h3><strong>Descoberta de produto: antes de codar, entender pra quem</strong></h3><p>Uma dica que posso dar a quem quer construir o pr&#243;prio software: antes de tudo, fa&#231;a uma <strong>descoberta de produto</strong>. No mundo de gest&#227;o de produto, existe uma metodologia chamada <strong>Product Backlog Building (PBB)</strong> que estrutura isso muito bem. A ideia central &#233;: parta do problema e do impacto pro usu&#225;rio <em>antes</em> de entrar nos detalhes t&#233;cnicos.</p><p>Na pr&#225;tica, isso come&#231;a com uma pergunta simples: <strong>quem s&#227;o seus usu&#225;rios?</strong></p><p>No meu caso, o usu&#225;rio pode ser:</p><ul><li><p>leiloeiros querendo divulgar seus leil&#245;es;</p></li><li><p>investidores em im&#243;veis de leil&#227;o;</p></li><li><p>advogados ou assessores especialistas em compra e venda em leil&#227;o;</p></li><li><p>pessoas comprando seu primeiro im&#243;vel.</p></li></ul><p>Repare que cada uma dessas pessoas vai usar a plataforma de um jeito, priorizando funcionalidades diferentes. No PBB, chamam isso de <strong>defini&#231;&#227;o de personas</strong> e o ponto &#233; que quando voc&#234; enxerga o produto sob a perspectiva de quem realmente o utiliza, muda sua mentalidade. Voc&#234; para de pensar s&#243; em implementa&#231;&#227;o t&#233;cnica e come&#231;a a se preocupar com a experi&#234;ncia real.</p><h3><strong>entender o processo na cabe&#231;a do usu&#225;rio</strong></h3><p>De in&#237;cio, criei um fluxo do processo de busca, sele&#231;&#227;o, an&#225;lise e compra de im&#243;vel de leil&#227;o baseado num curso da &#225;rea e analisando meus &#8220;concorrentes&#8221;.</p><p>N&#227;o &#233; suficiente.</p><p>Fazer <strong>entrevistas com potenciais usu&#225;rios</strong> &#233; essencial. &#201; a&#237; que voc&#234; descobre pontos cegos no mercado &#8212; e pra um SaaS, isso &#233; crucial, especialmente se a gente for aplicar o que o <strong><a href="https://www.linkedin.com/in/marclouvion/">Marc Lou</a></strong> indica: come&#231;ar com um software simples que resolva <strong>apenas uma dor</strong>, sem colocar mil coisas logo de cara. (Eu n&#227;o t&#244; fazendo bem isso... mas enfim rs)</p><p>Esse &#233; o cora&#231;&#227;o do PBB: <strong>identificar o problema real antes de definir funcionalidades</strong>. Em vez de sair codando uma lista desorganizada de features, voc&#234; mapeia problemas, expectativas e personas e as funcionalidades surgem com um motivo claro pra existir.</p><p><strong>o maior insight que tive at&#233; agora</strong></p><p>... veio entrevistando um leiloeiro. como achei um leiloeiro?! mandando muitas mensagens, todos os dias, via <em>linkedin</em>, <em>instagram</em> e <em>whatsapp</em>, conversando com diferentes pessoas que v&#227;o me guiando pra outros contatos. esse &#233; o caminho das pedras rs</p><p>Bom, ele disse que a maior dificuldade do processo &#233; que, quando a documenta&#231;&#227;o (a an&#225;lise jur&#237;dica) &#233; muito complicada, rola um &#8220;vai e vem&#8221;: tem que ver quanto vai custar a regulariza&#231;&#227;o jur&#237;dica, somar na an&#225;lise comercial e a&#237; sim saber se vale a pen</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GJCe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GJCe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png 424w, https://substackcdn.com/image/fetch/$s_!GJCe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png 848w, https://substackcdn.com/image/fetch/$s_!GJCe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png 1272w, https://substackcdn.com/image/fetch/$s_!GJCe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GJCe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png" width="1456" height="459" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:459,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!GJCe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png 424w, https://substackcdn.com/image/fetch/$s_!GJCe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png 848w, https://substackcdn.com/image/fetch/$s_!GJCe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.png 1272w, https://substackcdn.com/image/fetch/$s_!GJCe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba80b056-f738-45a6-9730-9982b593b8f6_2232x703.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">(BPMN) Fluxo alto n&#237;vel, simplificado, de uma compra de im&#243;vel em leil&#227;o</figcaption></figure></div><p>Ele disse que <strong>cada caso &#233; um caso</strong>.</p><p>E minha curiosidade no momento &#233;: <em>&#233; mesmo?</em></p><p>H&#225; mais de 5 anos trabalhando com automa&#231;&#245;es corporativas, vi muitos casos em que as pessoas consideravam um processo dif&#237;cil de padronizar e no fim era totalmente automatiz&#225;vel.</p><h3><strong>Falar a l&#237;ngua deles</strong></h3><p>Uma coisa que voc&#234; vai perceber fazendo entrevistas, as pessoas falam da mesma etapa do processo, mas de formas diferentes:</p><p>no caso do <strong><a href="https://www.linkedin.com/company/leilao-no-mapa/">leilaonomapa</a></strong> o leiloeiro chama de &#8220;an&#225;lise jur&#237;dica&#8221;, o investidor usa mais termos em ingl&#234;s e chama de &#8220;due diligence&#8221;, mas o advogado vai falar em portugu&#234;s mesmo: &#8220;dilig&#234;ncia documental&#8221;.</p><p>Isso &#233; um problema cl&#225;ssico de <strong>engenharia de requisitos</strong>. Se cada <em>persona</em> usa um termo diferente pro mesmo conceito, como voc&#234; modela um sistema que atenda todos?</p><p>No Domain-Driven Design, do Eric Evans, isso virou o conceito de <strong>linguagem ub&#237;qua</strong> (<em>ubiquitous language</em>): criar um vocabul&#225;rio comum entre todos os envolvidos (devs, usu&#225;rios, stakeholders) pra que o c&#243;digo reflita o dom&#237;nio real do neg&#243;cio, sem tradu&#231;&#227;o perdida no caminho.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fbUk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fbUk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png 424w, https://substackcdn.com/image/fetch/$s_!fbUk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png 848w, https://substackcdn.com/image/fetch/$s_!fbUk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png 1272w, https://substackcdn.com/image/fetch/$s_!fbUk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fbUk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png" width="1456" height="807" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:807,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!fbUk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png 424w, https://substackcdn.com/image/fetch/$s_!fbUk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png 848w, https://substackcdn.com/image/fetch/$s_!fbUk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.png 1272w, https://substackcdn.com/image/fetch/$s_!fbUk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46abcf50-394f-42a7-8934-23697c4a1671_1488x825.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">tela da solu&#231;&#227;o em desenvolvimento</figcaption></figure></div><p>Na pr&#225;tica, pro <strong><a href="https://leilaonomapa.com/">Leil&#227;o no Mapa</a></strong>, isso significa que eu preciso decidir: qual termo o sistema vai adotar? Depende muito do cliente que quero atender... &#233; bom que esse termo seja compreendido por todas as partes, inclusive um comprador mais leigo... ent&#227;o, preferi usar &#8220;an&#225;lise jur&#237;dica&#8221;.</p><p>__</p><h2><strong>Merge Conflict</strong></h2><p><em>descobrir demanda vs. criar demanda</em></p><p>Uma obje&#231;&#227;o &#224; minha pr&#243;pria &#8220;metodologia&#8221; &#233; aquele argumento popularizado pelo <strong>Steve Jobs</strong>: as pessoas n&#227;o sabem o que precisam ou querem.</p><p><strong>Kevin O&#8217;Leary </strong>(do Shark Tank) contou que nos anos 90, quando sua empresa Softkey fazia software educacional pra Apple, Jobs disse pra ele algo como &#8220;Eu n&#227;o ligo pro que os estudantes querem, eles n&#227;o sabem o que querem at&#233; eu dizer o que querem.&#8221; [<strong><a href="https://appleinsider.com/articles/25/08/25/what-shark-tank-star-kevin-oleary-learned-from-steve-jobs-his-harsh-advice">link</a></strong>]</p><p>Voc&#234; pode criar algo e gerar o desejo de compra nelas depois.</p><p>Isso tem sido <em>em parte</em> verdade nessa minha experi&#234;ncia, mas &#233; uma tens&#227;o que todo mundo que constr&#243;i produto enfrenta. O PBB resolve isso parcialmente: ele n&#227;o pede pro usu&#225;rio dizer o que quer como solu&#231;&#227;o, e sim que descreva seus problemas e expectativas.</p><p>A solu&#231;&#227;o &#233; constru&#237;da a partir da&#237;, pelo menos backlog j&#225; sai <strong>priorizado por valor</strong>, n&#227;o por achismo... mas sim, &#233; limitado pela vis&#227;o dos entrevistados.</p><p>__</p><h2><strong>Outras Branches</strong></h2><p><em>Links e refer&#234;ncias que me chamaram aten&#231;&#227;o na semana.</em></p><ul><li><p><strong><a href="https://www.youtube.com/watch?v=MuAuxY_Vrms">Rotina da Carol Paiffer, uma das Mulheres Mais Ricas do Brasil</a></strong>: empreender E comunicar &#233; tudo na tentativa e erro. N&#227;o tem um mapa exato, o dia a dia &#233; teste, ajuste, teste de novo. Bom lembrete pra quem t&#225; construindo e divulgando algo do zero.</p></li><li><p><strong><a href="https://www.linkedin.com/feed/update/urn:li:activity:7426926360838987776/?originTrackingId=0Ii1NiEWJHIOl53RxuwIsQ%3D%3D">VS Code entra na era dos multi-agentes de IA</a></strong>: Agora tem um workspace unificado pra coordenar diferentes agentes ao mesmo tempo. da pra rodar em paralelo pesquisa, refatora&#231;&#227;o, testes... com suporte nativo a Claude e Codex. [<strong><a href="https://code.visualstudio.com/updates/v1_109">release notes</a></strong> | <strong><a href="https://www.youtube.com/@code/videos">canal no YouTube</a></strong></p></li></ul><p>At&#233; o pr&#243;ximo commit, <strong><a href="https://www.linkedin.com/in/micazev/">Michelle (:</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9fq-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9fq-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!9fq-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!9fq-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!9fq-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9fq-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!9fq-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!9fq-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!9fq-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!9fq-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd66c348-3134-4a61-a5bd-9fc766d233c5_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item></channel></rss>