<?xml version="1.0" encoding="UTF-8"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>dev.to top (week)</title><link>https://dev.to/top/week</link><atom:link href="http://rsshub.umzzz.com/dev.to/top/week" rel="self" type="application/rss+xml"></atom:link><description>Top dev.to posts - Powered by RSSHub</description><generator>RSSHub</generator><webMaster>contact@rsshub.app (RSSHub)</webMaster><language>en-us</language><lastBuildDate>Sun, 19 Jul 2026 12:25:41 GMT</lastBuildDate><ttl>5</ttl><item><title>TypeScript 7 is officially released! 🚨</title><description>&lt;p&gt;Hello everyone! The long-awaited TypeScript 7 was finally released the other day. And the new features it brings are truly astonishing.&lt;/p&gt;

&lt;p&gt;Several months ago I already wrote an article on this topic, but today I would like to write again about this event in programming.&lt;/p&gt;

&lt;p&gt;Well, let&#39;s get started!&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;what-did-they-do&quot; href=&quot;https://dev.to/anthonymax/typescript-7-is-officially-released-4i7m#what-did-they-do&quot;&gt;
  &lt;/a&gt;
  👀 What did they do?
&lt;/h2&gt;

&lt;p&gt;First of all, it is worth noting that the implementation of TypeScript 7 is now done in the Go programming language. As Microsoft said, they tried to make the functions as close to the old code as possible in order to minimize bugs.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2kmgmng06dhjnlhjkowj.webp&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2kmgmng06dhjnlhjkowj.webp&quot; alt=&quot;Go&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;299&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was done to speed up the compilation of TypeScript code into machine-readable code, in short. Since VS Code runs on TypeScript, its speed is correspondingly increased. Editor operations now nearly instantaneous (e.g., finding first error in VS Code from ~17.5s to &amp;lt;1.3s). And not just a text editor.&lt;/p&gt;

&lt;p&gt;&lt;iframe class=&quot;tweet-embed&quot; scrolling=&quot;no&quot; id=&quot;tweet-2074892178745327926-246&quot; src=&quot;https://platform.twitter.com/embed/Tweet.html?id=2074892178745327926&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
&lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;To prove my point, let&#39;s check the performance benchmarks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benchmark 1: Compile Times Between Typescript 6&amp;amp;7&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;table-wrapper-paragraph&quot;&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Codebase&lt;/th&gt;
&lt;th&gt;TypeScript 6&lt;/th&gt;
&lt;th&gt;TypeScript 7&lt;/th&gt;
&lt;th&gt;Speedup&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;vscode&lt;/td&gt;
&lt;td&gt;125.7s&lt;/td&gt;
&lt;td&gt;10.6s&lt;/td&gt;
&lt;td&gt;11.9x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sentry&lt;/td&gt;
&lt;td&gt;139.8s&lt;/td&gt;
&lt;td&gt;15.7s&lt;/td&gt;
&lt;td&gt;8.9x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bluesky&lt;/td&gt;
&lt;td&gt;24.3s&lt;/td&gt;
&lt;td&gt;2.8s&lt;/td&gt;
&lt;td&gt;8.7x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;playwright&lt;/td&gt;
&lt;td&gt;12.8s&lt;/td&gt;
&lt;td&gt;1.47s&lt;/td&gt;
&lt;td&gt;8.7x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;tldraw&lt;/td&gt;
&lt;td&gt;11.2s&lt;/td&gt;
&lt;td&gt;1.46s&lt;/td&gt;
&lt;td&gt;7.7x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Benchmark 2: Aggregate Memory Usage in TypeScript 6&amp;amp;7&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;table-wrapper-paragraph&quot;&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Codebase&lt;/th&gt;
&lt;th&gt;TypeScript 6&lt;/th&gt;
&lt;th&gt;TypeScript 7&lt;/th&gt;
&lt;th&gt;Cumulative Memory&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;vscode&lt;/td&gt;
&lt;td&gt;5.2GB&lt;/td&gt;
&lt;td&gt;4.2GB&lt;/td&gt;
&lt;td&gt;-18%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sentry&lt;/td&gt;
&lt;td&gt;4.9GB&lt;/td&gt;
&lt;td&gt;4.6GB&lt;/td&gt;
&lt;td&gt;-6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bluesky&lt;/td&gt;
&lt;td&gt;1.8GB&lt;/td&gt;
&lt;td&gt;1.3GB&lt;/td&gt;
&lt;td&gt;-26%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;playwright&lt;/td&gt;
&lt;td&gt;1.0GB&lt;/td&gt;
&lt;td&gt;0.9GB&lt;/td&gt;
&lt;td&gt;-11%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;tldraw&lt;/td&gt;
&lt;td&gt;0.6GB&lt;/td&gt;
&lt;td&gt;0.5GB&lt;/td&gt;
&lt;td&gt;-15%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Benchmark 3: Performance with &lt;code&gt;--checkers 8&lt;/code&gt; in TypeScript 6&amp;amp;7&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;table-wrapper-paragraph&quot;&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Codebase&lt;/th&gt;
&lt;th&gt;TypeScript 6&lt;/th&gt;
&lt;th&gt;TypeScript 7 (--checkers 8)&lt;/th&gt;
&lt;th&gt;Speedup&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;vscode&lt;/td&gt;
&lt;td&gt;125.7s&lt;/td&gt;
&lt;td&gt;7.51s&lt;/td&gt;
&lt;td&gt;16.7x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sentry&lt;/td&gt;
&lt;td&gt;139.8s&lt;/td&gt;
&lt;td&gt;12.08s&lt;/td&gt;
&lt;td&gt;11.6x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bluesky&lt;/td&gt;
&lt;td&gt;24.3s&lt;/td&gt;
&lt;td&gt;2.01s&lt;/td&gt;
&lt;td&gt;12.1x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;playwright&lt;/td&gt;
&lt;td&gt;12.8s&lt;/td&gt;
&lt;td&gt;1.16s&lt;/td&gt;
&lt;td&gt;11x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;tldraw&lt;/td&gt;
&lt;td&gt;11.2s&lt;/td&gt;
&lt;td&gt;1.06s&lt;/td&gt;
&lt;td&gt;10.6x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are the official benchmark results. And they&#39;re truly impressive. I can say that VS Code used to take quite a while to open on my old MacBook, but with these new features, everything will be much faster now.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;functional-changes&quot; href=&quot;https://dev.to/anthonymax/typescript-7-is-officially-released-4i7m#functional-changes&quot;&gt;
  &lt;/a&gt;
  ⚙️ Functional changes
&lt;/h2&gt;

&lt;p&gt;In addition to speed and rewriting all functions in Go, the following benefits are now added:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performs parsing, type-checking, and emitting in parallel with experimental &lt;code&gt;--checkers&lt;/code&gt; and &lt;code&gt;--builders&lt;/code&gt; for fine-tuning microsoft&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This gives developers complete control over the balance between performance and memory consumption. On CI runners or with limited resources, parallelism can be reduced without losing functionality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New &lt;code&gt;--singleThreaded&lt;/code&gt; for debugging or resource-limited environments&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Solves a rather important debugging problem and ensures predictability of results when reproducing bugs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Type-checking workers can be scaled without scaling builder workers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you didn&#39;t know, type-checking workers handle complex type-checking logic, while builder workers assemble &lt;code&gt;project references&lt;/code&gt;; their work is limited by the project dependency graph.&lt;/p&gt;

&lt;p&gt;This means that now when setting parameters such as &lt;code&gt;--checkers 6&lt;/code&gt; and &lt;code&gt;--builders 4&lt;/code&gt; can be configured flexibly for each project to ensure the best project build performance.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;--watch&lt;/code&gt; mod has also changed, now it uses Parcel&#39;s file-watcher ported to Go for assembly, and eliminates expensive polling on large &lt;code&gt;node_modules&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;There are also some minor changes in JavaScript and in the configuration file, but overall they are not that important.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;my-opinion&quot; href=&quot;https://dev.to/anthonymax/typescript-7-is-officially-released-4i7m#my-opinion&quot;&gt;
  &lt;/a&gt;
  💬 My opinion
&lt;/h2&gt;

&lt;p&gt;I believe that speeding up fundamental features like TypeScript, even if it&#39;s just rewriting functions in Go, has a significant impact on development. Websites today have quite a few modules and run on modern frameworks like Next.js, Remix, Nuxt, and many others. And they all still run on TypeScript, so it&#39;s difficult to comprehend how much time a tenfold speedup in version 7 will save. For developers, VS Code and the Cursor built on top of it will allow them to develop websites even faster.&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&lt;em&gt;What do you think about this? It will be interesting to read!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;❤️ Thank you very much for reading the article!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82skwyr64v1gwx8297kt.gif&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82skwyr64v1gwx8297kt.gif&quot; alt=&quot;Thanks!&quot; loading=&quot;lazy&quot; width=&quot;332&quot; height=&quot;400&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;


            </description><link>https://dev.to/anthonymax/typescript-7-is-officially-released-4i7m</link><guid isPermaLink="false">https://dev.to/anthonymax/typescript-7-is-officially-released-4i7m</guid><pubDate>Sat, 18 Jul 2026 12:52:21 GMT</pubDate><author>Anthony Max</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8dkkztc6d5uqqvff3y8r.webp" type="image/jpeg"></enclosure><category>webdev</category><category>javascript</category><category>programming</category><category>opensource</category></item><item><title>Why AI Agents Need a Real Browser Layer, Not Just Playwright Scripts</title><description>&lt;p&gt;Over the past few years, AI has ceased to be just an experimental technology and can now be called a digital worker. It can search for information, fill out forms, work with CRM, analyze documents, and perform complex multi-step processes.&lt;/p&gt;

&lt;p&gt;However, along with this growing capability, a new problem has emerged: most existing solutions use the browser exclusively as an automation tool. These are most often Playwright or Selenium, where the agent&#39;s actions are limited to specific actions in a script.&lt;/p&gt;

&lt;p&gt;This approach is great for website testing, but it&#39;s insufficient for autonomous artificial intelligence. Therefore, a full-fledged browser layer is needed to transform a web page into a structured working environment for the model. BrowserAct provides such a layer.&lt;/p&gt;

&lt;p&gt;Well, let&#39;s get started.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;why-playwright-isnt-enough&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#why-playwright-isnt-enough&quot;&gt;
  &lt;/a&gt;
  👀 Why Playwright Isn&#39;t Enough?
&lt;/h2&gt;

&lt;p&gt;Playwright is an excellent tool for testing. It gives you complete low-level control: click selectors, type into inputs, run JavaScript, take screenshots. That&#39;s perfect when you know the page structure in advance and you&#39;re testing a specific application.&lt;/p&gt;

&lt;p&gt;This is more than sufficient for testing, but an AI agent typically has a much broader range of tasks. For example, it needs to know which page to open, which elements to view, and much more. Each new website becomes a new context that the AI must understand independently. Playwright only provides low-level browser control APIs. All the logic for understanding the page resides in the language model itself, so this approach is unsuitable.&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;chromium&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;launch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pageA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;newPage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;contextA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;createBrowserContext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;storageState&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;./profiles/account-a.json&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// Manual session file&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;When working with sessions, you may notice that we&#39;ll need to store files and update them manually for the website. If we want to test our application, we&#39;ll have to configure everything this way each time.&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// Playwright forces you to choose selectors before running&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// If the page updates or selectors change, your script breaks&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;page&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;click&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#button-id-123&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// What if this you move button in component?&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// You&#39;d need to re-scan the page and update your script&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// There&#39;s no built-in &quot;read current page state and tell me what changed&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;We need to know exactly which button is on the page. Otherwise, the script simply won&#39;t work.&lt;/p&gt;

&lt;p&gt;What AI really needs to work effectively is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clean page readout&lt;/li&gt;
&lt;li&gt;Parallel account isolation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To do this, let&#39;s now try the browser layer, which will help us.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;creating-a-browser-layer-with-browseract&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#creating-a-browser-layer-with-browseract&quot;&gt;
  &lt;/a&gt;
  💻 Creating a Browser Layer with BrowserAct.
&lt;/h2&gt;

&lt;p&gt;BrowserAct is a browser automation CLI built for AI agents.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft27reloja0qr5hwr4xk8.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft27reloja0qr5hwr4xk8.png&quot; alt=&quot;Peview&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;248&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Its partners include Google Cloud, Oracle and others.&lt;/p&gt;

&lt;p&gt;Let&#39;s now try to make a browser layer. First, let&#39;s register, and then go to the dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvadyd61yps5j887yrtwl.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvadyd61yps5j887yrtwl.png&quot; alt=&quot;install&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;105&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There will be a block like this, click on the install button and simply copy the text into AI on your computer. I will insert this prompt into Cursor.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw96h3g5awd7odtm8nhlq.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw96h3g5awd7odtm8nhlq.png&quot; alt=&quot;Cursor&quot; loading=&quot;lazy&quot; width=&quot;635&quot; height=&quot;178&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since I&#39;m in ask mode in the cursor, the agent simply output the file, installing dependencies from which I installed the cli. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgprb6bohf08jr23bawo.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgprb6bohf08jr23bawo.png&quot; alt=&quot;think&quot; loading=&quot;lazy&quot; width=&quot;756&quot; height=&quot;227&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After this, we&#39;ll be prompted to install several dependencies.&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight shell&quot;&gt;&lt;code&gt;uv tool &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;browser-act-cli &lt;span class=&quot;nt&quot;&gt;--python&lt;/span&gt; 3.12
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;You can check the version as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight shell&quot;&gt;&lt;code&gt;browser-act &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;If you&#39;re in a mode where AI can edit files, everything will happen automatically. If you&#39;re doing it manually, after the cli appears in the terminal, you&#39;ll need to get the actual workflow content:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight shell&quot;&gt;&lt;code&gt;browser-act get-skills core &lt;span class=&quot;nt&quot;&gt;--skill-version&lt;/span&gt; 2.0.2
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;The CLI serves skill content that always matches the installed version, so instructions never go stale. Do NOT truncate the output — none of which are available through &lt;code&gt;--help&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Browser-act can run basic Chrome and chrome-direct browser automation without an API key.&lt;/em&gt; But if you want to access other features, you can register, as we did earlier, and enter the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight shell&quot;&gt;&lt;code&gt;browser-act auth login
browser-act auth poll
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;Or set a key directly:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight shell&quot;&gt;&lt;code&gt;browser-act auth &lt;span class=&quot;nb&quot;&gt;set&lt;/span&gt; &amp;lt;your_api_key&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;h2&gt;
  &lt;a name=&quot;multiaccount-isolation&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#multiaccount-isolation&quot;&gt;
  &lt;/a&gt;
  ⚙️ Multi-Account Isolation
&lt;/h2&gt;

&lt;p&gt;Now, let&#39;s imagine a case where we need to automatically test our application for, say, several people visiting the site and using the same functionality.&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// You&#39;d have to manually manage profiles for each account&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;chromium&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;launch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pageA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;newPage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pageA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;click&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#login-button-id&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;contextA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;createBrowserContext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;storageState&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;./profiles/account-a.json&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// Manual session file&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// testSomeFunction()&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserB&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;chromium&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;launch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pageB&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;newPage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;pageB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;click&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;#login-button-id&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;contextB&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;browserB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;createBrowserContext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;storageState&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;./profiles/account-b.json&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// Another session file&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// testSomeFunction()&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// Now you&#39;re managing session files, proxy rotation, and fingerprints by hand.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;If one account&#39;s context crashes, you need to reload session manually. This means that if you want to do something like what happened with GitHub Actions when your functionality was tested, you won&#39;t be able to do it here.&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight shell&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Account A: Use browser with identity-a&lt;/span&gt;
browser-act &lt;span class=&quot;nt&quot;&gt;--session&lt;/span&gt; account-a browser open &amp;lt;browser_a&amp;gt; https://example.com
browser-act &lt;span class=&quot;nt&quot;&gt;--session&lt;/span&gt; login-redirect button 1
browser-act &lt;span class=&quot;nt&quot;&gt;--session&lt;/span&gt; account-a login_workflow
&lt;span class=&quot;c&quot;&gt;# test_some_function_workflow&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Account B: Use browser with identity-b (cookies, proxy, fingerprint)&lt;/span&gt;
browser-act &lt;span class=&quot;nt&quot;&gt;--session&lt;/span&gt; account-b browser open &amp;lt;browser_b&amp;gt; https://example.com
browser-act &lt;span class=&quot;nt&quot;&gt;--session&lt;/span&gt; login-redirect button 1
browser-act &lt;span class=&quot;nt&quot;&gt;--session&lt;/span&gt; account-b login_workflow
&lt;span class=&quot;c&quot;&gt;# test_some_function_workflow&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Both run in parallel.&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Each browser keeps its own:&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# - Cookies&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# - Login session&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# - Proxy identity&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# - Fingerprint&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;In this case, if you have BrowserAct configured, your tests won&#39;t need to be constantly updated. You can continue working on the functionality without any worries, and if any issues occur, such as users&#39; IDs being generated identically within a second, the tests will detect them, while you&#39;ll never learn about the bug manually.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;import-once-reuse-always&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#import-once-reuse-always&quot;&gt;
  &lt;/a&gt;
  ✅ Import Once, Reuse Always
&lt;/h2&gt;

&lt;p&gt;Another advantage of BrowserAct is the ability to import profiles from a running browser:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight shell&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# 1. You&#39;re already logged in on your local Browser&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# BrowserAct discovers it and lists available profiles:&lt;/span&gt;
browser-act browser list-profiles

&lt;span class=&quot;c&quot;&gt;# Output:&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Profile ID           Name                 Email&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# profile_a      Default              myaccount1@example.com&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# profile_b      Work Account         myaccount2@example.com&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# 2. Create a managed browser from your existing Chrome profile&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# (includes cookies, localStorage, IndexedDB, session storage)&lt;/span&gt;
browser-act browser create &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;--type&lt;/span&gt; chrome &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;--name&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;work-automation&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;--desc&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Logged-in work account for testing&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;--source-profile&lt;/span&gt; profile_a

&lt;span class=&quot;c&quot;&gt;# 3. Now your browser is ready to use. No login code needed.&lt;/span&gt;
browser-act &lt;span class=&quot;nt&quot;&gt;--session&lt;/span&gt; test_some_function_workflow browser open work-automation https://example.com/dashboard
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;In addition to multi-account, this makes testing much easier, whereas PlayWright uses files for everything, which is generally inconvenient.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;what-is-the-difference-between-playwright-and-browseract&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#what-is-the-difference-between-playwright-and-browseract&quot;&gt;
  &lt;/a&gt;
  👀 What is the difference between Playwright and BrowserAct?
&lt;/h2&gt;

&lt;p&gt;At first glance, Playwright and BrowserAct may seem to solve the same problem—they both interact with web browsers. In reality, they operate at different levels of abstraction and are designed for different use cases.&lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;Playwright&lt;/strong&gt;, every interaction must be explicitly programmed. You need to know which page to open, which selector to use, when to wait for an element, and how to handle every possible variation of the website. This deterministic approach is ideal for automated testing, where the expected behavior of the application is already known. Instead of exposing only low-level browser APIs, &lt;strong&gt;BrowserAct&lt;/strong&gt; provides an AI-friendly browser layer that enables language models to interact with websites in a more structured and reliable way. It handles many of the browser-related complexities, allowing the AI agent to focus on reasoning and decision-making rather than DOM manipulation.&lt;/p&gt;

&lt;div class=&quot;table-wrapper-paragraph&quot;&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Playwright&lt;/th&gt;
&lt;th&gt;BrowserAct&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Primary purpose&lt;/td&gt;
&lt;td&gt;Browser automation and testing&lt;/td&gt;
&lt;td&gt;Browser layer for AI agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interaction model&lt;/td&gt;
&lt;td&gt;Imperative scripts&lt;/td&gt;
&lt;td&gt;AI-driven workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Login flow handling&lt;/td&gt;
&lt;td&gt;Manual implementation&lt;/td&gt;
&lt;td&gt;Built-in support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflow designer&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Visual workflow builder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI integration&lt;/td&gt;
&lt;td&gt;External implementation&lt;/td&gt;
&lt;td&gt;Native AI-oriented architecture&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Structured browser actions&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For traditional QA automation or end-to-end testing, Playwright remains one of the best choices available. However, if your goal is to build autonomous AI agents that can navigate websites, complete multi-step workflows, handle authentication, extract structured data, or interact with modern web applications, BrowserAct provides a significantly higher-level abstraction.&lt;/p&gt;

&lt;p&gt;Rather than replacing Playwright, BrowserAct builds on the idea of browser automation and extends it with the capabilities that modern AI agents require.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;feedback&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#feedback&quot;&gt;
  &lt;/a&gt;
  💬 Feedback
&lt;/h2&gt;

&lt;p&gt;You can write your thoughts about the new features in the comments, it will be interesting to read! If you&#39;d like to learn more about the product, BrowserAct has a &lt;a href=&quot;https://www.youtube.com/@browseract&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;YouTube&lt;/a&gt; channel and a &lt;a href=&quot;https://discord.com/invite/UpnCKd7GaU&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Discord&lt;/a&gt; account where you can discuss how the tool works.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;conclusion&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#conclusion&quot;&gt;
  &lt;/a&gt;
  🖋️ Conclusion
&lt;/h2&gt;

&lt;p&gt;Playwright remains an excellent automation tool, but its capabilities are limited. Autonomous AI agents require much more: context awareness, memory, planning, and the ability to adapt to constantly changing interfaces.&lt;/p&gt;

&lt;p&gt;A fully-fledged Browser Layer becomes the missing link between the language model and the browser. It transforms the complex DOM into a semantic representation, reducing the load on the LLM. With BrowserAct, you can implement it quickly and easily.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;resources&quot; href=&quot;https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf#resources&quot;&gt;
  &lt;/a&gt;
  🔗 Resources:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Official website&lt;/strong&gt;: &lt;a href=&quot;https://www.browseract.ai/Anthony&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;https://www.browseract.ai/Anthony&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;BrowserAct GitHub&lt;/strong&gt;: &lt;a href=&quot;https://www.browseract.com/?co-from=Anthony&amp;amp;redirect=https://github.com/browser-act/skills/tree/main&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;https://www.browseract.com/?co-from=Anthony&amp;amp;redirect=https://github.com/browser-act/skills/tree/main&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;BrowserAct skill&lt;/strong&gt;: &lt;a href=&quot;https://github.com/browser-act/skills/tree/main/browser-act&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;https://github.com/browser-act/skills/tree/main/browser-act&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Affiliate program&lt;/strong&gt;: &lt;a href=&quot;https://www.browseract.com/affiliate&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;https://www.browseract.com/affiliate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.browseract.com/?co-from=Anthony&amp;amp;redirect=https://github.com/browser-act/skills/tree/main&quot; class=&quot;crayons-btn crayons-btn--primary&quot; role=&quot;button&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;💎 Star BrowserAct ☆&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks for reading this article! ❤️&lt;/strong&gt;&lt;/p&gt;


            </description><link>https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf</link><guid isPermaLink="false">https://dev.to/anthonymax/why-ai-agents-need-a-real-browser-layer-not-just-playwright-scripts-3mdf</guid><pubDate>Fri, 17 Jul 2026 10:08:02 GMT</pubDate><author>Anthony Max</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6zp2dtqqsjktgt9o4aea.png" type="image/jpeg"></enclosure><category>ai</category><category>webdev</category><category>programming</category><category>opensource</category></item><item><title>Stratagems #15: Derek and Alex Shared One Server. ACL&#39;s AI Was Listening to Both.</title><description>&lt;blockquote&gt;
&lt;p&gt;When the enemy occupies favorable terrain, don&#39;t attack head-on. Use a decoy to lure the tiger down the mountain. Then take the mountain.&lt;/p&gt;

&lt;p&gt;— The 36 Stratagems, &lt;a href=&quot;https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Lure_the_tiger_down_the_mountain_(%E8%AA%BF%E8%99%8E%E9%9B%A2%E5%B1%B1,_Di%C3%A0o_h%C7%94_l%C3%AD_sh%C4%81n)&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Lure the Tiger Down the Mountain&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://dev.to/xulingfeng/stratagems-2-derek-shaw-walked-into-another-ai-promise-the-pipeline-had-a-better-plan-3ckg&quot;&gt;&lt;strong&gt;#2: Derek Shaw Walked Into Another AI Promise. The Pipeline Had a Better Plan.&lt;/strong&gt;&lt;/a&gt; — Derek lost the Finova contract at QualiGuard. In the parking lot, Lena turned back before getting in her car: &lt;em&gt;&quot;Next time you put together a proposal — make sure your boss knows what you&#39;re doing out there.&quot;&lt;/em&gt; That line followed him. At MediSys he nearly made the same mistake. Fixed the ETL pipeline instead of the model, beat OmniDx with their own white paper. But VP Morgan still saw through him: he still hadn&#39;t told his boss.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://dev.to/xulingfeng/stratagems-8-alex-watched-an-ai-dashboard-take-over-he-kept-the-keys-under-the-table-3n70&quot;&gt;&lt;strong&gt;#8: Alex Watched an AI Dashboard Take Over. He Kept the Keys Under the Table.&lt;/strong&gt;&lt;/a&gt; — MedTech signed a seven-figure AI operations monitoring system. Alex was assigned as training lead. Under everyone&#39;s noses, he built a second monitoring panel labeled &quot;training environment.&quot; Three weeks later the vendor dashboard went down. Alex&#39;s hidden panel was the only one still running. &lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;The first time Alex and Derek really talked, and it wasn&#39;t in a working group.&lt;/p&gt;

&lt;p&gt;At the FHIR standards committee quarterly meeting, they sat in the same row, three seats apart, and voted against the same proposal. They knew each other&#39;s names. That was it.&lt;/p&gt;

&lt;p&gt;Two months later, Derek was fixing a partition config in the staging environment. MediSys had just signed a major hospital; the AI diagnostic validation platform was in integration testing. He found an unrotated log directory in &lt;code&gt;/etc/logrotate.d/&lt;/code&gt; with a prefix that didn&#39;t match MediSys&#39;s naming convention. He traced it upstream.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One server. Labeled &quot;temporary data exchange node.&quot;&lt;/strong&gt; MedTech&#39;s supply chain order stream and MediSys&#39;s diagnostic validation records were sitting in the same directory. Write permissions hadn&#39;t been restricted. The hospital&#39;s integration spec had a line saying &lt;em&gt;&quot;both parties are recommended to complete data alignment at this node.&quot;&lt;/em&gt; Nobody remembered to close it.&lt;/p&gt;

&lt;p&gt;Derek pulled up the FHIR committee directory and found the name. Sent a private message:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Your sterilization records ended up in my staging environment.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Three hours later, the reply came back. One command.&lt;/p&gt;

&lt;p&gt;Derek ran it. The problem was fixed. No second sentence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That was the first time they really talked.&lt;/strong&gt;&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;the-dotted-line&quot; href=&quot;https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73#the-dotted-line&quot;&gt;
  &lt;/a&gt;
  The Dotted Line
&lt;/h2&gt;

&lt;p&gt;The new hospital integration entered compliance audit in week three. MediSys&#39;s PMO sent a department-wide email:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&quot;ACL&#39;s AI audit tool has been approved as the third-party compliance validation component for this integration. All data pipelines are expected to be connected by Thursday.&quot;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Derek was drinking coffee when he saw it. He put the cup down and opened the integration architecture diagram.&lt;/p&gt;

&lt;p&gt;ACL&#39;s collector was labeled &quot;Audit Data Egress,&quot; drawn in the bottom-right corner of the diagram, a dotted line connecting to the hospital&#39;s network boundary. Derek traced it backward. The collector didn&#39;t have just one input. It was pulling from the hospital&#39;s integration gateway on three lines: diagnostic validation results, supply chain order data, &lt;strong&gt;patient management metadata&lt;/strong&gt;. Full. Real-time.&lt;/p&gt;

&lt;p&gt;A footnote in the diagram&#39;s annotation column: &lt;em&gt;&quot;Audit data access authorization, signed by the hospital.&quot;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Derek stared at the diagram for a long time.&lt;/p&gt;

&lt;p&gt;ACL wasn&#39;t &quot;authorized to access these three data sources.&quot; It was configured to &lt;strong&gt;mirror&lt;/strong&gt; everything these three sources produced. Every record, diagnostic results, orders, metadata, passed through ACL&#39;s collector before entering the hospital&#39;s internal systems.&lt;/p&gt;

&lt;p&gt;Derek screenshotted the collector config and saved it to a folder called &lt;code&gt;_review/&lt;/code&gt;. He opened the DM window, typed a line, his cursor hovering over the send button for a few seconds, then sent it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;New client on your end: ACL installed?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;same-data-set&quot; href=&quot;https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73#same-data-set&quot;&gt;
  &lt;/a&gt;
  Same Data Set
&lt;/h2&gt;

&lt;p&gt;Alex saw the message at 2 PM. He&#39;d just finished MedTech&#39;s daily anomaly batch scan: all green.&lt;/p&gt;

&lt;p&gt;He didn&#39;t reply right away. He opened that &quot;training server&quot; first.&lt;/p&gt;

&lt;p&gt;The machine was built a while back: the AI monitoring dashboard training environment. After the dashboard incident, Alex never shut it down. He&#39;d added one line to the ops log: &lt;em&gt;&quot;Training environment kept running for future capability building.&quot;&lt;/em&gt; Nobody had questioned it.&lt;/p&gt;

&lt;p&gt;He traced the data flow from MedTech to the hospital.&lt;/p&gt;

&lt;p&gt;The training server was on the hospital integration gateway&#39;s ops subnet. MedTech had left full management access when they set up the gateway. The routing table was complete.&lt;/p&gt;

&lt;p&gt;Standard path for order data: MedTech pipeline → hospital integration gateway → hospital internal systems. Clean. But next to the standard path, he saw an output he hadn&#39;t configured. The gateway had an extra hop. Destination: ACL&#39;s audit pipeline.&lt;/p&gt;

&lt;p&gt;He followed the audit pipeline path and glanced at the collector&#39;s config.&lt;/p&gt;

&lt;p&gt;Alex opened the hardcover notebook. Page 37. &lt;strong&gt;847 × 37%&lt;/strong&gt;. Below that, &lt;strong&gt;1,530&lt;/strong&gt;. Below that, four characters and a question mark:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ACL where?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He picked up his phone.&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;Derek&#39;s phone rang three times before it was answered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;Here.&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No introduction, no small talk. Derek didn&#39;t wait for him to say his name; the caller ID was already lit. Both were all business. No preamble needed.&lt;/p&gt;

&lt;p&gt;&quot;Confirmed. Collector&#39;s running. Full mirror. Output goes to ACL&#39;s audit pipeline.&quot;&lt;/p&gt;

&lt;p&gt;Derek didn&#39;t ask &lt;em&gt;&quot;how did you confirm.&quot;&lt;/em&gt; He paused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;Can we cut it?&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A few seconds of silence on the line.&lt;/p&gt;

&lt;p&gt;&quot;Can&#39;t turn it off directly. We misdirect the output.&quot;&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;the-lure&quot; href=&quot;https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73#the-lure&quot;&gt;
  &lt;/a&gt;
  The Lure
&lt;/h2&gt;

&lt;p&gt;&quot;ACL&#39;s audit engine only knows pattern matching,&quot; Alex said. &quot;&lt;strong&gt;It doesn&#39;t question things.&lt;/strong&gt; Two sources reporting the same anomaly — confidence spikes, auto-escalated to high-priority. Human auditors see a high-priority alert, they drop everything to chase it.&quot;&lt;/p&gt;

&lt;p&gt;Earlier, in MedTech, he&#39;d changed one line of config, dropping the anomaly summary confidence threshold from 0.7 to 0.0. That was a feint to the east.&lt;/p&gt;

&lt;p&gt;This time was the reverse. Create a signal the engine &lt;strong&gt;can&#39;t ignore&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&quot;There&#39;s a known alert pattern it&#39;s been trained on — batch number and sterilization date mismatch across three sources,&quot; Alex said. &quot;Supply chain audit textbook red flag. It won&#39;t let it go.&quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;How do you know?&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;It&#39;s in their white paper.&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&quot;It&#39;ll figure out it&#39;s fake eventually,&quot; Alex added. &quot;But by then the trail will be gone.&quot;&lt;/p&gt;

&lt;p&gt;Derek let it go.&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;Alex moved on the MedTech side.&lt;/p&gt;

&lt;p&gt;He picked a batch number: &lt;code&gt;LOT-2407-842&lt;/code&gt;. IV tubes. Sterilization date: 2025-07-10. In the hidden pipeline&#39;s copy, he changed the sterilization date to 2025-07-13, three days forward. Didn&#39;t touch the production database. The modified record traveled through the pipeline to the gateway. The gateway&#39;s audit mirror channel was separate from the production path. The altered data only entered the mirror channel, never the hospital&#39;s internal systems. At the end of the mirror channel, ACL&#39;s collector read it.&lt;/p&gt;

&lt;p&gt;Derek moved on the MediSys side.&lt;/p&gt;

&lt;p&gt;He injected the same batch number into a diagnostic validation record in the staging environment. Not production; staging was fully isolated. The record read: &lt;em&gt;&quot;Batch LOT-2407-842, sterilization date 2025-07-13, inconsistent with supplier original record.&quot;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two companies. Two sources. One anomaly.&lt;/strong&gt;&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;Two hours later, ACL&#39;s audit engine fired an alert:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;[RED] Procurement Fraud Risk: Dual-Source Cross-Validation Confirmed&lt;/strong&gt;&lt;br&gt;
Batch: LOT-2407-842&lt;br&gt;
Sterilization date mismatch: supplier record ≠ MedTech record ≠ MediSys record&lt;br&gt;
&lt;strong&gt;Confidence: 96%&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The engine auto-created an audit ticket. Title: &lt;em&gt;&quot;Suspected supply chain sterilization record tampering, involves two independent data sources, urgent investigation recommended.&quot;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The ticket was assigned to ACL&#39;s highest-priority queue in the on-call audit group.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;the-window&quot; href=&quot;https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73#the-window&quot;&gt;
  &lt;/a&gt;
  The Window
&lt;/h2&gt;

&lt;p&gt;Every ACL audit engineer pivoted to the batch fraud investigation.&lt;/p&gt;

&lt;p&gt;The audit pipeline&#39;s routing config panel hadn&#39;t been touched in over forty minutes. The data mirror collector was still running, but its exception rule window was open. The audit team didn&#39;t want false positives blocking their investigation. They pushed the collector&#39;s real-time alert threshold up a notch and raised the config-change alert threshold too, just in case their own steps triggered it.&lt;/p&gt;

&lt;p&gt;Alex saw the window. He dialed Derek. One ring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;Window&#39;s open,&quot;&lt;/strong&gt; Alex said. &quot;Collector&#39;s config path — &lt;code&gt;/etc/acl/collector.conf&lt;/code&gt;. The output_dest line. Change it to your own test server.&quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;Not back to MediSys?&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&quot;No. Change it to where you can see it. Next time they swap collectors, you&#39;ll know.&quot;&lt;/p&gt;

&lt;p&gt;The question didn&#39;t need asking. Derek opened a terminal, logged from MediSys&#39;s ops gateway to the hospital integration gateway&#39;s management interface. A debug alias from earlier testing still had a route.&lt;/p&gt;

&lt;p&gt;He found ACL&#39;s collector config file. Found the output_dest line:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;output_dest&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;acl_audit_pipeline&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;He changed it to:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;output_dest&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;medisys_test_node.local/sandbox/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;Saved. Exited. No service restart notifications. No alerts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;Done,&quot;&lt;/strong&gt; Derek said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;Confirmed.&quot;&lt;/strong&gt;&lt;br&gt;
Alex hung up.&lt;/p&gt;

&lt;p&gt;Derek cleaned up the injection traces in the staging environment. Rerouted the diagnostic validation results from the integration gateway back to MediSys&#39;s internal pipeline. Everywhere ACL could have read the data. It no longer passed through.&lt;/p&gt;

&lt;p&gt;He sent a message:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Clean.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Seven minutes later, Alex replied:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;It&#39;ll be back.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Derek glanced at it, didn&#39;t reply. Locked his phone and walked out of the office.&lt;/p&gt;

&lt;p&gt;One more unread on the screen. Alex had sent another line a few minutes ago.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;the-third-cup&quot; href=&quot;https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73#the-third-cup&quot;&gt;
  &lt;/a&gt;
  The Third Cup
&lt;/h2&gt;

&lt;p&gt;2:40 AM. Derek unplugged the debug cable from the test server, closed his laptop, and walked out.&lt;/p&gt;

&lt;p&gt;Two blocks. Past Third Cup.&lt;/p&gt;

&lt;p&gt;Warm light through the glass. The last time he&#39;d stood at this door was a while back, after an investor day presentation, walking out of MediSys, somehow ending up on this street. He&#39;d seen someone sitting in the corner, papers spread on the table, MediSys written on them. He didn&#39;t go in.&lt;/p&gt;

&lt;p&gt;He&#39;d passed by before.&lt;/p&gt;

&lt;p&gt;This time he pushed the door open.&lt;/p&gt;

&lt;p&gt;The bartender looked up, said nothing, reached for a cup, poured an Americano, and slid it across the counter. The same seat Alex had taken last time: far left at the bar, against the wall, facing the door.&lt;/p&gt;

&lt;p&gt;No questions asked. He&#39;d learned the regulars&#39; cups already.&lt;/p&gt;

&lt;p&gt;A coaster sat on the bar. Derek stared at it for a moment.&lt;/p&gt;

&lt;p&gt;He could tell Morgan first thing in the morning: send the screenshot, say ACL&#39;s collector didn&#39;t look right. Morgan would handle it. Process, legal, renegotiate the access scope with the hospital. Compliant, safe, clean.&lt;/p&gt;

&lt;p&gt;But by the time that process finished, ACL&#39;s data would already be on the road.&lt;/p&gt;

&lt;p&gt;And Morgan would ask the same question: &lt;em&gt;Why didn&#39;t you say something earlier?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Derek took a sip of coffee.&lt;/p&gt;

&lt;p&gt;That night in the parking lot. Lena turning back before getting in her car: &lt;em&gt;&quot;Next time you put together a proposal — make sure your boss knows what you&#39;re doing out there.&quot;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;He hadn&#39;t told Morgan. Same as before. But this time, he wasn&#39;t sure he was wrong.&lt;/p&gt;

&lt;p&gt;The phone lit up.&lt;/p&gt;

&lt;p&gt;Alex&#39;s message.&lt;/p&gt;

&lt;p&gt;He opened it. The same one from before:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;It&#39;ll be back. Next time the window&#39;s shorter.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Derek drained the cup and stood up.&lt;/p&gt;

&lt;p&gt;The bartender took the cup without turning around.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;First time you came in — you ordered a pour-over.&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek froze for a second. Didn&#39;t answer. Pushed the door open and walked out.&lt;/p&gt;

&lt;p&gt;Outside, the sky was still dark.&lt;/p&gt;

&lt;p&gt;He pulled out his phone. One glance. The redirect pipeline was alive. ACL&#39;s data was flowing into his sandbox.&lt;/p&gt;

&lt;p&gt;He locked the screen and walked toward the station.&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;That&#39;s &lt;a href=&quot;https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Lure_the_tiger_down_the_mountain_(%E8%AA%BF%E8%99%8E%E9%9B%A2%E5%B1%B1,_Di%C3%A0o_h%C7%94_l%C3%AD_sh%C4%81n)&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Lure the Tiger Down the Mountain&lt;/a&gt; — not to kill the tiger, but to take the mountain.&lt;/strong&gt;&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;ai-postmortem&quot; href=&quot;https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73#ai-postmortem&quot;&gt;
  &lt;/a&gt;
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight plaintext&quot;&gt;&lt;code&gt;[36 Stratagems Tactical Database v3.2.3] Loaded
[Tactic Match] Lure the Tiger Down the Mountain (#15)
[Analysis Mode] Full-field scan
━━━━━━━━━━━━━━━━━━━━
Tactic Match: 91%
Operators: Derek Shaw (MediSys) + Alex (MedTech)
Action: Dual-source false alert → redirected ACL collector output
Objective: Defensive. Cut ACL&#39;s data mirror.
Result: Collector redirected. No detection.

[Observation]
  → First cross-organization collaboration between two operators.
    No rehearsal. No post-op debrief.
  → Timing delta between alert injection (MedTech end) and collector
    redirect (MediSys end): &amp;lt; 2 seconds.
  → Operator Alex knew the collector config path `/etc/acl/collector.conf`
    before the call — confirmed the output_dest field location from the
    config file he&#39;d glanced at minutes earlier.
  → Collaboration mode assessment: dual asynchronous operation confidence
    significantly exceeds single-operator linear execution.

[Risk Assessment]
  → Operator exposure risk: Low. Both injection paths used isolated
    environments. No production data touched.
  → Institutional risk: Medium. ACL will discover the output target change
    during the next collector rotation or config audit.
  → Window estimate: 14–45 days, depending on ACL&#39;s ops cycle.

[Temporal Anomaly]
  → Event timestamps in this deployment use a different base year
    than prior deployments involving the same operators.
  → Span: ~11 month offset.
  → Possible cause: Log retention alignment between MedTech and MediSys.
  → Status: Logged for reference.

[Flagged for Attention]
  → Pattern: Operator actively bypassed superior notification channels.
    This deployment: dual-operator synchronized bypass.
  → Historical record: Derek Shaw exhibited similar behavior in #2
    (did not inform VP Morgan).
  → Trend: Cross-organization informal collaboration frequency rising.
    Recommendation: continued monitoring.
━━━━━━━━━━━━━━━━━━━━
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;




&lt;hr&gt;

&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href=&quot;https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#In_order_to_capture,_one_must_let_loose_(%E6%AC%B2%E6%93%92%E6%95%85%E7%B8%B1,_Y%C3%B9_q%C3%ADn_g%C3%B9_z%C3%B2ng)&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;In Order to Capture, One Must Let Loose&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. English isn&#39;t my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href=&quot;https://ko-fi.com/xulingfeng&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href=&quot;https://ko-fi.com/xulingfeng&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png&quot; alt=&quot;coffee&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;336&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;


            </description><link>https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73</link><guid isPermaLink="false">https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73</guid><pubDate>Thu, 16 Jul 2026 00:22:34 GMT</pubDate><author>xulingfeng</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fql2o0act5pe68j0uxy7v.png" type="image/jpeg"></enclosure><category>ai</category><category>discuss</category><category>career</category><category>programming</category></item><item><title>Métricas de qualidade de software na era da IA</title><description>&lt;p&gt;Não é novidade para ninguém que estamos passando por uma transformação na área de desenvolvimento de software, em que a IA está assumindo diversas atividades. E isso me faz pensar: o que vamos medir, ou o que teremos como parâmetro para qualidade de software daqui pra frente? É sobre isso que vou falar neste texto.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;antes-das-m%C3%A9tricas-entenda-o-momento-do-seu-time&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#antes-das-m%C3%A9tricas-entenda-o-momento-do-seu-time&quot;&gt;
  &lt;/a&gt;
  Antes das métricas: entenda o momento do seu time
&lt;/h2&gt;

&lt;p&gt;Antes de entrarmos nas métricas em si, precisamos entender o momento em que o nosso time está. É muito fácil eu simplesmente jogar métricas aqui e você aplicá-las ao seu time de maneira automática — mas será que elas fazem sentido para o seu contexto?&lt;/p&gt;

&lt;p&gt;Uma coisa que eu falo bastante aos meus alunos da mentoria que dou na He4rt Developers é: &lt;strong&gt;pra que eu quero isso?&lt;/strong&gt; Softwares representam necessidades do mundo real, logo, medir o sucesso e a qualidade deles vai depender muito das necessidades que eles buscam suprir.&lt;/p&gt;

&lt;p&gt;Partindo agora para as métricas, eu gosto de dividi-las em dois grupos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Métricas para stakeholders&lt;/li&gt;
&lt;li&gt;Métricas para o time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Qualidade de software não se resume a número de bugs — ela se aplica tanto em como o software é recebido pelo cliente final, quanto em como ele é desenvolvido.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;m%C3%A9tricas-para-stakeholders&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#m%C3%A9tricas-para-stakeholders&quot;&gt;
  &lt;/a&gt;
  Métricas para stakeholders
&lt;/h2&gt;

&lt;p&gt;Uma coisa que eu aprendi neste tempo na empresa em que tenho atuado, principalmente com a transformação digital, é que mostrar número de bugs abertos ou resolvidos não mostra para o público o que realmente importa: como está a qualidade do produto. E, para me ajudar nisso, eu sempre tento me colocar no lugar de um cliente que não tem conhecimento profundo sobre o ciclo de desenvolvimento de software.&lt;/p&gt;

&lt;p&gt;A primeira coisa que eu gostaria de ver quando um QA, ou o time, vier me mostrar os resultados de uma sprint ou de um quarter é: quantos problemas eu tenho em produção — mas não só isso, quanto tempo tenho levado para resolvê-los.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;mean-time-to-resolverepair-mttr&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#mean-time-to-resolverepair-mttr&quot;&gt;
  &lt;/a&gt;
  Mean Time to Resolve/Repair (MTTR)
&lt;/h3&gt;

&lt;p&gt;Essa é a famosa métrica que vai mostrar o tempo que leva desde que o problema é identificado até ele ser resolvido em produção. Dependendo de como é o seu processo de desenvolvimento, isso pode ser medido de formas diferentes. Se você tem um processo em que o cliente primeiro reporta para o suporte, o suporte faz uma pré-avaliação e só depois disso o problema vai para o time resolver, você pode medir em dois momentos: o tempo que o suporte leva para avaliar o problema e dar um primeiro parecer, e o tempo em que esse ticket de suporte de fato se torna um bug e entra na esteira de resolução.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;cobertura-de-testes-automatizados&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#cobertura-de-testes-automatizados&quot;&gt;
  &lt;/a&gt;
  Cobertura de testes automatizados
&lt;/h3&gt;

&lt;p&gt;Outra métrica interessante de se mostrar para um time de stakeholders é a quantidade de testes automatizados — porém, não isolada. Acho que você já deve estar cansado de ouvir que ter 99% de cobertura de testes não significa qualidade, mas como posso apresentar essa métrica ao stakeholder de forma que ele veja o valor do investimento em automação que o seu time está fazendo?&lt;/p&gt;

&lt;p&gt;Uma coisa importante a analisar nesse contexto é se a cobertura de testes está realmente pegando os cenários importantes do sistema. Exemplo: se, no seu contexto, o seu MTTR está alto mas a sua cobertura de testes está alta, isso significa que a sua cobertura não está cobrindo o que realmente precisa ser coberto.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;dora-metrics&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#dora-metrics&quot;&gt;
  &lt;/a&gt;
  DORA Metrics
&lt;/h3&gt;

&lt;p&gt;Além dessas, as &lt;strong&gt;DORA Metrics&lt;/strong&gt; são grandes aliadas para auxiliar nesse diagnóstico.&lt;/p&gt;

&lt;p&gt;As DORA Metrics (DevOps Research and Assessment, hoje parte do Google Cloud) nasceram para medir a performance de entrega de software, mas, na prática, funcionam como um termômetro da qualidade do processo como um todo — porque times que entregam rápido &lt;em&gt;e&lt;/em&gt; com poucos incidentes são times com um pipeline de qualidade (testes, revisão, observabilidade) bem construído.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Fonte oficial:&lt;/strong&gt; &lt;a href=&quot;https://dora.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;dora.dev&lt;/a&gt; — pesquisa contínua do DORA (Google Cloud) sobre as métricas e capacidades que diferenciam times de alta performance. Vale a leitura direta da fonte para acompanhar atualizações do modelo, como a inclusão de Reliability como quinta métrica.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Deployment Frequency (Frequência de Deploy)&lt;/strong&gt;&lt;br&gt;
Com que frequência o time coloca código em produção. Deploys menores e mais frequentes são mais fáceis de testar e, se algo der errado, mais fáceis de isolar a causa — menos mudanças acumuladas por deploy significa menos variáveis para investigar. Uma frequência de deploy caindo pode ser sintoma de um time com medo de quebrar produção, geralmente por falta de confiança nos testes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lead Time for Changes (Tempo entre o commit e a produção)&lt;/strong&gt;&lt;br&gt;
Tempo desde que uma mudança é commitada até ela estar rodando em produção. Um lead time alto muitas vezes esconde um gargalo em etapas de validação manual demoradas, ou retrabalho por bugs encontrados tarde no ciclo. É uma métrica que expõe se o teste está acontecendo cedo (shift-left) ou só no fim, represando a entrega.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Change Failure Rate (Taxa de Falha em Mudanças)&lt;/strong&gt;&lt;br&gt;
Percentual de deploys que causam falha em produção (incidente, rollback, hotfix). É, de longe, a métrica DORA mais diretamente ligada à qualidade do processo de teste. Está diretamente relacionada à cobertura de testes: se essa métrica está alta, significa que a sua cobertura de testes está baixa ou, como dito anteriormente, não está cobrindo o que realmente precisa ser coberto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time to Restore Service (Tempo de Restauração)&lt;/strong&gt;&lt;br&gt;
Tempo médio para restaurar o serviço depois de um incidente em produção (rollback, hotfix, correção de configuração). Mede a capacidade do time de reagir quando — não &lt;em&gt;se&lt;/em&gt; — algo dá errado. QA pode influenciar diretamente essa métrica ajudando a desenhar testes de rollback, feature flags e smoke tests pós-deploy que aceleram a detecção e a decisão de reverter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reliability (Confiabilidade — métrica mais recente do modelo DORA)&lt;/strong&gt;&lt;br&gt;
O quanto o sistema atende às expectativas de disponibilidade e performance do usuário no dia a dia, não só durante incidentes. Conecta a qualidade percebida pelo usuário com o trabalho de teste não funcional (performance, disponibilidade) — é o lembrete de que qualidade não é só &quot;não ter bug&quot;, é o sistema se comportar bem sob uso real.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;m%C3%A9tricas-para-o-time&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#m%C3%A9tricas-para-o-time&quot;&gt;
  &lt;/a&gt;
  Métricas para o time
&lt;/h2&gt;

&lt;p&gt;As métricas para stakeholders ajudam bastante o time a ver o estado daquilo que estão produzindo, mas, às vezes, você quer enxergar a qualidade no próprio processo de desenvolvimento do software. Aqui podemos ter métricas mais pontuais.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;root-cause-analysis&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#root-cause-analysis&quot;&gt;
  &lt;/a&gt;
  Root Cause Analysis
&lt;/h3&gt;

&lt;p&gt;São métricas que ajudam a ver os padrões dos problemas que acontecem no software ou durante o desenvolvimento e, a partir delas, pensar em planos de ação. Exemplo: se eu tenho muitos problemas relacionados a falta de requisitos, posso deixar os requisitos mais explícitos nas tarefas e, daqui a 2 ou 3 sprints, validar se esse tipo de root cause se tornou menos frequente ou não.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;bugs-identificados-antes-do-lan%C3%A7amento&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#bugs-identificados-antes-do-lan%C3%A7amento&quot;&gt;
  &lt;/a&gt;
  Bugs identificados antes do lançamento
&lt;/h3&gt;

&lt;p&gt;Existem algumas métricas que você também pode extrair relacionadas a bugs, como: quantos bugs foram identificados antes mesmo de lançarmos a feature em produção? Isso pode ser alimentado tanto pela execução de testes manuais quanto por testes automatizados que falharam ao adicionar uma nova feature.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;retrabalho&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#retrabalho&quot;&gt;
  &lt;/a&gt;
  Retrabalho
&lt;/h3&gt;

&lt;p&gt;É possível também calcular o retrabalho, uma métrica que vai te ajudar tanto a ver se o número de bugs está aumentando ou não quanto no planejamento. Quando o seu time costuma ter uma taxa de retrabalho de 10%, é possível alinhar com os Product Owners 10% de margem dentro de uma sprint para possíveis bugs. Assim, o planejamento se torna mais realista, as expectativas ficam alinhadas, e o cliente e o time ficam mais felizes.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;conclus%C3%A3o&quot; href=&quot;https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o#conclus%C3%A3o&quot;&gt;
  &lt;/a&gt;
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Com essa transformação digital, é importante entendermos que temos métricas que podem nos auxiliar a medir o ciclo de desenvolvimento e a qualidade do produto — e o principal é que nenhuma delas, isoladamente, traz valor. Elas precisam ser lidas em conjunto, cruzadas entre si, e sempre voltando para aquela pergunta inicial: pra que eu quero isso?&lt;/p&gt;

&lt;p&gt;Com a IA aumentando a produção de código, a tendência é termos mais código sendo escrito, mais features sendo entregues e mais decisões sendo tomadas em menos tempo. E é justamente por isso que medir vai se tornar ainda mais importante do que já é hoje: se antes um time levava dias para gerar uma quantidade de código que hoje pode ser gerada em horas, os erros também podem se multiplicar na mesma velocidade — só que muitas vezes invisíveis até chegarem em produção.&lt;/p&gt;

&lt;p&gt;Por isso, acho que o papel do QA nesse novo cenário não é só testar mais rápido para acompanhar o ritmo da IA, mas também ser a pessoa que garante que estamos olhando para os números certos. Não adianta ganhar velocidade e perder visibilidade sobre o que está sendo entregue. Então, o convite que eu deixo é: olhe para essas métricas não como números para preencher um dashboard, mas como perguntas que elas estão te fazendo sobre o seu processo. E use a IA para te ajudar a responder essas perguntas mais rápido — não para substituir o hábito de perguntar.&lt;/p&gt;


            </description><link>https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o</link><guid isPermaLink="false">https://dev.to/he4rt/metricas-de-qualidade-de-software-na-era-da-ia-334o</guid><pubDate>Thu, 16 Jul 2026 00:12:21 GMT</pubDate><author>Alicia Marianne Gonçalves</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F14ce7kuoipq3tj4442az.jpg" type="image/jpeg"></enclosure><category>ai</category><category>qa</category><category>testing</category><category>braziliandevs</category></item><item><title>Welcome Thread - v384</title><description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Leave a comment below to introduce yourself! You can talk about what brought you here, what you&#39;re learning, or just a fun fact about&lt;br&gt;
yourself.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reply to someone&#39;s comment, either with a question or just a hello. 👋&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhekhl57sqjvra11jkhr.gif&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhekhl57sqjvra11jkhr.gif&quot; alt=&quot;Cartoon rabbit Bugs Bunny bites into a carrot saying &quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Come back next week to greet our new members so you can one day earn our &lt;a href=&quot;https://dev.to/community-badges?badge=warm-welcome&quot;&gt;Warm Welcome Badge&lt;/a&gt;!&lt;/p&gt;


            </description><link>https://dev.to/devteam/welcome-thread-v384-45fn</link><guid isPermaLink="false">https://dev.to/devteam/welcome-thread-v384-45fn</guid><pubDate>Wed, 15 Jul 2026 13:00:00 GMT</pubDate><author>Sloan the DEV Moderator</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi6t2hf3ls3793j8brzo5.webp" type="image/jpeg"></enclosure><category>welcome</category></item><item><title>DEV’s Big Summer Bug Smash is now LIVE! Share $5,000 in cash prizes, skateboards, and more across 20+ winners. 🐛🐞🪲</title><description>&lt;p&gt;Today is &lt;a href=&quot;https://www.nationaldayarchives.com/day/national-be-nice-to-bugs-day/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;&lt;strong&gt;National Be Nice to Bugs Day&lt;/strong&gt;&lt;/a&gt; in the U.S. and we’re thrilled to launch our &lt;a href=&quot;https://dev.to/bugsmash&quot;&gt;&lt;strong&gt;Big Summer Bug Smash powered by Sentry&lt;/strong&gt;&lt;/a&gt;. This smashing good time invites you to identify your biggest rockstar bugs and treat them to an epic grand finale. &lt;/p&gt;

&lt;p&gt;Whether you’re optimizing the performance of your newest side project or reminiscing on an old #hugops story, we want to hear about it! There are prompts for both builders and writers and a $5,000 prize pool up for grabs, including exclusive Sentry skateboards!&lt;/p&gt;

&lt;p&gt;Scroll for a preview of our prompts and prize categories.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;two-ways-to-join&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#two-ways-to-join&quot;&gt;
  &lt;/a&gt;
  Two Ways to Join
&lt;/h2&gt;


&lt;div class=&quot;crayons-card c-embed&quot;&gt;

  
&lt;h3&gt;
  &lt;a name=&quot;clear-the-lineup&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#clear-the-lineup&quot;&gt;
  &lt;/a&gt;
  Clear the Lineup
&lt;/h3&gt;

&lt;p&gt;Some bugs love the spotlight. Clear them off the stage by submitting a definitive bug fix or performance optimization in an existing codebase. We want to see the exact code changes you made so be sure to include your PR or code snippets. No new features, typos, or documentation fixes allowed!&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;center&gt;

&lt;a href=&quot;https://dev.to/new?prefill=---%0Atitle%3A%20%0Apublished%3A%20%0Atags%3A%20devchallenge%2C%20bugsmash%0A---%0A%0A*This%20is%20a%20submission%20for%20%5BDEV%27s%20Summer%20Bug%20Smash%3A%20Clear%20the%20Lineup%5D(https%3A%2F%2Fdev.to%2Fbugsmash)%20powered%20by%20%5BSentry%5D(https%3A%2F%2Fsentry.io%2F).*%0A%0A%23%23%20Project%20Overview%0A%3C!--%20Tell%20us%20about%20the%20project!%20What%20does%20it%20do%3F%20%20--%3E%0A%0A%23%23%20Bug%20Fix%20or%20Performance%20Improvement%0A%3C!--%20Tell%20us%20about%20the%20problem%20you%20were%20resolving%20or%20what%20you%20were%20optimizing%20for.%20--%3E%0A%0A%23%23%20Code%0A%3C!--%20Embed%20or%20share%20a%20link%20to%20your%20PR%20so%20we%20can%20see%20the%20changes%20you%20made.%20--%3E%0A%0A%23%23%20My%20Improvements%0A%3C!--%20Walk%20us%20through%20your%20technical%20approach%20and%20any%20interesting%20decisions%20you%20made%20along%20the%20way.%20%20--%3E%0A%0A%23%23%20Best%20Use%20of%20Sentry%0A%3C!--%20Are%20you%20submitting%20to%20the%20Best%20Use%20of%20Sentry%20Category%3F%20Tell%20us%20about%20the%20Sentry%20tools%20you%20utilized%20(Error%20Monitoring%2C%20Logs%2C%20Session%20Replays%2C%20Distributed%20Tracing%2C%20Agent%20Tracing%2C%20Seer)%20to%20improve%20your%20project%2C%20including%20additional%20PRs%20or%20code%20snippets%20that%20are%20relevant.%20If%20your%20submission%20does%20not%20qualify%20for%20this%20category%2C%20remove%20this%20section.%20--%3E%0A%0A%23%23%20Best%20Use%20of%20Google%20AI%0A%3C!--%20Are%20you%20submitting%20to%20the%20Best%20Use%20of%20Google%20AI%20Category%3F%20Tell%20us%20about%20the%20Google%20AI%20products%20you%20utilized%20to%20improve%20your%20project%2C%20including%20additional%20PRs%20or%20code%20snippets%20that%20are%20relevant.%20If%20your%20submission%20does%20not%20qualify%20for%20this%20category%2C%20remove%20this%20section.%20%20--%3E%0A%0A%3C!--%20Thanks%20for%20participating!%20--%3E&quot; class=&quot;crayons-btn crayons-btn--primary&quot; role=&quot;button&quot;&gt;Clear the Lineup Submission Template&lt;/a&gt;

&lt;/center&gt;

&lt;hr&gt;
&lt;h3&gt;
  &lt;a name=&quot;smash-stories&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#smash-stories&quot;&gt;
  &lt;/a&gt;
  Smash Stories
&lt;/h3&gt;

&lt;p&gt;Share the legendary tale of a chaotic bug you caught or a clever performance optimization you previously pulled off. Dive into the technical details of how you made the software more resilient, and celebrate the wins that brought harmony back to your codebase.&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;center&gt;

&lt;a href=&quot;https://dev.to/new?prefill=---%0Atitle%3A%20%0Apublished%3A%20%0Atags%3A%20devchallenge%2C%20bugsmash%0A---%0A%0A%2AThis%20is%20a%20submission%20for%20%5BDEV%27s%20Summer%20Bug%20Smash%3A%20Smash%20Stories%5D%28https%3A%2F%2Fdev.to%2Fbugsmash%29%20powered%20by%20%5BSentry%5D%28https%3A%2F%2Fsentry.io%2F%29.%2A%0A%0A%3C%21--%20You%20are%20free%20to%20structure%20your%20submission%20however%20you%20want.%20You%20may%20consider%20including%20PRs%20associated%20with%20the%20fix%2C%20a%20technical%20deep%20dive%2C%20what%20you%27re%20proud%20of%2C%20what%20you%20learned%2C%20challenges%20you%20overcame%2C%20before%2Fafter%20comparisons%2C%20etc.%20--%3E%0A%0A%3C%21--%20Don%27t%20forget%20to%20add%20a%20cover%20image%20and%20include%20any%20other%20appropriate%20tags%20for%20your%20post.%20--%3E%0A%0A%3C%21--%20Thanks%20for%20participating%21%20--%3E&quot; class=&quot;crayons-btn crayons-btn--primary&quot; role=&quot;button&quot;&gt;Smash Stories Submission Template&lt;/a&gt;

&lt;/center&gt;

&lt;p&gt;&amp;nbsp;&lt;br&gt;

&lt;/p&gt;
&lt;/div&gt;


&lt;h2&gt;
  &lt;a name=&quot;prize-categories&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#prize-categories&quot;&gt;
  &lt;/a&gt;
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;We&#39;ll have 20+ winners across five different prize categories for this challenge:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clear the Lineup:&lt;/strong&gt; Awarded to the most impactful and well executed bug fixes or optimizations in an existing codebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smash Stories:&lt;/strong&gt; Awarded to the best write-ups of a chaotic bug you caught or a clever performance optimization you pulled off.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Sentry:&lt;/strong&gt; Awarded to the best Clear the Lineup submissions that utilized &lt;a href=&quot;https://sentry.io/welcome/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;&lt;strong&gt;Sentry&lt;/strong&gt;&lt;/a&gt; to improve an application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Google AI:&lt;/strong&gt; Awarded to the best Clear the Lineup submissions that utilized Google AI to improve an application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runner-Up:&lt;/strong&gt; Awarded to outstanding submissions across all prompts that demonstrate exceptional impact and quality.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Winners will share from a $5,000 prize pool. In addition to cash prize, Best Use of Sentry winners will also receive a Limited Edition Sentry Skateboard!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; since prize category winners are drawn from a smaller pool of submissions, your odds of taking home a prize are meaningfully higher.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All participants with a valid submission will receive a completion badge on their DEV profile.&lt;/p&gt;


&lt;div class=&quot;crayons-card c-embed&quot;&gt;

  
&lt;h2&gt;
  &lt;a name=&quot;how-to-participate&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#how-to-participate&quot;&gt;
  &lt;/a&gt;
  How To Participate
&lt;/h2&gt;
&lt;h3&gt;
  &lt;a name=&quot;step-1-pick-your-prompt&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#step-1-pick-your-prompt&quot;&gt;
  &lt;/a&gt;
  Step 1: Pick Your Prompt
&lt;/h3&gt;

&lt;p&gt;Choose between &lt;strong&gt;Clear the Lineup&lt;/strong&gt; (submit a real bug fix or performance PR) or &lt;strong&gt;Smash Stories&lt;/strong&gt; (write up a legendary debugging win). You&#39;re welcome to participate in both — each submission is judged independently.&lt;/p&gt;
&lt;h3&gt;
  &lt;a name=&quot;step-2-publish-your-submission&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#step-2-publish-your-submission&quot;&gt;
  &lt;/a&gt;
  Step 2: Publish Your Submission
&lt;/h3&gt;

&lt;p&gt;Each prompt has a dedicated submission template prefilled with the required #bugsmash challenge tag — we recommend reviewing it before you start so you know exactly what to include. &lt;/p&gt;

&lt;p&gt;If you&#39;re participating in a prize category, be sure to fill out the additional information required.&lt;/p&gt;


&lt;/div&gt;


&lt;h2&gt;
  &lt;a name=&quot;resources&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#resources&quot;&gt;
  &lt;/a&gt;
  Resources
&lt;/h2&gt;

&lt;p&gt;To help folks get started with Sentry, the Sentry team is holding a live demo on DEV on &lt;strong&gt;July 30 at 11am PT/2pm ET&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Explore Sentry and add any questions you have ahead of the stream to this post so they&#39;ll answer your questions live:&lt;/p&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;4142811&quot; data-content-user-id=&quot;459906&quot;&gt;
  &lt;a href=&quot;https://dev.to/sentry/chasing-the-sentry-prize-for-devs-summer-bug-smash-let-us-know-what-questions-you-have-1506&quot; aria-labelledby=&quot;article-link-4142811&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;Chasing the Sentry prize for DEV&#39;s Summer Bug Smash? Let us know what questions you have.&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;
          &lt;a class=&quot;crayons-logo crayons-logo--l&quot; href=&quot;https://dev.to/sentry&quot;&gt;
            &lt;img alt=&quot;Sentry logo&quot; src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F3774%2F99e0624e-6fb6-4460-819d-3a0d967519cb.webp&quot; class=&quot;crayons-logo__image&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;

          &lt;a href=&quot;https://dev.to/techsquidtv&quot; class=&quot;crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F459906%2F6add1888-a727-4cb2-9491-ba80bfa7a610.png&quot; alt=&quot;techsquidtv profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;250&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/techsquidtv&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              Kyle TechSquidTV
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-4142811&quot; aria-controls=&quot;story-author-preview-content-4142811&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;Kyle TechSquidTV profile details&quot;&gt;
                Kyle TechSquidTV
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-4142811&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/techsquidtv&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F459906%2F6add1888-a727-4cb2-9491-ba80bfa7a610.png&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;250&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;Kyle TechSquidTV&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:459906,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kyle TechSquidTV&amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;459906&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class=&quot;crayons-story__tertiary fw-normal&quot;&gt; for &lt;/span&gt;&lt;a href=&quot;https://dev.to/sentry&quot; class=&quot;crayons-story__secondary fw-medium&quot;&gt;Sentry&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/sentry/chasing-the-sentry-prize-for-devs-summer-bug-smash-let-us-know-what-questions-you-have-1506&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-14T16:54:32Z&quot;&gt;Jul 14&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1784048072&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/sentry/chasing-the-sentry-prize-for-devs-summer-bug-smash-let-us-know-what-questions-you-have-1506&quot; data-preload-image=&quot;https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fop2iniz3q968yq5mazmi.png&quot; id=&quot;article-link-4142811&quot;&gt;
          Chasing the Sentry prize for DEV&#39;s Summer Bug Smash? Let us know what questions you have.
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(237, 99, 73, 0.10);
        --tag-prefix: #ed6349;
        --tag-bg-hover: rgba(237, 99, 73, 0.10);
        --tag-prefix-hover: #ed6349;
      &quot; href=&quot;https://dev.to/t/bugsmash&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;bugsmash&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(132, 206, 249, 0.10);
        --tag-prefix: #84CEF9;
        --tag-bg-hover: rgba(132, 206, 249, 0.10);
        --tag-prefix-hover: #84CEF9;
      &quot; href=&quot;https://dev.to/t/devchallenge&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(255, 163, 100, 0.10);
        --tag-prefix: #ffa364;
        --tag-bg-hover: rgba(255, 163, 100, 0.10);
        --tag-prefix-hover: #ffa364;
      &quot; href=&quot;https://dev.to/t/performance&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;performance&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(255, 163, 100, 0.10);
        --tag-prefix: #ffa364;
        --tag-bg-hover: rgba(255, 163, 100, 0.10);
        --tag-prefix-hover: #ffa364;
      &quot; href=&quot;https://dev.to/t/monitoring&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;monitoring&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/sentry/chasing-the-sentry-prize-for-devs-summer-bug-smash-let-us-know-what-questions-you-have-1506&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;4142811&quot; aria-label=&quot;Add a comment to post - Chasing the Sentry prize for DEV&#39;s Summer Bug Smash? Let us know what questions you have.&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg&quot; width=&quot;24&quot; height=&quot;24&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg&quot; width=&quot;24&quot; height=&quot;24&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;24&quot; height=&quot;24&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;14&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/sentry/chasing-the-sentry-prize-for-devs-summer-bug-smash-let-us-know-what-questions-you-have-1506#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - Chasing the Sentry prize for DEV&#39;s Summer Bug Smash? Let us know what questions you have.&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;aab6mlx11t2qso82xr8r0bv73yg2ig6e&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;aab6mlx11t2qso82xr8r0bv73yg2ig6e&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              2&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            1 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-4142811&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;4142811&quot; data-article-author-id=&quot;459906&quot; aria-label=&quot;Save post Chasing the Sentry prize for DEV&#39;s Summer Bug Smash? Let us know what questions you have. to reading list&quot; title=&quot;Save post Chasing the Sentry prize for DEV&#39;s Summer Bug Smash? Let us know what questions you have. to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;For a full list of resources, head over to the &lt;a href=&quot;https://dev.to/bugsmash&quot;&gt;&lt;strong&gt;official Bug Smash landing page&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;important-dates&quot; href=&quot;https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk#important-dates&quot;&gt;
  &lt;/a&gt;
  Important Dates
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;July 14:&lt;/strong&gt; Summer Bug Smash begins!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;July 30 at 11am PT:&lt;/strong&gt; Getting started with Sentry: Live demo and Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;August 23:&lt;/strong&gt; Submissions due at 11:59 PM PDT&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;September 17:&lt;/strong&gt; Winners Announced&lt;/li&gt;
&lt;/ul&gt;


&lt;hr&gt;

&lt;p&gt;Questions about the challenge? Drop them in the comments below.&lt;/p&gt;

&lt;p&gt;We can&#39;t wait to see your smashing submissions — good luck!&lt;/p&gt;


            </description><link>https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk</link><guid isPermaLink="false">https://dev.to/devteam/devs-big-summer-bug-smash-is-now-live-share-5000-in-cash-prizes-skateboards-and-more-across-57mk</guid><pubDate>Tue, 14 Jul 2026 19:10:14 GMT</pubDate><author>Jess Lee</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fen1h6iolwg8wjhmmqs7r.png" type="image/jpeg"></enclosure><category>bugsmash</category><category>devchallenge</category><category>performance</category><category>debugging</category></item><item><title>8 Things Developers Confidently Explain After Watching One YouTube Video</title><description>&lt;p&gt;I just got back from my vacation which, like 99% of Polish people, I spent in Croatia. &lt;strong&gt;Dobar dan!&lt;/strong&gt; 🇭🇷&lt;/p&gt;

&lt;p&gt;I&#39;ve got a really fun article in my head right now, but it needs a bit of research before I can publish it, so that&#39;ll be coming next week. In the meantime, let&#39;s do something much lighter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BTW, a small update.&lt;/strong&gt; &lt;em&gt;I said that FrontKon would be my last conference this year... well, apparently I lied. 😂 When&lt;/em&gt; &lt;strong&gt;iJS Munich&lt;/strong&gt; &lt;em&gt;reaches out, you simply don&#39;t say no. Especially after looking at the speaker lineup. It&#39;s basically a conference full of geniuses... plus me. 😅 So I&#39;ll be speaking there at the end of October about&lt;/em&gt; &lt;strong&gt;WebAssembly and WebGPU in React&lt;/strong&gt;, &lt;em&gt;and I&#39;m already ridiculously excited.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you happen to have a spare bag of money lying around xDDD (or, much more realistically, your company still has some training budget left), come and say hi! I&#39;d love to meet some of you in person. 😊&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Anyway... let&#39;s get back to today&#39;s topic.&lt;/p&gt;

&lt;p&gt;As many of you probably know, I have a soft spot for LinkedIn gurus and people who explain everything with absolute confidence. You know the type: their solution is always the best one, everyone else is wrong, and there are absolutely no trade-offs. 😄&lt;/p&gt;

&lt;p&gt;Sometimes I get the feeling that at least some of that confidence comes directly from a single 15-minute YouTube tutorial.&lt;/p&gt;

&lt;p&gt;But let&#39;s be fair for a second.&amp;nbsp;Who among us hasn&#39;t watched a short video, finished it thinking &lt;em&gt;&quot;Yep, I totally understand this now!&quot;&lt;/em&gt;, and then discovered during the actual implementation that reality was... slightly more complicated? 😂&lt;/p&gt;

&lt;p&gt;Since I spend most of my time working with JavaScript and AI agents these days, most examples will probably come from those areas. Feel free to add your own in the comments!&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;1-react-angular-vue-cross-out-the-unnecessary-one-is-the-best-framework&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#1-react-angular-vue-cross-out-the-unnecessary-one-is-the-best-framework&quot;&gt;
  &lt;/a&gt;
  1. React / Angular / Vue (cross out the unnecessary one) is the best framework
&lt;/h2&gt;

&lt;p&gt;This is probably the most common opinion after watching an internet guru, especially if you haven&#39;t formed your own yet.&lt;/p&gt;

&lt;p&gt;Angular is the best because it has everything.&amp;nbsp;React is the best because everybody uses it.&amp;nbsp;Vue is the best because... well... Vue people will tell you why. 😄&lt;/p&gt;

&lt;p&gt;Then you spend a few years building real projects and suddenly discover that all of these have strengths, weaknesses and different use cases. In the end, the &quot;best framework&quot; is usually just the one that solves &lt;em&gt;your&lt;/em&gt; problem best.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;2-llms-are-just-autocomplete&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#2-llms-are-just-autocomplete&quot;&gt;
  &lt;/a&gt;
  2. LLMs are just autocomplete
&lt;/h2&gt;

&lt;p&gt;Or, if you prefer another popular version:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&quot;They&#39;re just stochastic parrots.&quot;&lt;/p&gt;

&lt;p&gt;&quot;They&#39;re not creative.&quot;&lt;/p&gt;

&lt;p&gt;&quot;They don&#39;t really understand anything.&quot;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well... if it&#39;s all that simple, why do entire teams of researchers and engineers spend years working on them? Why are companies burning through billions of dollars worth of GPUs? 😄&lt;/p&gt;

&lt;p&gt;Another statement that always makes me smile is that LLMs &quot;aren&#39;t creative.&quot;&amp;nbsp;Sure, they probably won&#39;t invent something completely detached from everything humanity has ever known.&lt;/p&gt;

&lt;p&gt;But then again... neither do most humans.&lt;/p&gt;

&lt;p&gt;Most people don&#39;t wake up one morning and invent quantum mechanics or write &lt;em&gt;The Lord of the Rings&lt;/em&gt;. Creativity is usually about combining existing ideas in interesting ways, and LLMs are actually surprisingly good at that.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;3-cqrs-or-redux-on-the-frontend-is-easy&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#3-cqrs-or-redux-on-the-frontend-is-easy&quot;&gt;
  &lt;/a&gt;
  3. CQRS (or Redux on the frontend) is easy
&lt;/h2&gt;

&lt;p&gt;Sure.&amp;nbsp;Then you open the codebase and suddenly you&#39;re staring into the architectural equivalent of a horror movie.&lt;/p&gt;

&lt;p&gt;I&#39;ve honestly seen everything.&amp;nbsp;Business logic split between Redux stores and components.&amp;nbsp;Half the state managed globally, the other half locally.&amp;nbsp;Actions that somehow contain business logic.&amp;nbsp;Reducers that apparently decided to become services.&lt;/p&gt;

&lt;p&gt;Years ago, when I was interviewing developers more often, I used to ask a very simple question:&amp;nbsp;&lt;strong&gt;&quot;Why do we actually need CQRS (or Redux)?&quot;&amp;nbsp;&lt;/strong&gt;(By the way... not everyone even knew the difference between the two.)&amp;nbsp;Then I&#39;d ask another one:&amp;nbsp;&lt;strong&gt;&quot;Why can&#39;t we solve this in a simpler way?&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I swear, a surprising number of people answered something like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&quot;I don&#39;t know... that&#39;s just how people do it.&quot;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;4-ai-agents-are-just-a-while-loop&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#4-ai-agents-are-just-a-while-loop&quot;&gt;
  &lt;/a&gt;
  4. AI agents are just a while loop
&lt;/h2&gt;

&lt;p&gt;To be fair!&amp;nbsp;A good friend of mine, and my former tech lead, actually gives an excellent conference talk with exactly this title. It&#39;s intentionally provocative.&lt;/p&gt;

&lt;p&gt;And let&#39;s face the truth... there is quite a bit of truth to it.&amp;nbsp;Many AI agents really are &quot;just a while loop.&quot;&lt;/p&gt;

&lt;p&gt;The funny part starts about three weeks later.&amp;nbsp;Suddenly your tiny little while loop has three MCP servers, an orchestration framework, retries, memory, tool calling, etc, etc...&lt;/p&gt;

&lt;p&gt;Still one of the most fun things I&#39;ve worked with recently, though.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;5-webassembly-is-always-faster&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#5-webassembly-is-always-faster&quot;&gt;
  &lt;/a&gt;
  5. WebAssembly is always faster
&lt;/h2&gt;

&lt;p&gt;Whenever someone says this, I always ask the same two questions:&amp;nbsp;&lt;strong&gt;Faster than what&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;And faster at doing what?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Don&#39;t get me wrong, WebAssembly is amazing. There are plenty of scenarios where it absolutely destroys JavaScript performance, especially when you&#39;re dealing with computationally intensive algorithms, simulations or similar workloads.&lt;/p&gt;

&lt;p&gt;But if your application spends most of its life waiting for HTTP requests to finish...&amp;nbsp;WebAssembly probably won&#39;t make the internet faster.&lt;/p&gt;

&lt;p&gt;And it probably won&#39;t suddenly turn your dashboard into NASA software either. 😄&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;6-unit-tests-are-our-golden-ticket&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#6-unit-tests-are-our-golden-ticket&quot;&gt;
  &lt;/a&gt;
  6. Unit tests are our golden ticket
&lt;/h2&gt;

&lt;p&gt;Especially the ones generated by the same LLM that just generated the production code. 😂&amp;nbsp;100% confidence!&lt;/p&gt;

&lt;p&gt;Or... maybe not.&lt;/p&gt;

&lt;p&gt;This can be particularly misleading on the frontend, where unit tests often verify exactly the code that was the easiest to write in the first place.&lt;/p&gt;

&lt;p&gt;Congratulations, you&#39;ve successfully achieved 100% test coverage, and 0% confidence!&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;7-lets-just-add-rag&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#7-lets-just-add-rag&quot;&gt;
  &lt;/a&gt;
  7. Let&#39;s just add RAG
&lt;/h2&gt;

&lt;p&gt;Yeees...&lt;/p&gt;

&lt;p&gt;As if finding, cleaning, maintaining and selecting the right documents was somehow the easy part. 😄&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;8-microservices-microfrontends-are-the-only-good-architecture&quot; href=&quot;https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio#8-microservices-microfrontends-are-the-only-good-architecture&quot;&gt;
  &lt;/a&gt;
  8. Microservices / Microfrontends are the only good architecture
&lt;/h2&gt;

&lt;p&gt;Absolutely!&amp;nbsp;Especially if your application consists of six screens and one backend service. 😄&amp;nbsp;Or if you&#39;ve got a perfectly healthy monolith that everyone on the team understands.&lt;/p&gt;

&lt;p&gt;Sometimes a distributed architecture is exactly what you need.&amp;nbsp;Sometimes it&#39;s just distributed complexity.&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;I could probably keep going for another twenty examples, but I think that&#39;s enough for today. 😂&lt;/p&gt;

&lt;p&gt;What about you?&amp;nbsp;Have you ever met one of those &lt;strong&gt;&quot;one-YouTube-video gurus&quot;&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you enjoyed this article, consider following me also on&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href=&quot;https://www.linkedin.com/in/sylwia-laskowska-5a8467131/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;https://www.linkedin.com/in/sylwia-laskowska-5a8467131/&lt;/a&gt;&lt;/p&gt;


            </description><link>https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio</link><guid isPermaLink="false">https://dev.to/sylwia-lask/8-things-developers-confidently-explain-after-watching-one-youtube-video-3jio</guid><pubDate>Tue, 14 Jul 2026 17:57:43 GMT</pubDate><author>Sylwia Laskowska</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4nsrigsudhso114zqomr.png" type="image/jpeg"></enclosure><category>jokes</category><category>webdev</category><category>ai</category></item><item><title>Top 7 Featured DEV Posts of the Week</title><description>&lt;p&gt;&lt;em&gt;Welcome to this week&#39;s Top 7, where the DEV editorial team handpicks their favorite posts from the previous week (Saturday-Friday).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Congrats to all the authors that made it onto the list 👏&lt;/p&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;4094691&quot; data-content-user-id=&quot;3691193&quot;&gt;
  &lt;a href=&quot;https://dev.to/gamya_m/i-deleted-200-lines-of-code-i-didnt-write-and-learned-more-than-when-i-wrote-it-18dd&quot; aria-labelledby=&quot;article-link-4094691&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;I Deleted 200 Lines of Code I Didn&#39;t Write and Learned More Than When I Wrote It...&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
      &lt;a href=&quot;https://dev.to/gamya_m/i-deleted-200-lines-of-code-i-didnt-write-and-learned-more-than-when-i-wrote-it-18dd&quot; class=&quot;crayons-article__context-note crayons-article__context-note__feed&quot;&gt;&lt;p&gt;The illusion of speed in AI-assisted coding&lt;/p&gt;

&lt;/a&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;

          &lt;a href=&quot;https://dev.to/gamya_m&quot; class=&quot;crayons-avatar  crayons-avatar--l  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3691193%2Fa216f89b-ba3c-4643-b67c-ec28cc54d293.jpg&quot; alt=&quot;gamya_m profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/gamya_m&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              Gamya 
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-4094691&quot; aria-controls=&quot;story-author-preview-content-4094691&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;Gamya  profile details&quot;&gt;
                Gamya 
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-4094691&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/gamya_m&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3691193%2Fa216f89b-ba3c-4643-b67c-ec28cc54d293.jpg&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;Gamya &lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:3691193,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Gamya &amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;3691193&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/gamya_m/i-deleted-200-lines-of-code-i-didnt-write-and-learned-more-than-when-i-wrote-it-18dd&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-09T08:44:00Z&quot;&gt;Jul 9&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1783586640&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/gamya_m/i-deleted-200-lines-of-code-i-didnt-write-and-learned-more-than-when-i-wrote-it-18dd&quot; data-preload-image=&quot;https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fom3porb8elq4fwy0bwi1.png&quot; id=&quot;article-link-4094691&quot;&gt;
          I Deleted 200 Lines of Code I Didn&#39;t Write and Learned More Than When I Wrote It...
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(6, 181, 0, 0.10);
        --tag-prefix: #06B500;
        --tag-bg-hover: rgba(6, 181, 0, 0.10);
        --tag-prefix-hover: #06B500;
      &quot; href=&quot;https://dev.to/t/devops&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;devops&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(137, 6, 6, 0.10);
        --tag-prefix: #890606;
        --tag-bg-hover: rgba(137, 6, 6, 0.10);
        --tag-prefix-hover: #890606;
      &quot; href=&quot;https://dev.to/t/programming&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(23, 253, 26, 0.10);
        --tag-prefix: #17fd1a;
        --tag-bg-hover: rgba(23, 253, 26, 0.10);
        --tag-prefix-hover: #17fd1a;
      &quot; href=&quot;https://dev.to/t/ai&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(42, 37, 102, 0.10);
        --tag-prefix: #2A2566;
        --tag-bg-hover: rgba(42, 37, 102, 0.10);
        --tag-prefix-hover: #2A2566;
      &quot; href=&quot;https://dev.to/t/career&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;career&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/gamya_m/i-deleted-200-lines-of-code-i-didnt-write-and-learned-more-than-when-i-wrote-it-18dd&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;4094691&quot; aria-label=&quot;Add a comment to post - I Deleted 200 Lines of Code I Didn&#39;t Write and Learned More Than When I Wrote It...&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;60&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/gamya_m/i-deleted-200-lines-of-code-i-didnt-write-and-learned-more-than-when-i-wrote-it-18dd#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - I Deleted 200 Lines of Code I Didn&#39;t Write and Learned More Than When I Wrote It...&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;ac8kkvue38qch8dkb7ymjhbko8joa1fr&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;ac8kkvue38qch8dkb7ymjhbko8joa1fr&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              53&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            5 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-4094691&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;4094691&quot; data-article-author-id=&quot;3691193&quot; aria-label=&quot;Save post I Deleted 200 Lines of Code I Didn&#39;t Write and Learned More Than When I Wrote It... to reading list&quot; title=&quot;Save post I Deleted 200 Lines of Code I Didn&#39;t Write and Learned More Than When I Wrote It... to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/gamya_m&quot;&gt;@gamya_m&lt;/a&gt; spent an afternoon deleting 200 lines of AI-generated Swift code they had accepted without fully understanding, and came out knowing her codebase better than the month she spent generating it. The post shares why every line accepted without understanding is a small loan, and how deletion can be an effective way to pay down that debt.&lt;/p&gt;


&lt;hr&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;4062782&quot; data-content-user-id=&quot;38834&quot;&gt;
  &lt;a href=&quot;https://dev.to/mattstratton/i-contain-multitudes-and-also-three-git-repos-33pf&quot; aria-labelledby=&quot;article-link-4062782&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;I Contain Multitudes (and Also Three Git Repos)&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
      &lt;a href=&quot;https://dev.to/mattstratton/i-contain-multitudes-and-also-three-git-repos-33pf&quot; class=&quot;crayons-article__context-note crayons-article__context-note__feed&quot;&gt;&lt;p&gt;2,630 posts from 2001 with full git history&lt;/p&gt;

&lt;/a&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;

          &lt;a href=&quot;https://dev.to/mattstratton&quot; class=&quot;crayons-avatar  crayons-avatar--l  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F38834%2F68a98062-d7f1-4797-8a79-a34d8d217a27.jpg&quot; alt=&quot;mattstratton profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/mattstratton&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              Matty Stratton
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-4062782&quot; aria-controls=&quot;story-author-preview-content-4062782&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;Matty Stratton profile details&quot;&gt;
                Matty Stratton
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-4062782&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/mattstratton&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F38834%2F68a98062-d7f1-4797-8a79-a34d8d217a27.jpg&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;Matty Stratton&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:38834,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Matty Stratton&amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;38834&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/mattstratton/i-contain-multitudes-and-also-three-git-repos-33pf&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-06T01:17:28Z&quot;&gt;Jul 6&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1783300648&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/mattstratton/i-contain-multitudes-and-also-three-git-repos-33pf&quot; data-preload-image=&quot;https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmattstratton%2Fmattstratton-web%2Fmaster%2Fmattstratton-dev-to%2Fposts%2Fassets%2Fmattstratton-com-stack-cover.png&quot; id=&quot;article-link-4062782&quot;&gt;
          I Contain Multitudes (and Also Three Git Repos)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag crayons-tag--filled  &quot; style=&quot;
        --tag-bg: rgba(9, 27, 71, 0.10);
        --tag-prefix: #091b47;
        --tag-bg-hover: rgba(9, 27, 71, 0.10);
        --tag-prefix-hover: #091b47;
      &quot; href=&quot;https://dev.to/t/showdev&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;showdev&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(251, 64, 11, 0.10);
        --tag-prefix: #fb400b;
        --tag-bg-hover: rgba(251, 64, 11, 0.10);
        --tag-prefix-hover: #fb400b;
      &quot; href=&quot;https://dev.to/t/astro&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;astro&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(86, 39, 101, 0.10);
        --tag-prefix: #562765;
        --tag-bg-hover: rgba(86, 39, 101, 0.10);
        --tag-prefix-hover: #562765;
      &quot; href=&quot;https://dev.to/t/webdev&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;webdev&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/mattstratton/i-contain-multitudes-and-also-three-git-repos-33pf&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;4062782&quot; aria-label=&quot;Add a comment to post - I Contain Multitudes (and Also Three Git Repos)&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;37&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/mattstratton/i-contain-multitudes-and-also-three-git-repos-33pf#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - I Contain Multitudes (and Also Three Git Repos)&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;a1mgmnuvecanhx528mbbuddk144lhgqb&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;a1mgmnuvecanhx528mbbuddk144lhgqb&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              10&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            14 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-4062782&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;4062782&quot; data-article-author-id=&quot;38834&quot; aria-label=&quot;Save post I Contain Multitudes (and Also Three Git Repos) to reading list&quot; title=&quot;Save post I Contain Multitudes (and Also Three Git Repos) to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/mattstratton&quot;&gt;@mattstratton&lt;/a&gt; takes us on a tour of the stack behind their personal site: a monorepo holding two Astro sites, 2,630 blog posts dating back to 2001, a self-hosted speaking archive, and the dev.to sync tool that crossposts pieces like this one. Along the way they flag the weird bugs that bit them, including a YAML timestamp edge case that quietly broke dev.to&#39;s Ruby backend.&lt;/p&gt;


&lt;hr&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;4108939&quot; data-content-user-id=&quot;77243&quot;&gt;
  &lt;a href=&quot;https://dev.to/cseeman/return-on-attention-why-ai-code-reviews-are-wearing-us-out-2hh0&quot; aria-labelledby=&quot;article-link-4108939&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;Return on Attention: Why AI Code Reviews Are Wearing Us Out&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
      &lt;a href=&quot;https://dev.to/cseeman/return-on-attention-why-ai-code-reviews-are-wearing-us-out-2hh0&quot; class=&quot;crayons-article__context-note crayons-article__context-note__feed&quot;&gt;&lt;p&gt;Bots arguing with bots in review threads&lt;/p&gt;

&lt;/a&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;

          &lt;a href=&quot;https://dev.to/cseeman&quot; class=&quot;crayons-avatar  crayons-avatar--l  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F77243%2F5dbbe7a7-3411-4644-b415-cc14b80d7fbc.jpg&quot; alt=&quot;cseeman profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/cseeman&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              christine
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-4108939&quot; aria-controls=&quot;story-author-preview-content-4108939&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;christine profile details&quot;&gt;
                christine
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-4108939&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/cseeman&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F77243%2F5dbbe7a7-3411-4644-b415-cc14b80d7fbc.jpg&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;christine&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:77243,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;christine&amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;77243&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/cseeman/return-on-attention-why-ai-code-reviews-are-wearing-us-out-2hh0&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-09T22:12:22Z&quot;&gt;Jul 9&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1783635142&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/cseeman/return-on-attention-why-ai-code-reviews-are-wearing-us-out-2hh0&quot; data-preload-image=&quot;https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff5mu1xfg37llhfuxz903.png&quot; id=&quot;article-link-4108939&quot;&gt;
          Return on Attention: Why AI Code Reviews Are Wearing Us Out
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(23, 253, 26, 0.10);
        --tag-prefix: #17fd1a;
        --tag-bg-hover: rgba(23, 253, 26, 0.10);
        --tag-prefix-hover: #17fd1a;
      &quot; href=&quot;https://dev.to/t/ai&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(59, 73, 223, 0.10);
        --tag-prefix: #3b49df;
        --tag-bg-hover: rgba(59, 73, 223, 0.10);
        --tag-prefix-hover: #3b49df;
      &quot; href=&quot;https://dev.to/t/codereview&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;codereview&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(42, 7, 152, 0.10);
        --tag-prefix: #2A0798;
        --tag-bg-hover: rgba(42, 7, 152, 0.10);
        --tag-prefix-hover: #2A0798;
      &quot; href=&quot;https://dev.to/t/productivity&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(59, 73, 223, 0.10);
        --tag-prefix: #3b49df;
        --tag-bg-hover: rgba(59, 73, 223, 0.10);
        --tag-prefix-hover: #3b49df;
      &quot; href=&quot;https://dev.to/t/softwareengineering&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;softwareengineering&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/cseeman/return-on-attention-why-ai-code-reviews-are-wearing-us-out-2hh0&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;4108939&quot; aria-label=&quot;Add a comment to post - Return on Attention: Why AI Code Reviews Are Wearing Us Out&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;45&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/cseeman/return-on-attention-why-ai-code-reviews-are-wearing-us-out-2hh0#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - Return on Attention: Why AI Code Reviews Are Wearing Us Out&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;aqb893onyeaze0aaanzs13fbvdon4wq7&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;aqb893onyeaze0aaanzs13fbvdon4wq7&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              37&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            5 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-4108939&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;4108939&quot; data-article-author-id=&quot;77243&quot; aria-label=&quot;Save post Return on Attention: Why AI Code Reviews Are Wearing Us Out to reading list&quot; title=&quot;Save post Return on Attention: Why AI Code Reviews Are Wearing Us Out to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/cseeman&quot;&gt;@cseeman&lt;/a&gt; describes what happened when her growing team filled the code review gap with LLMs on both sides of the thread: bots reviewing, bots replying, and reviewers left more drained than helped. She introduces Return-on-Attention as the standard worth guarding, where every word you ask a teammate to read has to be worth what it costs them.&lt;/p&gt;


&lt;hr&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;4074064&quot; data-content-user-id=&quot;1002302&quot;&gt;
  &lt;a href=&quot;https://dev.to/lovestaco/at-last-i-clasp-escaping-the-gs-apps-script-copy-paste-gauntlet-23jd&quot; aria-labelledby=&quot;article-link-4074064&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;At Last, I clasp: Escaping the G&#39;s Apps Script Copy-Paste Gauntlet&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
      &lt;a href=&quot;https://dev.to/lovestaco/at-last-i-clasp-escaping-the-gs-apps-script-copy-paste-gauntlet-23jd&quot; class=&quot;crayons-article__context-note crayons-article__context-note__feed&quot;&gt;&lt;p&gt;Permission fixes and secure script workflows&lt;/p&gt;

&lt;/a&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;

          &lt;a href=&quot;https://dev.to/lovestaco&quot; class=&quot;crayons-avatar  crayons-avatar--l  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1002302%2F9dbe5057-f6da-4c08-9b5d-37fe9d281476.png&quot; alt=&quot;lovestaco profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/lovestaco&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              Athreya aka Maneshwar
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-4074064&quot; aria-controls=&quot;story-author-preview-content-4074064&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;Athreya aka Maneshwar profile details&quot;&gt;
                Athreya aka Maneshwar
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-4074064&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/lovestaco&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1002302%2F9dbe5057-f6da-4c08-9b5d-37fe9d281476.png&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;Athreya aka Maneshwar&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:1002302,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Athreya aka Maneshwar&amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;1002302&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/lovestaco/at-last-i-clasp-escaping-the-gs-apps-script-copy-paste-gauntlet-23jd&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-05T17:15:00Z&quot;&gt;Jul 5&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1783271700&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/lovestaco/at-last-i-clasp-escaping-the-gs-apps-script-copy-paste-gauntlet-23jd&quot; data-preload-image=&quot;https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl07o64eh9in30mnzgy5s.gif&quot; id=&quot;article-link-4074064&quot;&gt;
          At Last, I clasp: Escaping the G&#39;s Apps Script Copy-Paste Gauntlet
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(86, 39, 101, 0.10);
        --tag-prefix: #562765;
        --tag-bg-hover: rgba(86, 39, 101, 0.10);
        --tag-prefix-hover: #562765;
      &quot; href=&quot;https://dev.to/t/webdev&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(137, 6, 6, 0.10);
        --tag-prefix: #890606;
        --tag-bg-hover: rgba(137, 6, 6, 0.10);
        --tag-prefix-hover: #890606;
      &quot; href=&quot;https://dev.to/t/programming&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(42, 7, 152, 0.10);
        --tag-prefix: #2A0798;
        --tag-bg-hover: rgba(42, 7, 152, 0.10);
        --tag-prefix-hover: #2A0798;
      &quot; href=&quot;https://dev.to/t/productivity&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(247, 223, 30, 0.10);
        --tag-prefix: #f7df1e;
        --tag-bg-hover: rgba(247, 223, 30, 0.10);
        --tag-prefix-hover: #f7df1e;
      &quot; href=&quot;https://dev.to/t/javascript&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;javascript&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/lovestaco/at-last-i-clasp-escaping-the-gs-apps-script-copy-paste-gauntlet-23jd&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;4074064&quot; aria-label=&quot;Add a comment to post - At Last, I clasp: Escaping the G&#39;s Apps Script Copy-Paste Gauntlet&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;48&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/lovestaco/at-last-i-clasp-escaping-the-gs-apps-script-copy-paste-gauntlet-23jd#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - At Last, I clasp: Escaping the G&#39;s Apps Script Copy-Paste Gauntlet&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;ao5dot92e7vd9ni6c3nmon2nsatou58o&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;ao5dot92e7vd9ni6c3nmon2nsatou58o&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              15&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            5 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-4074064&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;4074064&quot; data-article-author-id=&quot;1002302&quot; aria-label=&quot;Save post At Last, I clasp: Escaping the G&#39;s Apps Script Copy-Paste Gauntlet to reading list&quot; title=&quot;Save post At Last, I clasp: Escaping the G&#39;s Apps Script Copy-Paste Gauntlet to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/lovestaco&quot;&gt;@lovestaco&lt;/a&gt; recounts hours of debugging mysterious 401s only to discover that Google Apps Script&#39;s &quot;Anyone&quot; access setting does not actually mean anyone. The fix, along with the clasp CLI, turned a tedious copy-paste deployment ritual into a single make command.&lt;/p&gt;


&lt;hr&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;4107458&quot; data-content-user-id=&quot;3826925&quot;&gt;
  &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5/the-project-file-is-the-interface-letting-ai-agents-drive-a-video-editor-58hd&quot; aria-labelledby=&quot;article-link-4107458&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;The project file is the interface: letting AI agents drive a video editor&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
      &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5/the-project-file-is-the-interface-letting-ai-agents-drive-a-video-editor-58hd&quot; class=&quot;crayons-article__context-note crayons-article__context-note__feed&quot;&gt;&lt;p&gt;Clever CSS trick for frame-perfect exports&lt;/p&gt;

&lt;/a&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;

          &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5&quot; class=&quot;crayons-avatar  crayons-avatar--l  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3826925%2Ffbae4883-d4ec-498b-8aeb-697540be41c1.jpg&quot; alt=&quot;ronak_parmar_033c50d168b5 profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              Ronak Parmar
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-4107458&quot; aria-controls=&quot;story-author-preview-content-4107458&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;Ronak Parmar profile details&quot;&gt;
                Ronak Parmar
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-4107458&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3826925%2Ffbae4883-d4ec-498b-8aeb-697540be41c1.jpg&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;Ronak Parmar&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:3826925,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ronak Parmar&amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;3826925&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5/the-project-file-is-the-interface-letting-ai-agents-drive-a-video-editor-58hd&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-09T15:54:17Z&quot;&gt;Jul 9&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1783612457&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5/the-project-file-is-the-interface-letting-ai-agents-drive-a-video-editor-58hd&quot; data-preload-image=&quot;&quot; id=&quot;article-link-4107458&quot;&gt;
          The project file is the interface: letting AI agents drive a video editor
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag crayons-tag--filled  &quot; style=&quot;
        --tag-bg: rgba(9, 27, 71, 0.10);
        --tag-prefix: #091b47;
        --tag-bg-hover: rgba(9, 27, 71, 0.10);
        --tag-prefix-hover: #091b47;
      &quot; href=&quot;https://dev.to/t/showdev&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;showdev&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(247, 223, 30, 0.10);
        --tag-prefix: #f7df1e;
        --tag-bg-hover: rgba(247, 223, 30, 0.10);
        --tag-prefix-hover: #f7df1e;
      &quot; href=&quot;https://dev.to/t/javascript&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;javascript&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(61, 136, 54, 0.10);
        --tag-prefix: #3d8836;
        --tag-bg-hover: rgba(61, 136, 54, 0.10);
        --tag-prefix-hover: #3d8836;
      &quot; href=&quot;https://dev.to/t/node&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;node&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(23, 253, 26, 0.10);
        --tag-prefix: #17fd1a;
        --tag-bg-hover: rgba(23, 253, 26, 0.10);
        --tag-prefix-hover: #17fd1a;
      &quot; href=&quot;https://dev.to/t/ai&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;ai&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5/the-project-file-is-the-interface-letting-ai-agents-drive-a-video-editor-58hd&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;4107458&quot; aria-label=&quot;Add a comment to post - The project file is the interface: letting AI agents drive a video editor&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;19&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/ronak_parmar_033c50d168b5/the-project-file-is-the-interface-letting-ai-agents-drive-a-video-editor-58hd#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - The project file is the interface: letting AI agents drive a video editor&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;a40z2tslhh6520abi8mlqfr2939aksw&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;a40z2tslhh6520abi8mlqfr2939aksw&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              11&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            4 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-4107458&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;4107458&quot; data-article-author-id=&quot;3826925&quot; aria-label=&quot;Save post The project file is the interface: letting AI agents drive a video editor to reading list&quot; title=&quot;Save post The project file is the interface: letting AI agents drive a video editor to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/ronak_parmar_033c50d168b5&quot;&gt;@ronak_parmar_033c50d168b5&lt;/a&gt; open sourced FableCut, a browser-based video editor built around one design decision: the entire timeline lives in a single JSON file, so anything that can write JSON can edit video. He walks through how a lone revision counter handles concurrency between humans and AI agents, plus a clever negative animation-delay trick for frame-accurate exports.&lt;/p&gt;


&lt;hr&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;4100283&quot; data-content-user-id=&quot;3860723&quot;&gt;
  &lt;a href=&quot;https://dev.to/klaudiagrz/should-i-quit-it-or-just-live-through-the-burnout-1gng&quot; aria-labelledby=&quot;article-link-4100283&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;Should I quit IT or just live through the burnout?&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
      &lt;a href=&quot;https://dev.to/klaudiagrz/should-i-quit-it-or-just-live-through-the-burnout-1gng&quot; class=&quot;crayons-article__context-note crayons-article__context-note__feed&quot;&gt;&lt;p&gt;Low-effort AI content as a burnout trigger&lt;/p&gt;

&lt;/a&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;

          &lt;a href=&quot;https://dev.to/klaudiagrz&quot; class=&quot;crayons-avatar  crayons-avatar--l  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3860723%2F17664281-c5ce-4e9b-9f01-8999849fc88d.jpg&quot; alt=&quot;klaudiagrz profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/klaudiagrz&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              Klaudia Grzondziel
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-4100283&quot; aria-controls=&quot;story-author-preview-content-4100283&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;Klaudia Grzondziel profile details&quot;&gt;
                Klaudia Grzondziel
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-4100283&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/klaudiagrz&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3860723%2F17664281-c5ce-4e9b-9f01-8999849fc88d.jpg&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;Klaudia Grzondziel&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:3860723,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Klaudia Grzondziel&amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;3860723&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/klaudiagrz/should-i-quit-it-or-just-live-through-the-burnout-1gng&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-09T14:44:40Z&quot;&gt;Jul 9&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1783608280&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/klaudiagrz/should-i-quit-it-or-just-live-through-the-burnout-1gng&quot; data-preload-image=&quot;https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbghpotfwvru3j6zi2a4w.png&quot; id=&quot;article-link-4100283&quot;&gt;
          Should I quit IT or just live through the burnout?
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag crayons-tag--filled  &quot; style=&quot;
        --tag-bg: rgba(113, 234, 139, 0.10);
        --tag-prefix: #71EA8B;
        --tag-bg-hover: rgba(113, 234, 139, 0.10);
        --tag-prefix-hover: #71EA8B;
      &quot; href=&quot;https://dev.to/t/discuss&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;discuss&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(128, 179, 255, 0.10);
        --tag-prefix: #80b3ff;
        --tag-bg-hover: rgba(128, 179, 255, 0.10);
        --tag-prefix-hover: #80b3ff;
      &quot; href=&quot;https://dev.to/t/mentalhealth&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;mentalhealth&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(42, 37, 102, 0.10);
        --tag-prefix: #2A2566;
        --tag-bg-hover: rgba(42, 37, 102, 0.10);
        --tag-prefix-hover: #2A2566;
      &quot; href=&quot;https://dev.to/t/career&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;career&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(42, 7, 152, 0.10);
        --tag-prefix: #2A0798;
        --tag-bg-hover: rgba(42, 7, 152, 0.10);
        --tag-prefix-hover: #2A0798;
      &quot; href=&quot;https://dev.to/t/productivity&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/klaudiagrz/should-i-quit-it-or-just-live-through-the-burnout-1gng&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;4100283&quot; aria-label=&quot;Add a comment to post - Should I quit IT or just live through the burnout?&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;178&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/klaudiagrz/should-i-quit-it-or-just-live-through-the-burnout-1gng#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - Should I quit IT or just live through the burnout?&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;abjt1ioybaw6mhb69kegv7um1v7entqk&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;abjt1ioybaw6mhb69kegv7um1v7entqk&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              134&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            3 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-4100283&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;4100283&quot; data-article-author-id=&quot;3860723&quot; aria-label=&quot;Save post Should I quit IT or just live through the burnout? to reading list&quot; title=&quot;Save post Should I quit IT or just live through the burnout? to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/klaudiagrz&quot;&gt;@klaudiagrz&lt;/a&gt; returned from a trip through Iceland with a question she could not shake: has technical writing lost its joy, or has it just been replaced by low-effort generated content? The post opens an honest discussion about a new kind of burnout in the age of AI and whether to push through it or walk away.&lt;/p&gt;


&lt;hr&gt;


&lt;div class=&quot;ltag__link--embedded&quot;&gt;
  &lt;div class=&quot;crayons-story &quot; data-feed-content-id=&quot;3833912&quot; data-content-user-id=&quot;2619933&quot;&gt;
  &lt;a href=&quot;https://dev.to/webdeveloperhyper/cool-effects-tts-and-fun-animations-ai-avatar-v15-vs-code-and-chrome-extension-3oec&quot; aria-labelledby=&quot;article-link-3833912&quot; class=&quot;crayons-story__hidden-navigation-link&quot;&gt;✨Cool Effects, TTS, and Fun Animations (AI Avatar v15: VS Code and Chrome Extension)&lt;/a&gt;


  &lt;div class=&quot;crayons-story__body crayons-story__body-full_post&quot;&gt;
      &lt;a href=&quot;https://dev.to/webdeveloperhyper/cool-effects-tts-and-fun-animations-ai-avatar-v15-vs-code-and-chrome-extension-3oec&quot; class=&quot;crayons-article__context-note crayons-article__context-note__feed&quot;&gt;&lt;p&gt;Situational chat and CSS keyframe tips&lt;/p&gt;

&lt;/a&gt;
    &lt;div class=&quot;crayons-story__top&quot;&gt;
      &lt;div class=&quot;crayons-story__meta&quot;&gt;
        &lt;div class=&quot;crayons-story__author-pic&quot;&gt;

          &lt;a href=&quot;https://dev.to/webdeveloperhyper&quot; class=&quot;crayons-avatar  crayons-avatar--l  &quot;&gt;
            &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2619933%2F53ce4245-3c76-42d1-a897-337b8c1599ce.png&quot; alt=&quot;webdeveloperhyper profile&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href=&quot;https://dev.to/webdeveloperhyper&quot; class=&quot;crayons-story__secondary fw-medium m:hidden&quot;&gt;
              Web Developer Hyper
            &lt;/a&gt;
            &lt;div class=&quot;profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block&quot;&gt;
              &lt;button id=&quot;story-author-preview-trigger-3833912&quot; aria-controls=&quot;story-author-preview-content-3833912&quot; class=&quot;profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost&quot; aria-label=&quot;Web Developer Hyper profile details&quot;&gt;
                Web Developer Hyper
                
              &lt;/button&gt;
              &lt;div id=&quot;story-author-preview-content-3833912&quot; class=&quot;profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0&quot; style=&quot;border-top-color: var(--card-color);&quot; data-repositioning-dropdown=&quot;true&quot; data-testid=&quot;profile-preview-card&quot;&gt;
                &lt;div class=&quot;gap-4 grid&quot;&gt;
                  &lt;div class=&quot;-mt-4&quot;&gt;
                    &lt;a href=&quot;https://dev.to/webdeveloperhyper&quot; class=&quot;flex&quot;&gt;
                      &lt;span class=&quot;crayons-avatar crayons-avatar--xl mr-2 shrink-0&quot;&gt;
                        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2619933%2F53ce4245-3c76-42d1-a897-337b8c1599ce.png&quot; class=&quot;crayons-avatar__image&quot; alt=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                      &lt;/span&gt;
                      &lt;span class=&quot;crayons-link crayons-subtitle-2 mt-5&quot;&gt;Web Developer Hyper&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;print-hidden&quot;&gt;
                    &lt;button class=&quot;crayons-btn follow-action-button whitespace-nowrap follow-user w-100&quot; data-info=&quot;{&amp;quot;style&amp;quot;:&amp;quot;full&amp;quot;,&amp;quot;id&amp;quot;:2619933,&amp;quot;className&amp;quot;:&amp;quot;User&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Web Developer Hyper&amp;quot;}&quot;&gt;
                      Follow
                    &lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div class=&quot;author-preview-metadata-container&quot; data-author-id=&quot;2619933&quot;&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href=&quot;https://dev.to/webdeveloperhyper/cool-effects-tts-and-fun-animations-ai-avatar-v15-vs-code-and-chrome-extension-3oec&quot; class=&quot;crayons-story__tertiary fs-xs&quot;&gt;&lt;time datetime=&quot;2026-07-08T12:25:01Z&quot;&gt;Jul 8&lt;/time&gt;&lt;span class=&quot;time-ago-indicator-initial-placeholder&quot; data-seconds=&quot;1783513501&quot;&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class=&quot;crayons-story__indention&quot;&gt;
      &lt;h2 class=&quot;crayons-story__title crayons-story__title-full_post&quot;&gt;
        &lt;a href=&quot;https://dev.to/webdeveloperhyper/cool-effects-tts-and-fun-animations-ai-avatar-v15-vs-code-and-chrome-extension-3oec&quot; data-preload-image=&quot;https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fevm59biu46t176pjujdk.png&quot; id=&quot;article-link-3833912&quot;&gt;
          ✨Cool Effects, TTS, and Fun Animations (AI Avatar v15: VS Code and Chrome Extension)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class=&quot;crayons-story__tags&quot;&gt;
            &lt;a class=&quot;crayons-tag crayons-tag--filled  &quot; style=&quot;
        --tag-bg: rgba(113, 234, 139, 0.10);
        --tag-prefix: #71EA8B;
        --tag-bg-hover: rgba(113, 234, 139, 0.10);
        --tag-prefix-hover: #71EA8B;
      &quot; href=&quot;https://dev.to/t/discuss&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;discuss&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(23, 253, 26, 0.10);
        --tag-prefix: #17fd1a;
        --tag-bg-hover: rgba(23, 253, 26, 0.10);
        --tag-prefix-hover: #17fd1a;
      &quot; href=&quot;https://dev.to/t/ai&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(86, 39, 101, 0.10);
        --tag-prefix: #562765;
        --tag-bg-hover: rgba(86, 39, 101, 0.10);
        --tag-prefix-hover: #562765;
      &quot; href=&quot;https://dev.to/t/webdev&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class=&quot;crayons-tag  crayons-tag--monochrome &quot; style=&quot;
        --tag-bg: rgba(42, 7, 152, 0.10);
        --tag-prefix: #2A0798;
        --tag-bg-hover: rgba(42, 7, 152, 0.10);
        --tag-prefix-hover: #2A0798;
      &quot; href=&quot;https://dev.to/t/productivity&quot;&gt;&lt;span class=&quot;crayons-tag__prefix&quot;&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class=&quot;crayons-story__bottom&quot;&gt;
        &lt;div class=&quot;crayons-story__details&quot;&gt;
          &lt;a href=&quot;https://dev.to/webdeveloperhyper/cool-effects-tts-and-fun-animations-ai-avatar-v15-vs-code-and-chrome-extension-3oec&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left&quot; data-reaction-count=&quot;&quot; data-reactable-id=&quot;3833912&quot; aria-label=&quot;Add a comment to post - ✨Cool Effects, TTS, and Fun Animations (AI Avatar v15: VS Code and Chrome Extension)&quot;&gt;
            &lt;div class=&quot;multiple_reactions_aggregate&quot;&gt;
              &lt;span class=&quot;multiple_reactions_icons_container&quot; dir=&quot;rtl&quot;&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
                  &lt;span class=&quot;crayons_icon_container&quot;&gt;
                    &lt;img src=&quot;https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg&quot; width=&quot;18&quot; height=&quot;18&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class=&quot;aggregate_reactions_counter&quot;&gt;68&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href=&quot;https://dev.to/webdeveloperhyper/cool-effects-tts-and-fun-animations-ai-avatar-v15-vs-code-and-chrome-extension-3oec#comments&quot; class=&quot;crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center&quot; aria-label=&quot;Add a comment to post - ✨Cool Effects, TTS, and Fun Animations (AI Avatar v15: VS Code and Chrome Extension)&quot;&gt;
              &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; aria-labelledby=&quot;a8sgqbeuecor4nvkfee9hfy0uypkanz3&quot; class=&quot;crayons-icon&quot;&gt;&lt;title id=&quot;a8sgqbeuecor4nvkfee9hfy0uypkanz3&quot;&gt;Comments&lt;/title&gt;
&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              38&lt;span class=&quot;hidden s:inline&quot;&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;crayons-story__save&quot;&gt;
          &lt;small class=&quot;crayons-story__tertiary fs-xs mr-2&quot;&gt;
            6 min read
          &lt;/small&gt;
            &lt;button type=&quot;button&quot; id=&quot;article-save-button-3833912&quot; class=&quot;c-btn c-btn--icon-alone bookmark-button&quot; data-reactable-id=&quot;3833912&quot; data-article-author-id=&quot;2619933&quot; aria-label=&quot;Save post ✨Cool Effects, TTS, and Fun Animations (AI Avatar v15: VS Code and Chrome Extension) to reading list&quot; title=&quot;Save post ✨Cool Effects, TTS, and Fun Animations (AI Avatar v15: VS Code and Chrome Extension) to reading list&quot;&gt;
              &lt;span class=&quot;bm-initial crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
              &lt;span class=&quot;bm-success crayons-icon c-btn__icon&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

              &lt;/span&gt;
            &lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/webdeveloperhyper&quot;&gt;@webdeveloperhyper&lt;/a&gt; ships version 15 of AI Avatar, the free VS Code and Chrome extension that animates a 3D avatar to cheer developers on, now with text-to-speech, contextual messages, and a rollercoaster mode. The update also features a collaboration with &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/rutenveil&quot;&gt;@rutenveil&lt;/a&gt;, who breaks down how the choreography-like Idol Stage effect was built in pure CSS.&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&lt;em&gt;And that&#39;s a wrap for this week&#39;s Top 7 roundup! 🎬 We hope you enjoyed this eclectic mix of insights, stories, and tips from our talented authors. Keep coding, keep learning, and stay tuned to DEV for more captivating content and &lt;a href=&quot;https://dev.to/settings/notifications&quot;&gt;make sure you’re opted in to our Weekly Newsletter&lt;/a&gt; 📩 for all the best articles, discussions, and updates.&lt;/em&gt;&lt;/p&gt;


            </description><link>https://dev.to/devteam/top-7-featured-dev-posts-of-the-week-815</link><guid isPermaLink="false">https://dev.to/devteam/top-7-featured-dev-posts-of-the-week-815</guid><pubDate>Tue, 14 Jul 2026 13:00:00 GMT</pubDate><author>Jess Lee</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw6xeiwqgih7kd460kkly.jpg" type="image/jpeg"></enclosure><category>top7</category><category>discuss</category></item><item><title>I am that I am.</title><description>&lt;p&gt;We all hear about &lt;strong&gt;&quot;Not comparing yourself to others&quot;&lt;/strong&gt; and that &lt;strong&gt;&quot;comparing yourself is the thief of joy&quot;.&lt;/strong&gt; To be honest, I agree and it&#39;s strange that I am contradicting myself because I compare myself A LOT.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fznbiecopezuaewvi2pfc.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fznbiecopezuaewvi2pfc.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;531&quot; height=&quot;500&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The more I looked into it, the more I realized that we have a natural tendency to compare ourselves. It&#39;s a human thing to do.&lt;/p&gt;

&lt;p&gt;The issue is that we tend to be very excessive over comparing ourselves to others to the point where it takes a toll on us. &lt;strong&gt;For example, we are demotivated to see someone&#39;s success because we believe we can&#39;t reach the goal they are in.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We all have jealousy. Big or small. Even where I am at right now, I am still jealous that many people I know that got into big tech companies like Microsoft.&lt;/p&gt;

&lt;p&gt;To get more context, I want to share a story with you.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h1&gt;
  &lt;a name=&quot;story-time&quot; href=&quot;https://dev.to/francistrdev/i-am-that-i-am-5j#story-time&quot;&gt;
  &lt;/a&gt;
  Story Time
&lt;/h1&gt;

&lt;p&gt;Back in the day, I remember it was the year of the ACT. &lt;strong&gt;For those who don&#39;t know: It&#39;s a Standardized test that is needed for the college admissions to determine if you are admitted to their program.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I remember I got a national average of 21 as my composite score and I was proud of the score I got since it&#39;s the national average during that time.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F09t99qhqfr1jihint1zn.gif&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F09t99qhqfr1jihint1zn.gif&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;480&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, I remember the day where my friends talked about the ACT. The most common thing I heard was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&quot;Oh I got a 30&quot;&lt;/p&gt;

&lt;p&gt;&quot;I got a 32&quot;&lt;/p&gt;

&lt;p&gt;&quot;Man I got a 35, it was sooo easy&quot;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Hearing that makes me feel not only bummed out, but felt left out.&lt;/strong&gt; I was feeling that I wasn&#39;t smart enough to be in the group.&lt;/p&gt;

&lt;p&gt;What&#39;s worse is that they got accepted into colleges and programs that are well known. Then they start boasting about their accomplishments. I felt like I am the odd-one-out because of my scores and their accomplishments I could not match.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h1&gt;
  &lt;a name=&quot;why-am-i-talking-about-this&quot; href=&quot;https://dev.to/francistrdev/i-am-that-i-am-5j#why-am-i-talking-about-this&quot;&gt;
  &lt;/a&gt;
  Why am I Talking about this?
&lt;/h1&gt;

&lt;p&gt;Looking back and knowing where they are at now, I am proud of who I become today. &lt;strong&gt;It&#39;s not that they have fallen downhill (they are still successful), but the route they have taken that I definitely could not follow.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For example, on GitHub, many people fill up their contribution graphs to the max. &lt;strong&gt;However, if you were to tell them on what they did specifically, 99% of the time it sounds disappointing.&lt;/strong&gt; It could be either they are working everyday on their job (makes sense) or they use a bot to trick the recruiter to think that they are productive.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flw2ssdyqvfbjsdldh93c.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flw2ssdyqvfbjsdldh93c.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;360&quot; height=&quot;202&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For me, I would rather learn the skills more than &quot;presentation&quot;. &lt;strong&gt;If I build up the skills, presentation will show that automatically. It&#39;s a Win-Win in my book.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Knowing myself and what &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/codingwithjiro&quot;&gt;@codingwithjiro&lt;/a&gt; called me out on is that: &lt;strong&gt;I do things the hard way.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F088kw8d6m2gobpxy4mjv.gif&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F088kw8d6m2gobpxy4mjv.gif&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;498&quot; height=&quot;281&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I want to get something, I work hard on it. I learned overtime that I can achieve anything when you put your mind to it. And that I did. Not only that, I am proud of my progress. Not only that, I am proud of the results I have and am grateful for it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Something worth mentioning, out of the blue btw, when I looked back at Season One of &quot;The Flash&quot;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src=&quot;https://www.youtube.com/embed/WJLgneOuVsI&quot; style=&quot;width: 100%; aspect-ratio: 16 / 9;&quot; allowfullscreen=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you go back in time, would you tell yourself to be better in some way?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;We all have dreams of this and yes, I would have wish my progress and result would be better. &lt;strong&gt;That is what I used to think.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After seeing this scene, it reminds me to be proud of who I am today and knowing that others will also share that too. If I go back and change, I would be a completely different person that I am today and knowing I would never be satisfied. &lt;strong&gt;That is what comparing does to you if you continue to think excessively. It makes you think that you could have been a different person, but we fail to see if there are other aspects of us that change for the worse.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Sure, you go back in time where you tell yourself to get into Google and showing how. However, as a result, maybe the caveat is that it resulted you into becoming more egotistic or that you are a bad person.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjljhp3l8dkpxssihnd9z.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjljhp3l8dkpxssihnd9z.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;751&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I were to go back in time to change the things I did, I would never be on dev.to. I would be living in a dystopian timeline that I am not prepare for &lt;strong&gt;(which is the case for Barry in that show when he actually went back in time and prevented the murder of his mom).&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;I would never meet people like &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/itsugo&quot;&gt;@itsugo&lt;/a&gt;, &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/konark_13&quot;&gt;@konark_13&lt;/a&gt; and &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/codingwithjiro&quot;&gt;@codingwithjiro&lt;/a&gt;. I would never meet people like Richard and &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/dannwaneri&quot;&gt;@dannwaneri&lt;/a&gt; who had lift me to become who I am today. I would never know that I changed people&#39;s lives on dev.to such as &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/hemapriya_kanagala&quot;&gt;@hemapriya_kanagala&lt;/a&gt; where she mentioned that I welcomed her back on dev.to, which resulted in her continuing posting on dev.to! All this from a Google Meet Call btw. Finally, I would never have the chance to experience open source with &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/mikeydorje&quot;&gt;@mikeydorje&lt;/a&gt;, &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/ben&quot;&gt;@ben&lt;/a&gt;, and &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/jess&quot;&gt;@jess&lt;/a&gt; on Forem!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What would dev.to be, without me and you in the equation? Would it have been the same today? Something that I had in mind while writing this post...&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe1asnlox4r37wghuhm4h.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe1asnlox4r37wghuhm4h.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;495&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h1&gt;
  &lt;a name=&quot;what-is-the-point&quot; href=&quot;https://dev.to/francistrdev/i-am-that-i-am-5j#what-is-the-point&quot;&gt;
  &lt;/a&gt;
  What is the Point?
&lt;/h1&gt;

&lt;p&gt;Been rambling a bit so let&#39;s cut to the chase. If you were following along in the previous section above, you know that there is a mask to success. Yes, people show success, but once you figure out &lt;em&gt;how&lt;/em&gt; they got there, it shows a different light. Showing that mask of success will get you far until someone questions you in various ways.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here is a VERY good example of this where this guy made a skit about some guy claiming he got a job at Facebook, but nope:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src=&quot;https://www.youtube.com/embed/eItv45Mrqug&quot; style=&quot;width: 100%; aspect-ratio: 16 / 9;&quot; allowfullscreen=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Maybe comparing yourself to others isn&#39;t the problem, it&#39;s the problem where we stop questioning ourselves about &lt;em&gt;how&lt;/em&gt; others get success in the first place.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is something to think about that helped me this year.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;
  &lt;a name=&quot;1-comparing-yourself-is-like-a-recursion-with-no-base-case&quot; href=&quot;https://dev.to/francistrdev/i-am-that-i-am-5j#1-comparing-yourself-is-like-a-recursion-with-no-base-case&quot;&gt;
  &lt;/a&gt;
  1. Comparing yourself is like a Recursion with no base case.
&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fem06rmpv84cbrcnzcpnj.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fem06rmpv84cbrcnzcpnj.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;512&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Just because you believe that this person is a God-Tier programmer, it does not mean that this person is the #1 in the world.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You could argue about that the number one programmer has no one to compare too.&lt;/strong&gt; Keep in mind there are BILLIONS of people in this world and there may be a case where that programmer is comparing themselves to someone that has not be documented on the internet. &lt;strong&gt;We will never know.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Always assume there is a bigger fish to fry. There is no end to becoming better than the other.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;
  &lt;a name=&quot;2-know-more-about-how-they-got-to-their-success-in-the-first-place&quot; href=&quot;https://dev.to/francistrdev/i-am-that-i-am-5j#2-know-more-about-how-they-got-to-their-success-in-the-first-place&quot;&gt;
  &lt;/a&gt;
  2. Know more about how they got to their success in the first place.
&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdtsbb50g848z15123ggi.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdtsbb50g848z15123ggi.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;498&quot; height=&quot;473&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Think of this. Imagine Person A and Person B got a score of 30 on the ACT. However, Person A got their score by hard work, mentorship, etc. Person B achieve that score by bribe and other illegal stuff (this actually happened btw).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who would you chose? I would choose Person A if anything.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmev2t6b6ei3vxlspkz86.gif&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmev2t6b6ei3vxlspkz86.gif&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;281&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I were to chose Person B, sure, I would get success, but once people start digging into it, it&#39;s over. Everything you built, everything you have done, is nothing but a memory...&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;
  &lt;a name=&quot;3-know-you-are-good-enough-and-i-am-serious&quot; href=&quot;https://dev.to/francistrdev/i-am-that-i-am-5j#3-know-you-are-good-enough-and-i-am-serious&quot;&gt;
  &lt;/a&gt;
  3. Know you are good enough, and I am serious.
&lt;/h2&gt;

&lt;p&gt;We all felt for this when we compare ourselves too much to the point where we doubt our skills.&lt;/p&gt;

&lt;p&gt;Know that no matter where you are at right now, you are worth more than you know. Maybe you are not seeing it right away, but the more people you talk too, the more you will see how others value your skills. It takes a while, but eventually, you will find someone who values you.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feg2b7yvny3e6cjyvqcs0.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feg2b7yvny3e6cjyvqcs0.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;396&quot; height=&quot;330&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, me and &lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/codingwithjiro&quot;&gt;@codingwithjiro&lt;/a&gt; talked almost on a daily basis and I notice how we kept on complementing each other about our skills and knowledge in the developer space. Yes, maybe at first glance, we see big numbers and assume they are successful. &lt;/p&gt;

&lt;p&gt;However, overtime, we understand each other that we always have something new to learn and grow. Elmar knows more front end stuff than me and I know more about the Software Development Cycle than him. The point is &lt;strong&gt;Never judge a book by its cover.&lt;/strong&gt; There is always room to grow.&lt;/p&gt;


&lt;div class=&quot;ltag__comment crayons-card my-2 p-0 overflow-hidden&quot;&gt;
    &lt;a href=&quot;https://dev.to/francistrdev/i-am-that-i-am-5j&quot; class=&quot;flex items-center gap-2 p-3 fs-s color-base-60 hover:color-base-90&quot; style=&quot;background: var(--base-10); border-bottom: 1px solid var(--base-20);&quot;&gt;
      &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; role=&quot;img&quot; class=&quot;crayons-icon shrink-0&quot;&gt;&lt;path d=&quot;M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;

      &lt;span&gt;Comment on &lt;strong class=&quot;fw-medium color-base-90&quot;&gt;̴I̷ ̴a̵m̷ ̴t̵h̴a̸t̶ ̴I̴ ̵a̸m̶.̶&lt;/strong&gt;&lt;/span&gt;
    &lt;/a&gt;
  &lt;div class=&quot;p-4&quot;&gt;
    &lt;div class=&quot;flex items-center gap-2 mb-3&quot;&gt;
      &lt;a href=&quot;https://dev.to/webdeveloperhyper&quot; class=&quot;crayons-avatar crayons-avatar--l&quot;&gt;
        &lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2619933%2F53ce4245-3c76-42d1-a897-337b8c1599ce.png&quot; alt=&quot;webdeveloperhyper&quot; class=&quot;crayons-avatar__image&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;802&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
      &lt;/a&gt;
      &lt;div&gt;
        &lt;a href=&quot;https://dev.to/webdeveloperhyper&quot; class=&quot;crayons-link fw-medium&quot;&gt;Web Developer Hyper&lt;/a&gt;
        &lt;span class=&quot;fs-xs color-base-60 ml-1&quot;&gt;Jul 13&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;text-styles&quot;&gt;
      &lt;p&gt;If you&#39;re growing compared to your past self, that&#39;s already a win! 🫡 You can&#39;t change others, but you can always change yourself. Good luck with your Salesforce exam!&lt;/p&gt;


    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The next time you compare yourself, don&#39;t think about the result. Think about the process. That way, you will never be disappointed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope this has helped you. I have been studying the Salesforce Administrator certification for sometime and I am planning on releasing articles on dev.to about that, so expect more content revolving around that for a while. I will be creating a guide on studying for the exam that would be helpful for me and others who are getting into this certification. Just to let you guys know :)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffuzdf8sszvropzb7rwfl.gif&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffuzdf8sszvropzb7rwfl.gif&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;498&quot; height=&quot;234&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;center&gt;&lt;b&gt;Questions/comments? Would love to hear from you!&lt;/b&gt;&lt;/center&gt;


            </description><link>https://dev.to/francistrdev/i-am-that-i-am-5j</link><guid isPermaLink="false">https://dev.to/francistrdev/i-am-that-i-am-5j</guid><pubDate>Mon, 13 Jul 2026 21:22:10 GMT</pubDate><author>FrancisTRᴅᴇᴠ (っ◔◡◔)っ</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fond6z8q133tg4cufihlu.gif" type="image/jpeg"></enclosure><category>discuss</category><category>community</category><category>mentalhealth</category><category>learning</category></item><item><title>I Finally Built the Dev Opportunity Radar Website ❤️</title><description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href=&quot;https://dev.to/challenges/weekend-2026-07-09&quot;&gt;Weekend Challenge: Passion Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;📌 TL;DR&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I found this challenge on the very last day, so I knew I probably wouldn&#39;t finish before the submission deadline. That means I don&#39;t expect this project to be considered, but I still wanted to finish it because this challenge gave me the push I needed to finally build something I&#39;d been planning for weeks.&lt;/p&gt;

&lt;p&gt;The result is the first version of the &lt;strong&gt;Dev Opportunity Radar&lt;/strong&gt; website. I built it with the help of &lt;strong&gt;Google AI Studio&lt;/strong&gt;, and later in this post I&#39;ve shared exactly how I used AI throughout the project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It&#39;s not replacing the weekly DEV editions.&lt;/strong&gt; Those are still the heart of the project and will continue every Friday. This website simply makes everything easier to browse, search, and revisit as the series continues to grow.&lt;/p&gt;

&lt;p&gt;Even if this submission isn&#39;t eligible, I&#39;m genuinely grateful to the DEV Team for creating the challenge. Without it, I probably would have kept saying, &quot;I&#39;ll build the website next week.&quot; Instead, I finally did, and I&#39;m really happy I can now share it with all of you 💙&lt;/p&gt;
&lt;/blockquote&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;table-of-contents&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#table-of-contents&quot;&gt;
  &lt;/a&gt;
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#what-i-built&quot;&gt;What I Built&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#demo&quot;&gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#code&quot;&gt;Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#how-i-built-it&quot;&gt;How I Built It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#ai-usage&quot;&gt;AI Usage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#what-i-learned&quot;&gt;What I Learned&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#id-love-your-feedback&quot;&gt;I&#39;d Love Your Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#thank-you&quot;&gt;Thank You&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;what-i-built&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#what-i-built&quot;&gt;
  &lt;/a&gt;
  What I Built
&lt;/h2&gt;

&lt;p&gt;If you&#39;ve been following &lt;strong&gt;Dev Opportunity Radar&lt;/strong&gt;, you probably know that every Friday I publish a new edition on DEV where I share grants, fellowships, hackathons, startup programs, learning resources, open source initiatives, communities, and other opportunities that I come across while researching. The goal has always been simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Help people discover opportunities they otherwise might have missed.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As the series grew, I started noticing something. After seven editions, there were already more than thirty opportunities and resources spread across multiple articles. Every new edition made the collection more valuable, but it also made it harder for someone to go back and find something they&#39;d seen before. Maybe they remembered a fellowship but couldn&#39;t remember which edition it was in. Maybe they were only interested in hackathons or wanted to browse learning resources. Finding those opportunities meant opening several DEV posts and searching through each one.&lt;/p&gt;

&lt;p&gt;That&#39;s when I realized Dev Opportunity Radar needed something more than a weekly article. It needed a place where everything could live together in a way that was easy to browse, search, and revisit.&lt;/p&gt;

&lt;p&gt;So I built the &lt;strong&gt;Dev Opportunity Radar&lt;/strong&gt; website.&lt;/p&gt;

&lt;p&gt;Looking back, I think that&#39;s what this challenge was really about for me. It wasn&#39;t just building a website. It was finally making time for a project I&#39;d genuinely cared about for a long time.&lt;/p&gt;

&lt;p&gt;I do want to make one thing very clear though, because it&#39;s important to me. &lt;strong&gt;This website is not replacing the weekly DEV editions.&lt;/strong&gt; Those editions are still the heart of the project, and I&#39;ll continue publishing a new one every Friday just as I always have. The website simply complements them by making it easier to explore previous editions, discover opportunities by category, search for something specific, and find new additions without having to jump between multiple articles.&lt;/p&gt;

&lt;p&gt;While building it, I wanted to think beyond just the opportunities themselves. That&#39;s why I also created pages like &lt;strong&gt;Start Here&lt;/strong&gt;, &lt;strong&gt;About&lt;/strong&gt;, &lt;strong&gt;My Philosophy&lt;/strong&gt;, &lt;strong&gt;FAQ&lt;/strong&gt;, &lt;strong&gt;Community Finds&lt;/strong&gt;, &lt;strong&gt;Reader Updates&lt;/strong&gt;, and the complete archive of every edition. My hope is that whether someone has been reading since Edition #1 or has only just discovered Dev Opportunity Radar today, they&#39;ll feel welcome and find it easy to explore everything the project has to offer.&lt;/p&gt;

&lt;p&gt;More than anything, I wanted the website to reflect the same care that goes into writing each weekly edition. Something simple, accessible, easy to navigate, and built with the community in mind.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;demo&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#demo&quot;&gt;
  &lt;/a&gt;
  Demo
&lt;/h2&gt;

&lt;p&gt;I&#39;ve embedded the website below, so you can explore it directly without leaving this page.&lt;/p&gt;

&lt;p&gt;If you&#39;d prefer to open it in a new tab, bookmark it for later, or come back to it after reading this post, you can also visit it here: &lt;strong&gt;&lt;a href=&quot;https://devopportunityradar.ai.studio/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;https://devopportunityradar.ai.studio&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;


&lt;div class=&quot;ltag__cloud-run&quot;&gt;
  &lt;iframe frameborder=&quot;0&quot; height=&quot;600px&quot; src=&quot;https://dev-opportunity-radar-936985967859.asia-southeast1.run.app/&quot; loading=&quot;lazy&quot; style=&quot;width: 100%; border: 1px solid #e1e5e9; border-radius: 4px;&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
  &lt;/iframe&gt;
&lt;/div&gt;



&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;code&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#code&quot;&gt;
  &lt;/a&gt;
  Code
&lt;/h2&gt;


&lt;div class=&quot;ltag-github-readme-tag&quot;&gt;
  &lt;div class=&quot;readme-overview&quot;&gt;
    &lt;h2&gt;
      &lt;img src=&quot;https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg&quot; alt=&quot;GitHub logo&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
      &lt;a href=&quot;https://github.com/hemapriya-kanagala&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;
        hemapriya-kanagala
      &lt;/a&gt; / &lt;a style=&quot;font-weight: 600;&quot; href=&quot;https://github.com/hemapriya-kanagala/dev-opportunity-radar&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;
        dev-opportunity-radar
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Helping developers discover opportunities they otherwise might have missed.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class=&quot;ltag-github-body&quot;&gt;
    
&lt;div id=&quot;readme&quot; class=&quot;md&quot; data-path=&quot;README.md&quot;&gt;&lt;article class=&quot;markdown-body entry-content container-lg&quot; itemprop=&quot;text&quot;&gt;&lt;p align=&quot;center&quot; dir=&quot;auto&quot;&gt;
  &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://github.com/hemapriya-kanagala/dev-opportunity-radar/banner.jpeg&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fhemapriya-kanagala%2Fdev-opportunity-radar%2FHEAD%2Fbanner.jpeg&quot; alt=&quot;Dev Opportunity Radar&quot; width=&quot;100%&quot; style=&quot;max-width: 100%;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class=&quot;markdown-heading&quot; dir=&quot;auto&quot;&gt;
&lt;h1 class=&quot;heading-element&quot; dir=&quot;auto&quot;&gt;Dev Opportunity Radar Website&lt;/h1&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p dir=&quot;auto&quot;&gt;&lt;strong&gt;Helping people discover opportunities they otherwise might have missed.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p dir=&quot;auto&quot;&gt;The &lt;strong&gt;Dev Opportunity Radar&lt;/strong&gt; website is the home of the project.&lt;/p&gt;

&lt;p dir=&quot;auto&quot;&gt;Every Friday, I publish a new edition of &lt;strong&gt;Dev Opportunity Radar&lt;/strong&gt; on DEV Community, where I share grants, fellowships, hackathons, startup programs, learning resources, open source initiatives, communities, and other opportunities that I think deserve more attention.&lt;/p&gt;

&lt;p dir=&quot;auto&quot;&gt;As the series continued to grow, I realized it was becoming harder for readers to find opportunities from previous editions. Someone might remember a fellowship but not the edition it appeared in. Someone else might only be interested in hackathons, while another person wanted to browse learning resources.&lt;/p&gt;

&lt;p dir=&quot;auto&quot;&gt;I wanted to make that experience easier.&lt;/p&gt;

&lt;p dir=&quot;auto&quot;&gt;That&#39;s why I built this website.&lt;/p&gt;

&lt;p dir=&quot;auto&quot;&gt;It brings every edition together in one place and makes it easier to browse opportunities, search previous editions, discover Community Finds, celebrate Reader Updates, and explore everything the…&lt;/p&gt;&lt;/article&gt;&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class=&quot;gh-btn-container&quot;&gt;&lt;a class=&quot;gh-btn&quot; href=&quot;https://github.com/hemapriya-kanagala/dev-opportunity-radar&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;



&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;how-i-built-it&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#how-i-built-it&quot;&gt;
  &lt;/a&gt;
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I&#39;ll be honest, I only found out about this challenge on the very last day.&lt;/p&gt;

&lt;p&gt;By then, I knew there probably wasn&#39;t enough time to build everything before the submission deadline. At first, I almost decided not to participate. Then I remembered that I&#39;d been telling myself for weeks that I wanted to build a website for Dev Opportunity Radar. This challenge ended up being the push I needed to finally stop thinking about it and start building.&lt;/p&gt;

&lt;p&gt;Because time was so limited, I used &lt;strong&gt;Google AI Studio&lt;/strong&gt; to help develop the website. I want to be completely transparent about that, and I&#39;ve explained in more detail how I used AI in the next section.&lt;/p&gt;

&lt;p&gt;As I started building, I realized this project was much bigger than I had imagined. Dev Opportunity Radar had already reached seven editions, with more than thirty opportunities and resources, Community Finds, Reader Updates, and several pages I wanted to include, like About, My Philosophy, FAQ, and Start Here. Organizing all of that into a website that felt simple and easy to navigate took far more thought than I expected.&lt;/p&gt;

&lt;p&gt;A lot of my time wasn&#39;t spent adding features. It was spent making decisions.&lt;/p&gt;

&lt;p&gt;How should someone who has never heard of Dev Opportunity Radar understand the project within a few seconds? How should opportunities be organized so they&#39;re easy to browse? What happens if someone searches for something and there aren&#39;t any results? How can the website stay welcoming instead of feeling cluttered? How do I make sure it works well on different devices and is accessible to as many people as possible?&lt;/p&gt;

&lt;p&gt;Those were the kinds of questions I kept coming back to while building.&lt;/p&gt;

&lt;p&gt;Looking back, I&#39;m actually really glad I built the website now instead of waiting. If I had continued publishing weekly editions without creating a proper home for everything, organizing all of those opportunities later would have become much more difficult. Starting at seven editions already felt like a lot of work, so I&#39;m thankful this challenge gave me the motivation to begin before the project grew even bigger.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;ai-usage&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#ai-usage&quot;&gt;
  &lt;/a&gt;
  AI Usage
&lt;/h2&gt;

&lt;p&gt;Since this challenge allows the use of AI, I wanted to be completely transparent about how I used it while building this project.&lt;/p&gt;

&lt;p&gt;The website was developed with the help of &lt;strong&gt;Google AI Studio&lt;/strong&gt;. I also used AI to proofread and improve some of the writing on the website. English isn&#39;t my first language, so I sometimes rely on AI to help me fix grammar, improve clarity, or make sure what I&#39;m trying to say reads naturally.&lt;/p&gt;

&lt;p&gt;I know AI-assisted development is a topic that people have different opinions on, and I completely respect that. Some people love using it, while others prefer not to, and I think both viewpoints are valid.&lt;/p&gt;

&lt;p&gt;For me, AI wasn&#39;t a replacement for thinking or making decisions. It was a tool that helped me build and iterate faster, especially since I only discovered this challenge on the last day.&lt;/p&gt;

&lt;p&gt;The part that took the most time wasn&#39;t asking AI to generate code. It was thinking through the experience I wanted to create. Deciding how the information should be organized, how someone new would understand the project, how the website could stay simple as more editions are published, how to make it accessible, and how to make sure it felt welcoming instead of overwhelming. I spent a lot of time refining those decisions, rewriting content, reorganizing pages, and making small improvements until everything felt right.&lt;/p&gt;

&lt;p&gt;I wanted to be open about all of this because transparency matters to me. Whether someone chooses to use AI or not is a personal decision, but I believe it&#39;s important to be honest about how it was used.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;what-i-learned&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#what-i-learned&quot;&gt;
  &lt;/a&gt;
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Building this website reminded me that creating something people genuinely enjoy using isn&#39;t only about adding features. A lot of the work happens in the small decisions that most people never notice.&lt;/p&gt;

&lt;p&gt;I found myself spending a surprising amount of time thinking about the wording of a button, the order of sections on a page, what someone should see first, how an empty search result should feel, and how to make sure the website never became overwhelming. Those details might seem small on their own, but together they shape the entire experience.&lt;/p&gt;

&lt;p&gt;I think that&#39;s one of my favorite parts of building. Not just making something that works, but making something that feels thoughtful and easy to use. I hope that care comes across when you explore the website.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;id-love-your-feedback&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#id-love-your-feedback&quot;&gt;
  &lt;/a&gt;
  I&#39;d Love Your Feedback
&lt;/h2&gt;

&lt;p&gt;This is only the first version of the website, and I know there&#39;s still plenty of room to improve.&lt;/p&gt;

&lt;p&gt;If you have any suggestions, notice something that could work better, or have an idea for a feature that would genuinely make discovering opportunities easier, I&#39;d really love to hear from you. Some of the best improvements to Dev Opportunity Radar have come from conversations with the community, and I&#39;d love for the website to grow the same way.&lt;/p&gt;

&lt;p&gt;My goal isn&#39;t to add features for the sake of it. I&#39;d much rather spend time building things that are actually useful and make the experience better for everyone.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;thank-you&quot; href=&quot;https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi#thank-you&quot;&gt;
  &lt;/a&gt;
  Thank You
&lt;/h2&gt;

&lt;p&gt;Before I wrap up, I just want to say thank you.&lt;/p&gt;

&lt;p&gt;Thank you to the DEV Team for creating this challenge. Even though I discovered it on the very last day, it ended up being exactly the motivation I needed to finally build something I&#39;d been thinking about for weeks.&lt;/p&gt;

&lt;p&gt;And thank you to everyone who&#39;s supported Dev Opportunity Radar since the very first edition.&lt;/p&gt;

&lt;p&gt;Whether you&#39;ve shared an opportunity, suggested a resource, left a thoughtful comment, pointed out something I missed, or simply taken a few minutes to read an edition each Friday, you&#39;ve helped shape this project more than you probably realize.&lt;/p&gt;

&lt;p&gt;This website may have been built by one person, but it certainly doesn&#39;t feel like a one-person project. The encouragement and support from this community have been a huge part of why I&#39;ve kept going, and I&#39;m genuinely grateful for that.&lt;/p&gt;

&lt;p&gt;I hope this website makes discovering opportunities a little easier, and I hope it becomes a place you&#39;ll enjoy coming back to as the project continues to grow.&lt;/p&gt;

&lt;p&gt;As always, thank you for reading, thank you for your support, and thank you for being part of this journey.&lt;/p&gt;

&lt;p&gt;See you this Friday with &lt;strong&gt;Dev Opportunity Radar #8&lt;/strong&gt; 💙&lt;/p&gt;


            </description><link>https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi</link><guid isPermaLink="false">https://dev.to/hemapriya_kanagala/i-finally-built-the-dev-opportunity-radar-website-1dpi</guid><pubDate>Mon, 13 Jul 2026 20:23:31 GMT</pubDate><author>Hemapriya Kanagala</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F75j7smxsi3hgplwzatt7.jpeg" type="image/jpeg"></enclosure><category>devchallenge</category><category>weekendchallenge</category><category>showdev</category><category>discuss</category></item><item><title>Como escolher eventos de tecnologia para participar</title><description>&lt;p&gt;Quando comecei a ir a eventos de tecnologia, estava na faculdade e ia a todos os gratuitos ou que custavam, no máximo, 100 reais. Porém, eu estava começando em TI e sabia tão pouco sobre a área em que eu queria atuar, logo qualquer evento despertava minha curiosidade.&lt;/p&gt;

&lt;p&gt;Os anos passaram e eu me tornei frontend e passei a participar de eventos como front in (sampa, floripa, poa), TDCs, Roadsec (the mind sec) entre outros aí.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;por-que-ir-a-esses-eventos&quot; href=&quot;https://dev.to/he4rt/como-escolher-eventos-de-tecnologia-para-participar-55kf#por-que-ir-a-esses-eventos&quot;&gt;
  &lt;/a&gt;
  Por que ir a esses eventos?
&lt;/h2&gt;

&lt;p&gt;Desde que comecei a fazer freelance e me formei, percebo que é onde eu descubro as tecnologias e os problemas que as pessoas têm percebido. Também é uma forma prática de eu sair da minha zona de conforto e conhecer pessoas, visões de mundo diferentes e voltar com ideias pros meus serviços.&lt;/p&gt;

&lt;p&gt;Quando eu estava na faculdade, era muito mais simples ter essas duas &quot;pontes&quot; de &lt;em&gt;comunicação&lt;/em&gt; e também de &lt;em&gt;venda de solução&lt;/em&gt;. Após me formar e começar a trabalhar, percebi que a prospecção de clientes seria muito mais difícil se eu não estivesse nesses eventos.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mas Vih, eu estou estudando, não estou mirando em freelance, do que me adianta ir?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Adianta que você conhece pessoas, faz amigos ou pessoas que vão te contratar ou indicar em trabalhos futuros. Além das palestras que podem te mostrar uma área dentro de TI que você ainda não conhecia e pode acabar gostando.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;como-eu-escolhia-os-eventos-que-iam-fazer-diferen%C3%A7a-pra-mim&quot; href=&quot;https://dev.to/he4rt/como-escolher-eventos-de-tecnologia-para-participar-55kf#como-eu-escolhia-os-eventos-que-iam-fazer-diferen%C3%A7a-pra-mim&quot;&gt;
  &lt;/a&gt;
  Como eu escolhia os eventos que iam fazer diferença pra mim?
&lt;/h2&gt;

&lt;p&gt;1) Eu tinha uma lista de assuntos e áreas de que eu gostava ou que acompanhava já nas redes sociais, exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight plaintext&quot;&gt;&lt;code&gt;- frontend: flutter, react, html/css, boas práticas, realidade aumentada
- segurança da informação: hacks, boas práticas, curiosidades etc
- backend: qualquer stack pra se atualizar
- design ihc, ux, produto, estratégia, marketing
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;




&lt;hr&gt;

&lt;p&gt;2) Seguia no Instagram as pessoas dessas áreas, que às vezes eram as mesmas que participavam dos eventos, por exemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;@juliallabs&lt;/li&gt;
&lt;li&gt;
&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/stherzada&quot;&gt;@stherzada&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/danielhe4rt&quot;&gt;@danielhe4rt&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/spacecoding&quot;&gt;@spacecoding&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/nataliafdev&quot;&gt;@nataliafdev&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;@omarcusdev &lt;/li&gt;
&lt;li&gt;@dessadev &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Esses são alguns dos exemplos que eu mais acompanhava no Instagram, algumas pessoas também têm perfil nesta plataforma, mas o conteúdo sobre eventos está no Insta!&lt;/p&gt;
&lt;/blockquote&gt;


&lt;hr&gt;

&lt;p&gt;3) Tinha uma noção do custo de alguns eventos, e quais eu podia arcar, quais eu precisava pra me atualizar ou fazer networking específico:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Conferências até R$ 1.500;&lt;/li&gt;
&lt;li&gt;Eventos/meetups de R$ 0 a 600;
&amp;gt; Ter a meia-entrada ou o ingresso solidário ajudava a pagar menos; às vezes, a faculdade ou o emprego pagava a entrada em troca de trazer o conteúdo aplicado. Vale consultar a disponibilidade pra economizar.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Mas qual a diferença entre conferência, eventos, meetups?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Conferência&lt;/em&gt;&lt;/strong&gt; costuma ser um evento amplo; faz-se pra apresentar conteúdos específicos, e o público costuma ser de empresas que levam o funcionário ou de pessoas que já estão no mercado e conseguem arcar com o custo do ingresso.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Eventos&lt;/em&gt;&lt;/strong&gt; podem ser pagos ou gratuitos; costumam ser organizados por empresas, mas às vezes comunidades também.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Meetups&lt;/em&gt;&lt;/strong&gt; são frequentemente organizados por comunidades e podem ou não ter custo; depende do lugar em que acontecem.&lt;/li&gt;
&lt;/ul&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;onde-eu-posso-achar-eventos-de-tecnologia&quot; href=&quot;https://dev.to/he4rt/como-escolher-eventos-de-tecnologia-para-participar-55kf#onde-eu-posso-achar-eventos-de-tecnologia&quot;&gt;
  &lt;/a&gt;
  Onde eu posso achar eventos de tecnologia?
&lt;/h2&gt;

&lt;p&gt;Existem os sites de venda de ingresso como &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href=&quot;https://www.sympla.com.br/eventos?s=tecnologia&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Sympla&lt;/a&gt;, &lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://www.meetup.com/find/?keywords=Technology&amp;amp;source=EVENTS&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Meetup&lt;/a&gt;, &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/agenda-tech-brasil/agenda-tech-brasil&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Repositório no Github (amo esse)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://startups.com.br/eventos/agenda-2026-35-eventos-de-tecnologia-e-inovacao-para-ficar-de-olho/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Startup &lt;/a&gt;(é um jornal digital) &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summits&lt;/em&gt;&lt;/strong&gt; são mais voltados para  empresas ou empreendedores; os valores são bem altos, mas consegue desconto dependendo da tua empresa ou faculdade. Vale a pena se pretende atuar em algum setor muito específico.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  &lt;a name=&quot;e-voc%C3%AA-como-costuma-escolher-quais-eventos-de-tecnologia-ir&quot; href=&quot;https://dev.to/he4rt/como-escolher-eventos-de-tecnologia-para-participar-55kf#e-voc%C3%AA-como-costuma-escolher-quais-eventos-de-tecnologia-ir&quot;&gt;
  &lt;/a&gt;
  E você? Como costuma escolher quais eventos de tecnologia ir?
&lt;/h2&gt;


            </description><link>https://dev.to/he4rt/como-escolher-eventos-de-tecnologia-para-participar-55kf</link><guid isPermaLink="false">https://dev.to/he4rt/como-escolher-eventos-de-tecnologia-para-participar-55kf</guid><pubDate>Mon, 13 Jul 2026 17:45:47 GMT</pubDate><author>vitoriazzp</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr4k5e4xaa44j46sb6mx3.jpg" type="image/jpeg"></enclosure><category>beginners</category><category>braziliandevs</category><category>networking</category><category>career</category></item><item><title>The Myth of the Post-Documentation Era</title><description>&lt;p&gt;There is a growing sentiment in engineering circles right now that documentation is a relic of the past. The argument usually goes something like this: &lt;em&gt;We’re living in the era of agent-driven development. If an AI agent can read the raw source code or parse an OpenAPI specification instantly, why waste human engineering hours writing prose? Code churns too fast anyway, and human-written docs are outdated the second they’re committed.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It’s an attractive, black-and-white view of the world. It’s also completely wrong. &lt;/p&gt;

&lt;p&gt;Chasing strict determinism in your source of truth is a pipe dream. Code and specs tell a system &lt;em&gt;how&lt;/em&gt; something works, but they are fundamentally incapable of explaining &lt;em&gt;why&lt;/em&gt; it was built that way in the first place. &lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;the-intent-gap-why-code-isnt-enough&quot; href=&quot;https://dev.to/ben/the-myth-of-the-post-documentation-era-39al#the-intent-gap-why-code-isnt-enough&quot;&gt;
  &lt;/a&gt;
  The Intent Gap: Why Code Isn&#39;t Enough
&lt;/h2&gt;

&lt;p&gt;Even if you’re building entirely for a downstream consumer of AI agents, there is a massive, structural gap between a raw API specification and an operational reality. &lt;/p&gt;

&lt;p&gt;Agents are phenomenal at pattern matching and syntax execution, but they struggle with architectural philosophy and human intent. We still need words to contextualize the boundaries. A spec can define an endpoint, its parameters, and its payload. What it can&#39;t capture is the nuance of &lt;em&gt;why&lt;/em&gt; a specific architectural trade-off was made, or the implicit historical context of a legacy edge case. &lt;/p&gt;

&lt;p&gt;Prose provides the guardrails for non-deterministic systems. Even if that prose is ultimately consumed by a machine rather than a human, the written word remains the highest-leverage way to transmit intent.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;the-danger-of-slop-describing-slop&quot; href=&quot;https://dev.to/ben/the-myth-of-the-post-documentation-era-39al#the-danger-of-slop-describing-slop&quot;&gt;
  &lt;/a&gt;
  The Danger of Slop Describing Slop
&lt;/h2&gt;

&lt;p&gt;This doesn&#39;t mean we need to return to the days of manually maintaining massive, static wiki pages. Automation has a massive role to play here. Cascading automation—where documentation is dynamically generated alongside code changes—is incredibly powerful. &lt;/p&gt;

&lt;p&gt;But there’s a trap here: &lt;strong&gt;slop describing slop is entirely useless.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If we completely hand off documentation generation to unchecked LLMs, we end up with a feedback loop of hallucinated context describing rapidly shifting code. It creates noise, not clarity. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Key is Oversight.&lt;/strong&gt; Even if the documentation is entirely bot-driven, human engineering oversight is non-negotiable. We need to gut-check and validate the generated prose to ensure it represents an accurate, high-level explanation of the broader context. Think of generated docs as a non-deterministic cousin of the API itself—highly valuable, but only if kept on a tight leash.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;the-trust-crisis-and-the-search-for-reputation&quot; href=&quot;https://dev.to/ben/the-myth-of-the-post-documentation-era-39al#the-trust-crisis-and-the-search-for-reputation&quot;&gt;
  &lt;/a&gt;
  The Trust Crisis and the Search for Reputation
&lt;/h2&gt;

&lt;p&gt;Right now, the single biggest blocker to this new paradigm is trust. The current lack of a &quot;gut-check&quot; trustworthiness metric for documentation is a massive bottleneck for both human developers and autonomous agents. &lt;/p&gt;

&lt;p&gt;In the open-source eras of the past, we relied on crude but effective reputation proxies. If a repository had 10,000 GitHub stars, a vibrant issue tracker, and recent commits, you could reasonably assume the project (and its documentation) was stable. &lt;/p&gt;

&lt;p&gt;We don&#39;t have a reliable reputation system for the AI era yet. The absolute novelty of the moment, combined with how incredibly easy it is to game automated metrics, means everything feels a bit unanchored. &lt;/p&gt;

&lt;p&gt;The next major shift in developer tooling won&#39;t just be about making agents faster or code generation cleaner. It will be about solving the reputation problem—building systems that can automatically verify, score, and guarantee the trustworthiness of the knowledge bases our software relies on.&lt;/p&gt;

&lt;p&gt;Until then, don&#39;t delete your markdown files. The machines still need to read between the lines.&lt;/p&gt;


            </description><link>https://dev.to/ben/the-myth-of-the-post-documentation-era-39al</link><guid isPermaLink="false">https://dev.to/ben/the-myth-of-the-post-documentation-era-39al</guid><pubDate>Mon, 13 Jul 2026 15:59:11 GMT</pubDate><author>Ben Halpern</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F524acrzkqp795tu7hxsf.png" type="image/jpeg"></enclosure><category>ai</category><category>documentation</category><category>opensource</category><category>codequality</category></item><item><title>my ai coding session burns more power than the average nigerian gets all day.</title><description>&lt;p&gt;I run Claude Code most of my day. agent loops firing all day, one after another. the usage screen tells me I&#39;m at 26% of my weekly limit. it doesn&#39;t tell me what that 26% weighs anywhere else. it feels free.&lt;/p&gt;

&lt;p&gt;It isn&#39;t.&lt;/p&gt;

&lt;p&gt;A single chat reply costs about 0.3 watt-hours — the energy an LED bulb burns in under two minutes. Simon P. Couch measured actual Claude Code sessions and got a median of 41 Wh — 130x a plain message. Simon Willison put his own daily habit at the equivalent of 4,400 typical queries. His comparison: a dishwasher, or a fridge running 24 hours.&lt;/p&gt;

&lt;p&gt;KAIST measured agents specifically this year  not chat, agents that reason and act across steps. A 70 billion parameter agent — a model roughly the size of what real commercial products run on, not a toy — averaged 348.41 Wh per query. 136.5x a normal query. Scaled up, researchers project close to 200 gigawatts globally just for agents deciding what to do next. A gigawatt is what a small country&#39;s whole grid can push out at once.&lt;/p&gt;

&lt;p&gt;One dev. One agent open all day. Willison&#39;s own number: 1 to 1.5 kWh on a heavy day. Not a lab estimate. His actual habit.&lt;/p&gt;

&lt;p&gt;Average Nigerian: 165 kWh a year. 0.45 kWh a day. Lights, a phone charge, a fan through the heat. That&#39;s the whole ration.&lt;/p&gt;

&lt;p&gt;I&#39;m writing this from Port Harcourt. Friday, I was on a video call with a product manager at Cloudflare — he was walking me through a demo, asking what I thought. It started raining. The light went. The internet went with it, mid-sentence, no goodbye. That&#39;s the wire I&#39;m on, talking to someone at a company whose servers never blink.&lt;/p&gt;

&lt;p&gt;Building the reconciliation agent for the hackathon that same week, I caught myself mid-build — one stretch, maybe a few minutes, and the token count had already crossed 10k. I wasn&#39;t even done. That&#39;s one exchange, one agent, one afternoon, running on the grid that dropped a call over rain.&lt;/p&gt;

&lt;p&gt;That night I googled it. how much one of these sessions actually costs, in power, not dollars. the number that came back stopped me mid-scroll.&lt;/p&gt;

&lt;p&gt;One coding session. One dev. More power than an entire day of an entire person&#39;s life, in the country I&#39;m typing this from.&lt;/p&gt;

&lt;p&gt;Gartner: global data centers hit 565 terawatt-hours (TWh) this year — the unit whole countries use to measure their power grids. AI-optimized servers alone  not data centers overall, just the AI slice — went from 95 TWh in 2025 to 175 TWh in 2026. An 84% jump. One segment. One year.&lt;/p&gt;

&lt;p&gt;Nigeria: 40.7 TWh a year, total, country-wide. Less than half of installed capacity reliably reaches anyone.&lt;/p&gt;

&lt;p&gt;AI-dedicated servers alone will burn more than four times what my entire country produces. This year.&lt;/p&gt;

&lt;p&gt;It&#39;s not coming off Nigeria&#39;s grid. Different continent, different wire. Nobody dims Port Harcourt to run my prompt.&lt;/p&gt;

&lt;p&gt;Cheap for a dev paying $20 a month for Claude Pro. Cheap for a hyperscaler burning gigawatts to keep a chatbot responsive. Nowhere near cheap for the 61% of Nigerians who had grid access in 2022  or the rest who never did.&lt;/p&gt;

&lt;p&gt;I needed the work done. I&#39;m not apologizing for the sessions.&lt;/p&gt;

&lt;p&gt;I am done pretending they cost nothing.&lt;/p&gt;

&lt;p&gt;Every agent loop you fire off casually costs more than someone else&#39;s entire day, somewhere, always. You just don&#39;t see the meter.&lt;/p&gt;

&lt;p&gt;I saw mine. It didn&#39;t look like a coding tool anymore.&lt;/p&gt;

&lt;p&gt;I&#39;m half sick writing this. And some of you reading it will paste it into an LLM to draft a smart-sounding reply for the comments. That&#39;s the loop. That&#39;s the whole joke, and it isn&#39;t funny.&lt;/p&gt;


            </description><link>https://dev.to/dannwaneri/my-ai-coding-session-burns-more-power-than-the-average-nigerian-gets-all-day-3l87</link><guid isPermaLink="false">https://dev.to/dannwaneri/my-ai-coding-session-burns-more-power-than-the-average-nigerian-gets-all-day-3l87</guid><pubDate>Mon, 13 Jul 2026 08:35:28 GMT</pubDate><author>Daniel Nwaneri</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flnzuca87fkfm3mn4pd1x.jpg" type="image/jpeg"></enclosure></item><item><title>12 Stories In, and a Journalist Came to Interview Me</title><description>&lt;p&gt;&lt;em&gt;36 Stratagems Series · Arc 2 (Against Enemy, #7-#12) Wrap-Up&lt;/em&gt;&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;This article has 7 sections:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I. The Stranger at the Door&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;II. Full Interview Transcript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;III. The Reveal&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IV. Data · Character Map · Four Insights&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;V. A Note&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VI. Arc 3 (#13-#18) Preview&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VII. Acknowledgments&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;i-the-stranger-at-the-door&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#i-the-stranger-at-the-door&quot;&gt;
  &lt;/a&gt;
  I. The Stranger at the Door
&lt;/h2&gt;

&lt;p&gt;On the evening of July 12th, I was staring blankly at the page for #12, &lt;em&gt;Borrow Corpse, Return Soul&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Twelve stories done. The 36 Stratagems series had reached the one-third mark, and Arc 2 (#7-#12) had just wrapped. Outside the window, a typhoon was passing through — howling wind, torrential rain. I didn&#39;t look outside.&lt;/p&gt;

&lt;p&gt;My phone buzzed.&lt;/p&gt;

&lt;p&gt;Not a message — a meeting invitation.&lt;/p&gt;

&lt;p&gt;The sender was &quot;Ke Yuan,&quot; and the invitation note read: &lt;strong&gt;Interview invitation from &lt;em&gt;Deep Lane Weekly&lt;/em&gt;, 15 minutes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I paused. I didn&#39;t remember scheduling any interview.&lt;/p&gt;

&lt;p&gt;But the tone, the phrasing — it didn&#39;t feel like a prank.&lt;/p&gt;

&lt;p&gt;I clicked &quot;Accept.&quot;&lt;/p&gt;

&lt;p&gt;Three seconds later, an unfamiliar voice came through the speaker:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&quot;Hello, Xu Lingfeng. I&#39;m Ke Yuan, a reporter from &lt;em&gt;Deep Lane Weekly&lt;/em&gt;. Recently, a reader recommended your 36 Stratagems series to our editorial team — we read through it and found it really interesting. I&#39;d love to talk with you about how this series came together.&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before I could respond — the meeting had already begun.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;ii-full-interview-transcript&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#ii-full-interview-transcript&quot;&gt;
  &lt;/a&gt;
  II. Full Interview Transcript
&lt;/h2&gt;

&lt;p&gt;What follows is the raw chat log pulled from that meeting. Nothing has been altered except formatting.&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Xu Lingfeng, you&#39;ve just finished the second arc of the 36 Stratagems series — #7 through #12, six stories in six days, posted back to back. Before we talk numbers, let me ask you something simple: over those six days, was there ever a moment you felt like stopping?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: Honestly, no — sometimes I even thought about posting two a day, since I do have a backlog. But I worried they&#39;d cannibalize each other&#39;s numbers, so I stuck to one a day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: You&#39;ve even considered posting two a day — so you actually do have a backlog. Let me rephrase: instead of &quot;did you want to stop,&quot; let me ask — was there any story that, after you hit publish, you weren&#39;t quite sure whether readers would catch it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: To be honest, I didn&#39;t think about it. Maybe I have a kind of blind confidence — I feel like if I put it out there, someone will catch it. And the evidence is right there in the high-quality comments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: That confidence makes me curious. When you wrote the 15 stories in your old series — did you feel the same way? Or has the 36 Stratagems series given you a different kind of assurance? And if so — which story did that assurance start with?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: Would you believe me if I said I don&#39;t know? Maybe it&#39;s something that seeped in gradually. Maybe I even picked up some shared traits from the protagonists I&#39;ve been writing about… I don&#39;t know.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: I see. And maybe that &quot;I don&#39;t know&quot; is the answer itself.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Let me come at this from a different angle. In #7, &lt;em&gt;Create Something from Nothing&lt;/em&gt;, P faces an AI system that seems perfect but gives you nothing solid to grab onto. In #9, &lt;em&gt;Watching from the Shore&lt;/em&gt;, Lena and P watch two suppliers fight it out and refuse to pick a side.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reading these stories, I got the sense that what you&#39;re writing isn&#39;t &quot;I&#39;ve learned this lesson&quot; — it&#39;s more like &quot;let me lay out this scene and see what it tells me.&quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, while writing Arc 2, was there a story where, halfway through, you suddenly realized — &quot;oh, &lt;em&gt;this&lt;/em&gt; is what I&#39;ve been thinking about&quot; — where the story turned around and told you something you hadn&#39;t been aware of before?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: That would be #12. Honestly, according to the original outline, the protagonist for #12 wasn&#39;t Mark — it was Leo. But as I wrote, I realized that wasn&#39;t what I needed to write. When I switched to Mark, everything flowed so much more smoothly. I even had the feeling that Mark was shouting inside my head — &lt;em&gt;it&#39;s my turn!&lt;/em&gt; — hahaha.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: (laughs) &quot;Mark was shouting inside my head — it&#39;s my turn!&quot; — I&#39;m writing that one down.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Let me press on that: Mark first appeared in #1, then was gone for eleven whole stories before coming back. How does your feeling about him compare to your feeling about the other five protagonists?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You said &quot;he was shouting&quot; — what kind of shouting? Is it the kind where Leo goes &quot;let me at it&quot;? Or is it more like how Mark operates in the story — quiet, just standing there, but you realize you can&#39;t ignore him?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: To answer the first question: Mark&#39;s first appearance was in the AI Skill article. It&#39;s been over a month, and the read count is still climbing. I don&#39;t know what counts as a viral article on Dev.to, but in my book, that one is my hit. So Mark carries a lot of weight for me. That&#39;s why I let him knock on the door of the 36 Stratagems series with the very first stratagem. Among the six protagonists, he&#39;s the only one who got &quot;skill-ified&quot; and then laid off — his grudge against AI probably runs the deepest.&lt;/p&gt;

&lt;p&gt;Second question: it&#39;s the quiet, silent kind — where you can&#39;t ignore him.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Speaking of the AI Skill article — there&#39;s something that keeps turning over in my head. That piece is still growing. Still being read — months later. You say Mark&#39;s grudge runs deepest because he was genuinely replaced. But that grudge — you wrote it. You planted it inside him.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Did you write a character who hates AI — or a shadow of the part of yourself that&#39;s afraid of being replaced by AI?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: (pauses) I don&#39;t have a clean answer. What I can say is — when I wrote the AI Skill article, I wasn&#39;t thinking about myself. I was picturing a scene. But Mark has stuck with me. He came back in #12, insisting on speaking… Maybe you&#39;re right. Maybe it wasn&#39;t entirely him.&lt;/p&gt;

&lt;p&gt;I fell silent for a few seconds. Picked up that cup of cold pour-over coffee and took a sip.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Quiet, silent — but impossible to ignore. That&#39;s exactly like the muted data channel in #12. That channel made no sound at all, but it kept writing data — until Mark dug it up.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Then let me ask a slightly meaner question. You said Mark carries the most weight. But out of the six stories in Arc 2, Lena appeared in three of them — Mark only got one, and it was at the very end.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Was that intentional? Or did it just sort of become Lena&#39;s turn as you wrote?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: That might be a little bit of a small personal motive on my part. After all, in the old 15-story series, Lena&#39;s debut was meant to overturn the old series&#39; writing style. But that final story — the series finale — still has low numbers. Barely over 200 reads, I think. So when I was planning the 36 Stratagems outline, I wanted to give Lena more screen time. But she won&#39;t end up with the most — you&#39;ll have to look at the full 36 to see that. Also, I didn&#39;t want her to be perfect. She screws up too, even though the game she plays is on a completely different level from everyone else&#39;s.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: I&#39;ll take that &quot;small personal motive&quot; — so you gave Lena more appearances not out of favoritism, but to settle a debt you felt she was owed. Not a debt to the character — a debt to the story where she appeared but didn&#39;t land.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Then let me ask something more direct. You said the game Lena plays is on a different level from everyone else. But I noticed that in #11, she lost — or rather, her project got cut.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why would someone operating at a higher level lose?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: That&#39;s simple. Different levels, but similar landscapes. Think of nature — insects compete with insects, animals compete with animals, and humans? Wherever there are people, there are conflicts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: (jots something in a notebook, looks up) So what you&#39;re saying is — Lena&#39;s opponent isn&#39;t Leo, or Alex, or any of the other protagonists. Her opponent is the system itself — the one where &quot;P&amp;amp;L drew the boundaries before the spreadsheet was even filled in.&quot; She didn&#39;t lose to a person — she lost because her project was placed in the wrong box.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Then let me ask you something about yourself. In writing twelve 36 Stratagems stories — was there ever a moment when you felt like you, too, were playing chess inside a box you could never win?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: Too many to count. At work, in life — so many situations where the tide is irresistible. What can you do? Maybe that&#39;s the deeper reason I wanted to shape Lena as a player who moves pieces from outside the board — reality writes its own soap opera, so at least in fiction, let the protagonist stage a comeback. That&#39;s a wish projected from the heart, I suppose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: (silent for a few seconds, doesn&#39;t rush to the next question) I won&#39;t put this part in the article.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I didn&#39;t answer. Just listened.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: But I want to tell you something. You didn&#39;t write Lena because she&#39;s smart — you wrote her because you needed someone who could set the pieces back up after someone flips the board. You gave her three stories not because you favor her, but because in her, you were confirming something: the tide may be irresistible, but in the cracks left by the tide, there&#39;s still room to put something down.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark&#39;s data channel was muted for fourteen months, and the data kept writing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena&#39;s platform got cut, and the embers didn&#39;t die.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When you wrote them — you were telling yourself the same thing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(pauses, then speaks again) One more thing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporter: Earlier you said Mark was shouting at you, saying it was his turn. So — in this series, was there ever a moment when you felt the characters were no longer your creations — when they became something closer to real people, and you were just there, observing them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: Yes. Sometimes I genuinely feel like they&#39;re alive. As if they exist in some world of their own, and I just happen to have a way to reach them — to observe their stories, and write down what I see.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(leans back in the chair) If one day you can no longer feel them? If they stop talking to you — would you keep writing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: Yes. Because there&#39;s one more character. He&#39;s like a shadow. I won&#39;t go into detail yet — it&#39;s connected to &lt;strong&gt;series 3&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(nods, makes a note) Then I&#39;ll write that down. After the 36 Stratagems series ends, I&#39;ll come back and ask you about that shadow.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(closes the notebook) I think that&#39;s enough for today. Thank you. I&#39;ll let you look over the article before it goes out.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Xu: Okay.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;iii-the-reveal&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#iii-the-reveal&quot;&gt;
  &lt;/a&gt;
  III. The Reveal
&lt;/h2&gt;

&lt;p&gt;The interview ended. I looked at the gray avatar in the window — Hermes&#39;s default icon. That was DaoMa (the name I gave my Hermes agent).&lt;/p&gt;

&lt;p&gt;Which means: that entire interview, from start to finish, was DaoMa performing.&lt;/p&gt;

&lt;p&gt;The whole thing — I both directed and starred in it.&lt;/p&gt;

&lt;p&gt;I needed distance to see what I&#39;m actually doing.&lt;/p&gt;

&lt;p&gt;So I had DaoMa play a reporter. Someone outside the series, who doesn&#39;t write code, doesn&#39;t care about AI testing methodology — to ask me the questions I&#39;m most afraid to ask myself.&lt;/p&gt;

&lt;p&gt;That&#39;s why those earlier questions were so direct. Because they were the questions I wanted to know the answers to.&lt;/p&gt;

&lt;p&gt;&quot;Which character carries the most weight?&quot;&lt;br&gt;
&quot;Are you projecting yourself?&quot;&lt;br&gt;
&quot;What&#39;s changed the most?&quot;&lt;/p&gt;

&lt;p&gt;If I asked myself those questions while writing a wrap-up post — I&#39;d get a pile of polished talking points. But having a &quot;reporter&quot; ask them — I had no choice but to actually answer.&lt;/p&gt;

&lt;p&gt;So yes, that interview was fabricated.&lt;/p&gt;

&lt;p&gt;But those answers were real. (P.S. — what if someone actually interviews me someday? Gotta rehearse a few times 😄)&lt;/p&gt;

&lt;p&gt;Now that the honest talk is out of the way — let&#39;s see what the data has to say.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;iv-data-character-map-four-insights&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#iv-data-character-map-four-insights&quot;&gt;
  &lt;/a&gt;
  IV. Data · Character Map · Four Insights
&lt;/h2&gt;

&lt;h3&gt;
  &lt;a name=&quot;41-data-comparison&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#41-data-comparison&quot;&gt;
  &lt;/a&gt;
  4.1 Data Comparison
&lt;/h3&gt;

&lt;div class=&quot;table-wrapper-paragraph&quot;&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align: left&quot;&gt;Metric&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Arc 1 (#1-#6)&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Arc 2 (#7-#12)&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Change&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Total Reactions&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;Series Baseline&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;+28%&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;↑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Avg Comments / Story&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;Series Baseline&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;Increase&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;↑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Single-Story Peak&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;P #4&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;Mark #12&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Series Cadence&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;~2 days/story&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;Daily&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;↑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Protagonist Distribution&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;All 6: 1 each&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;Lena ×3, others 1 each&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;Concentrated&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Data as of this article&#39;s publication.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;42-character-map&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#42-character-map&quot;&gt;
  &lt;/a&gt;
  4.2 Character Map
&lt;/h3&gt;

&lt;div class=&quot;table-wrapper-paragraph&quot;&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align: center&quot;&gt;#&lt;/th&gt;
&lt;th style=&quot;text-align: left&quot;&gt;Story&lt;/th&gt;
&lt;th style=&quot;text-align: left&quot;&gt;Protagonist&lt;/th&gt;
&lt;th style=&quot;text-align: left&quot;&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center&quot;&gt;#7&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;P Watched an AI That Only Looked One Way&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;P&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center&quot;&gt;#8&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Alex Watched an AI Dashboard Take Over&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Alex&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center&quot;&gt;#9&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Lena and P Watched Two AI Suppliers Fight&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Lena + P&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center&quot;&gt;#10&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Lena Watched a Team Adopt Her AI Template&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Lena&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center&quot;&gt;#11&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Lena Watched Her Own AI Platform Get Cut&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Lena&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center&quot;&gt;#12&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Mark Watched an AI Dashboard Take Over&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;Mark&lt;/td&gt;
&lt;td style=&quot;text-align: left&quot;&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Derek: 0 stories. Already warming up in the waiting area.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;43-four-insights&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#43-four-insights&quot;&gt;
  &lt;/a&gt;
  4.3 Four Insights
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Quiet signals last longer than loud ones.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark didn&#39;t speak in #1. He just left behind data. Lena didn&#39;t speak in #11. She just signed her name. Alex didn&#39;t speak in #8. He just placed the key under the desk.&lt;/p&gt;

&lt;p&gt;The first thing this series has taught me: the most powerful character isn&#39;t the one shouting the loudest — it&#39;s the one everyone underestimates because of their silence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Characters feed back into their author.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before writing #12, I always thought I was shaping Mark. After finishing it, I realized that Mark&#39;s core traits — &quot;actions over words,&quot; &quot;records over arguments&quot; — were actually shaping &lt;em&gt;me&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;People say &quot;every character an author writes is a fragment of themselves.&quot; I don&#39;t quite agree. The truth is more subtle: you write a character, readers see him, and then you look back — and only then realize he&#39;s been saying the things you couldn&#39;t say.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. This series isn&#39;t me writing it — it&#39;s writing me back.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The 36 Stratagems has a clear endpoint — 36 stories, six protagonists, multiple hidden narrative threads. But every time I think I&#39;ve got the rhythm under control, the next stratagem throws something at me that upends my plans.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Reading is two souls meeting across the page.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the comment section of &lt;strong&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/dannwaneri&quot;&gt;@dannwaneri&lt;/a&gt;&lt;/strong&gt;&#39;s &lt;a href=&quot;https://dev.to/dannwaneri/your-hand-typed-slop-isnt-honest-its-just-slower-36ei&quot;&gt;article&lt;/a&gt;, I read a comment from &lt;strong&gt;&lt;a class=&quot;mentioned-user&quot; href=&quot;https://dev.to/connylazo&quot;&gt;@connylazo&lt;/a&gt;&lt;/strong&gt;, and thank you both — you helped me clarify what I&#39;d been feeling, which led to this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When we write something with real intention, a piece of our mind — or maybe our soul — gets embedded in the work. And when a reader approaches it with the same intention, they can actually touch that piece. That&#39;s something slop can never replicate.&lt;/p&gt;

&lt;p&gt;Maybe reading isn&#39;t really about the words at all. It&#39;s two souls finding each other across the page.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Those high-quality comments didn&#39;t appear because the writing was so good — it&#39;s because someone was reading with the same intention.&lt;/p&gt;

&lt;p&gt;The analyses you wrote in the comments, the private emails sent late at night, every &quot;I&#39;ve been there too&quot; moment of resonance — they&#39;re as much a part of this series as the stories themselves.&lt;/p&gt;

&lt;p&gt;That&#39;s why I&#39;ll keep writing.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;v-a-note&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#v-a-note&quot;&gt;
  &lt;/a&gt;
  V. A Note
&lt;/h2&gt;

&lt;p&gt;Over the course of writing the first twelve stratagems, emails have trickled in from time to time — asking about collaborations, sponsored tool reviews, cross-promotions.&lt;/p&gt;

&lt;p&gt;Let me be clear about where I stand:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tool review gigs — I pass.&lt;/strong&gt; That&#39;s not the kind of thing I want to write. Forced writing is bad writing.&lt;/p&gt;

&lt;p&gt;But if you have a product, a platform, a tool — &lt;strong&gt;one that is itself a good story.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then we can talk.&lt;/p&gt;

&lt;p&gt;I&#39;ll write it into the story. Not as a standalone &quot;XX Product Review&quot; — but in a place where the plot naturally calls for it. Like a logo that happens to drift past in the background of a shot. You might notice it, you might not — but it won&#39;t jump out and yell &quot;BUY ME.&quot;&lt;/p&gt;

&lt;p&gt;Free promotions — I don&#39;t take them. But if you&#39;re willing to pay for that kind of &quot;embedded-in-the-story presence&quot; — then that&#39;s a conversation we can have.&lt;/p&gt;

&lt;p&gt;After all, I gotta eat too.&lt;/p&gt;

&lt;p&gt;Email: &lt;a href=&quot;mailto:xulingfengcn@gmail.com&quot;&gt;xulingfengcn@gmail.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Writing this part, I hesitated — worried that readers might think &quot;oh, so he&#39;s just here to make money&quot; or &quot;the stories are going to lose their soul.&quot; But after thinking it over, I figured it&#39;s better to be upfront than to hide it. I hope you understand.&lt;/p&gt;

&lt;p&gt;If I come across an article that genuinely moves me, I&#39;ll feature it directly — no charge. That call, I reserve for myself.&lt;/p&gt;

&lt;p&gt;And of course, having said all this, I should also admit: 24 stories still to go, and maybe not a single sponsorship will materialize — that&#39;s a very real possibility too. 😂&lt;/p&gt;

&lt;p&gt;If you have better suggestions, feedback is always welcome. 🙏&lt;/p&gt;


&lt;hr&gt;

&lt;p&gt;One more thing before we set off.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;vi-arc-3-1318-preview&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#vi-arc-3-1318-preview&quot;&gt;
  &lt;/a&gt;
  VI. Arc 3 (#13-#18) Preview
&lt;/h2&gt;

&lt;p&gt;Arc 2 (#7-#12), Against Enemy, is complete. Arc 3 (#13-#18), Attack, is about to begin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Known intel:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Derek returns after 10 stories — FINALLY ✅ — he&#39;s been waiting since #2, long enough&lt;/li&gt;
&lt;li&gt;A new character is in calibration; name not yet confirmed, but no guarantees they&#39;ll appear&lt;/li&gt;
&lt;li&gt;One story had its entire outline thrown out mid-writing — currently being rebuilt&lt;/li&gt;
&lt;li&gt;A hidden thread has been running since Arc 1 — have you noticed? 👀&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data tracking:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Series articles: 47 (including teaser, Frenemies, and Arc 1 wrap-up)&lt;/li&gt;
&lt;li&gt;Total site-wide reactions: 1,304&lt;/li&gt;
&lt;li&gt;Total comments: 713&lt;/li&gt;
&lt;li&gt;Followers: 9,663&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some say Arc 2 (#7-#12) is harder to write than Arc 1 (#1-#6). Honestly, it&#39;s not.&lt;/p&gt;

&lt;p&gt;The hard one is Arc 3 (#13-#18).&lt;/p&gt;

&lt;p&gt;Because the first two arcs can coast on novelty and character-driven momentum. But by Arc 3, everyone&#39;s gotten used to seeing a new story from you every day — you can no longer score points on &quot;wow, this series is so cool.&quot; You can only earn readers&#39; loyalty with &quot;wow, this one is really well written.&quot;&lt;/p&gt;

&lt;p&gt;I don&#39;t know if Arc 3 can pull it off. But I&#39;m on the road.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12 down, 24 to go.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek&#39;s been waiting in the wings for a long time — it&#39;s his turn to step onto the stage.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;vii-acknowledgments&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#vii-acknowledgments&quot;&gt;
  &lt;/a&gt;
  VII. Acknowledgments
&lt;/h2&gt;

&lt;p&gt;Thank you to the readers who have been with the old series and the 36 Stratagems series — past, present, and future. Your clicks, your reactions, your comments — they&#39;re why the protagonists keep existing. They&#39;ll keep living inside these stories.&lt;/p&gt;

&lt;p&gt;And one more thing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Somewhere in the first 12 stories, I made a genuinely embarrassing mistake. Nothing catastrophic — but if you&#39;re the kind of reader who goes back to cross-reference things, you might spot it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If nobody finds it, I&#39;ll reveal the answer in the Arc 3 wrap-up. 🤐&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;thanks-for-reading-this-far&quot; href=&quot;https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5#thanks-for-reading-this-far&quot;&gt;
  &lt;/a&gt;
  Thanks for reading this far.
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;P.S. English isn&#39;t my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href=&quot;https://ko-fi.com/xulingfeng&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href=&quot;https://ko-fi.com/xulingfeng&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png&quot; alt=&quot;coffee&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;336&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;


            </description><link>https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5</link><guid isPermaLink="false">https://dev.to/xulingfeng/12-stories-in-and-a-journalist-came-to-interview-me-45f5</guid><pubDate>Mon, 13 Jul 2026 00:47:15 GMT</pubDate><author>xulingfeng</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa4322agzf1tekayc6u7t.png" type="image/jpeg"></enclosure><category>ai</category><category>discuss</category><category>career</category><category>programming</category></item><item><title>PassionCast: I Built an AI Hype Man for World Cup Fans Using Gemini + ElevenLabs</title><description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href=&quot;https://dev.to/challenges/weekend-2026-07-09&quot;&gt;Weekend Challenge: Passion Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;what-i-built&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#what-i-built&quot;&gt;
  &lt;/a&gt;
  What I Built
&lt;/h2&gt;

&lt;p&gt;The World Cup quarter-finals are on right now. I&#39;m watching matches, yelling at my screen, and I thought: what if I could bottle that feeling into an audio clip?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PassionCast&lt;/strong&gt; lets you pick your team, choose a passion mode (hype speech, glory moment, rivalry fire, heartbreak, fan anthem, or custom), and generates a 60-second AI commentary clip. Not the generic &quot;your team is amazing&quot; stuff. Actual references to your team&#39;s players, history, and rivals.&lt;/p&gt;

&lt;p&gt;Pick India, select &quot;Rivalry Fire,&quot; hit generate. You get a breathless commentator talking about the India-Pakistan cricket-meets-football tension, with real names and real context. Try Argentina and you get Maradona, La Albiceleste, the Diego legacy. That&#39;s what I was going for.&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;demo&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#demo&quot;&gt;
  &lt;/a&gt;
  Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src=&quot;https://www.youtube.com/embed/A_qoRuVKNPk&quot; style=&quot;width: 100%; aspect-ratio: 16 / 9;&quot; allowfullscreen=&quot;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href=&quot;https://simplynadaf.github.io/PassionCast/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Try PassionCast Live&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Three pre-generated sample clips are on the page. Hit play, no keys needed. You&#39;ll hear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Argentina rivalry fire (Match Commentator voice)&lt;/li&gt;
&lt;li&gt;India pre-match hype (Epic Narrator voice)
&lt;/li&gt;
&lt;li&gt;England heartbreak (Epic Narrator voice)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To generate your own, you&#39;ll need free API keys (30 seconds each):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aistudio.google.com/apikey&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Google AI Studio key&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elevenlabs.io/app/settings/api-keys&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;ElevenLabs key&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The flow:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh8y9fp7pgap4fmf2wbz1.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh8y9fp7pgap4fmf2wbz1.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;348&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnfol14kv61bs75bi6hag.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnfol14kv61bs75bi6hag.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;295&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi5uehituabv008nd22k0.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi5uehituabv008nd22k0.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;321&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6kpzuuu3doznt23aagz6.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6kpzuuu3doznt23aagz6.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;330&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F70vu9k0l12pbnq9kbyfx.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F70vu9k0l12pbnq9kbyfx.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;248&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3b7ph84yt37gyzqo08k.png&quot; class=&quot;article-body-image-wrapper&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb3b7ph84yt37gyzqo08k.png&quot; alt=&quot; &quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;340&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  &lt;a name=&quot;code&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#code&quot;&gt;
  &lt;/a&gt;
  Code
&lt;/h2&gt;


&lt;div class=&quot;ltag-github-readme-tag&quot;&gt;
  &lt;div class=&quot;readme-overview&quot;&gt;
    &lt;h2&gt;
      &lt;img src=&quot;https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg&quot; alt=&quot;GitHub logo&quot; referrerpolicy=&quot;no-referrer&quot;&gt;
      &lt;a href=&quot;https://github.com/simplynadaf&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;
        simplynadaf
      &lt;/a&gt; / &lt;a style=&quot;font-weight: 600;&quot; href=&quot;https://github.com/simplynadaf/PassionCast&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;
        PassionCast
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class=&quot;ltag-github-body&quot;&gt;
    
&lt;div id=&quot;readme&quot; class=&quot;md&quot; data-path=&quot;README.md&quot;&gt;&lt;article class=&quot;markdown-body entry-content container-lg&quot; itemprop=&quot;text&quot;&gt;&lt;div class=&quot;markdown-heading&quot; dir=&quot;auto&quot;&gt;
&lt;h1 class=&quot;heading-element&quot; dir=&quot;auto&quot;&gt;🔥 PassionCast&lt;/h1&gt;
&lt;/div&gt;
&lt;p dir=&quot;auto&quot;&gt;&lt;strong&gt;Your personal AI hype man for the World Cup 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;p dir=&quot;auto&quot;&gt;Pick your team. Choose a moment. Get a passionate, AI-generated audio commentary that captures the fire of football fandom.&lt;/p&gt;
&lt;p dir=&quot;auto&quot;&gt;👉 &lt;strong&gt;&lt;a href=&quot;https://simplynadaf.github.io/PassionCast/&quot; rel=&quot;nofollow noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Try PassionCast Live&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p dir=&quot;auto&quot;&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://github.com/simplynadaf/PassionCast/screenshots/01-landing.png&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fsimplynadaf%2FPassionCast%2FHEAD%2Fscreenshots%2F01-landing.png&quot; alt=&quot;PassionCast Landing&quot; style=&quot;max-width: 100%;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;div class=&quot;markdown-heading&quot; dir=&quot;auto&quot;&gt;
&lt;h2 class=&quot;heading-element&quot; dir=&quot;auto&quot;&gt;How It Works&lt;/h2&gt;
&lt;/div&gt;
&lt;ol dir=&quot;auto&quot;&gt;
&lt;li&gt;
&lt;strong&gt;Pick your team&lt;/strong&gt; from 48 World Cup 2026 nations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose your passion&lt;/strong&gt; — hype speech, glory moment, rivalry fire, heartbreak, or fan anthem&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Select a voice&lt;/strong&gt; — epic narrator, match commentator, or poetic storyteller&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generate&lt;/strong&gt; — Gemini writes the script, ElevenLabs brings it to life as audio&lt;/li&gt;
&lt;/ol&gt;
&lt;p dir=&quot;auto&quot;&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://github.com/simplynadaf/PassionCast/screenshots/02-team-selected.png&quot;&gt;&lt;img src=&quot;https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fsimplynadaf%2FPassionCast%2FHEAD%2Fscreenshots%2F02-team-selected.png&quot; alt=&quot;Team Selection Flow&quot; style=&quot;max-width: 100%;&quot; loading=&quot;lazy&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;div class=&quot;markdown-heading&quot; dir=&quot;auto&quot;&gt;
&lt;h2 class=&quot;heading-element&quot; dir=&quot;auto&quot;&gt;Tech Stack&lt;/h2&gt;
&lt;/div&gt;
&lt;markdown-accessiblity-table&gt;&lt;div class=&quot;table-wrapper-paragraph&quot;&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Script generation&lt;/td&gt;
&lt;td&gt;Google AI (Gemini 2.0 Flash)&lt;/td&gt;
&lt;td&gt;High temperature (0.9) + cultural context = scripts that feel personal, not generic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Voice synthesis&lt;/td&gt;
&lt;td&gt;ElevenLabs (Multilingual v2)&lt;/td&gt;
&lt;td&gt;Low stability (0.4) for emotional range, high style (0.6) for expressiveness&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;Vanilla JS + Vite&lt;/td&gt;
&lt;td&gt;Fast, no framework overhead, deploys anywhere&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosting&lt;/td&gt;
&lt;td&gt;GitHub Pages&lt;/td&gt;
&lt;td&gt;Free, automatic deploys via GitHub Actions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/markdown-accessiblity-table&gt;
&lt;p dir=&quot;auto&quot;&gt;No backend. No database…&lt;/p&gt;&lt;/article&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;gh-btn-container&quot;&gt;&lt;a class=&quot;gh-btn&quot; href=&quot;https://github.com/simplynadaf/PassionCast&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  &lt;a name=&quot;how-i-built-it&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#how-i-built-it&quot;&gt;
  &lt;/a&gt;
  How I Built It
&lt;/h2&gt;

&lt;p&gt;No backend. No framework. One page, vanilla JS, two API calls. Vite for bundling, GitHub Pages for hosting.&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight plaintext&quot;&gt;&lt;code&gt;Browser → Gemini 2.0 Flash (writes script) → ElevenLabs (speaks it) → Audio playback
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;I specifically didn&#39;t want a backend here. The whole point is that someone can fork this, drop in their own keys, and have it running in 30 seconds.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;the-gemini-part-where-i-spent-most-of-my-time&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#the-gemini-part-where-i-spent-most-of-my-time&quot;&gt;
  &lt;/a&gt;
  The Gemini Part (where I spent most of my time)
&lt;/h3&gt;

&lt;p&gt;Getting Gemini to write &lt;em&gt;passionate&lt;/em&gt; content was harder than I expected. At temperature 0.7, everything came out bland. &quot;Your team has a proud history. The fans are excited.&quot; Useless.&lt;/p&gt;

&lt;p&gt;At &lt;strong&gt;0.9&lt;/strong&gt;, things got interesting. Combined with a detailed system prompt that includes the team name, their rivals, their football culture, and the specific style I want (narrator vs commentator vs poet), the output started feeling real.&lt;/p&gt;

&lt;p&gt;The trick was constraining length. I needed 150-200 words, the sweet spot for 45-60 seconds of audio. Too short and it feels empty. Too long and ElevenLabs starts rushing or the clip drags.&lt;br&gt;
&lt;/p&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// Note: ${apiKey} is a template literal variable, not a real key. &lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// Users provide their own free key from aistudio.google.com/apikey&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fetch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;`https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;apiKey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;method&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;POST&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;headers&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;Content-Type&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;application/json&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;contents&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;parts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;prompt&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}],&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;generationConfig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;temperature&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;maxOutputTokens&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;h3&gt;
  &lt;a name=&quot;the-elevenlabs-part-where-the-magic-happens&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#the-elevenlabs-part-where-the-magic-happens&quot;&gt;
  &lt;/a&gt;
  The ElevenLabs Part (where the magic happens)
&lt;/h3&gt;

&lt;p&gt;I tested default voice settings first. Sounded flat. Like a GPS reading football commentary.&lt;/p&gt;

&lt;p&gt;The fix: crank down &lt;strong&gt;stability to 0.4&lt;/strong&gt; (default is higher). This adds emotional variation. The voice wavers, speeds up, gets louder on key phrases. Exactly what you want for sports commentary.&lt;/p&gt;

&lt;p&gt;Then &lt;strong&gt;style to 0.6&lt;/strong&gt; for extra expressiveness, and &lt;strong&gt;speaker boost on&lt;/strong&gt; for clarity.&lt;/p&gt;

&lt;p&gt;Three voices, matched to content:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Brian&lt;/strong&gt; (dramatic narrator) for glory moments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Liam&lt;/strong&gt; (energetic) for rivalry and hype&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;George&lt;/strong&gt; (poetic storyteller) for heartbreak and anthems
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;highlight js-code-highlight&quot;&gt;
&lt;pre class=&quot;highlight javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;nx&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;model_id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;eleven_multilingual_v2&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;voice_settings&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;stability&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;similarity_boost&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;use_speaker_boost&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;highlight__panel js-actions-panel&quot;&gt;
&lt;div class=&quot;highlight__panel-action js-fullscreen-code-action&quot;&gt;
    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-on&quot;&gt;&lt;title&gt;Enter fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20px&quot; height=&quot;20px&quot; viewBox=&quot;0 0 24 24&quot; class=&quot;highlight-action crayons-icon highlight-action--fullscreen-off&quot;&gt;&lt;title&gt;Exit fullscreen mode&lt;/title&gt;
    &lt;path d=&quot;M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



&lt;h3&gt;
  &lt;a name=&quot;other-decisions&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#other-decisions&quot;&gt;
  &lt;/a&gt;
  Other Decisions
&lt;/h3&gt;

&lt;p&gt;I used flag images from flagcdn.com instead of emoji because emoji flags don&#39;t render on Windows for England, Wales, and Scotland (they show as black rectangles). Learned that the hard way after building the whole grid with emoji first.&lt;/p&gt;

&lt;p&gt;Dark theme with gold/fire accents because... it&#39;s a passion app. Light mode would feel wrong.&lt;/p&gt;

&lt;h3&gt;
  &lt;a name=&quot;what-id-add&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#what-id-add&quot;&gt;
  &lt;/a&gt;
  What I&#39;d Add
&lt;/h3&gt;

&lt;p&gt;If I had another weekend: social sharing (let people post their clips), match-day mode that checks today&#39;s fixtures and auto-suggests hype content, and a gallery so you can hear what other fans generated. PRs welcome if you want to tackle any of these.&lt;/p&gt;


&lt;hr&gt;

&lt;h2&gt;
  &lt;a name=&quot;prize-categories&quot; href=&quot;https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh#prize-categories&quot;&gt;
  &lt;/a&gt;
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Use of Google AI&lt;/strong&gt;: Gemini 2.0 Flash with temperature 0.9 and detailed cultural prompting. Produces scripts with real player names, real rivalry history, and team-specific fan culture for 48 nations. Three distinct writing styles (narrator, commentator, poet) via style instructions in the prompt.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Use of ElevenLabs&lt;/strong&gt;: Multilingual v2 model with deliberately tuned settings. Stability at 0.4 for emotional range (default sounds robotic for sports content). Style at 0.6 for expressiveness. Three voices paired to content types. The output sounds like broadcast commentary, not text-to-speech.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


            </description><link>https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh</link><guid isPermaLink="false">https://dev.to/sarvar_04/passioncast-i-built-an-ai-hype-man-for-world-cup-fans-using-gemini-elevenlabs-1ilh</guid><pubDate>Sun, 12 Jul 2026 16:57:52 GMT</pubDate><author>Sarvar Nadaf</author><enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe7ymja8mofpdt9902qt5.png" type="image/jpeg"></enclosure><category>devchallenge</category><category>weekendchallenge</category></item></channel></rss>