<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>cassiobotaro</title><link>https://cassiobotaro.dev/en/</link><description>Recent content on cassiobotaro</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 16 Jul 2026 09:28:56 -0300</lastBuildDate><atom:link href="https://cassiobotaro.dev/en/index.xml" rel="self" type="application/rss+xml"/><item><title>Design docs, part 5: tools, references, and a demo</title><link>https://cassiobotaro.dev/en/posts/design-docs-part-5/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://cassiobotaro.dev/en/posts/design-docs-part-5/</guid><description>&lt;p&gt;&lt;img src="https://cassiobotaro.dev/images/design-docs-5.png" alt="Design docs (part 5)" title="Design docs"&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve reached the last part of the series. We&amp;rsquo;ve already looked at what a design doc is, how to fill in each section, and how it lives over time. What&amp;rsquo;s left is the most practical part, the one that shows what to write with, where to dig deeper, and how an AI agent can hand you a first draft.&lt;/p&gt;
&lt;h2 id="tools-for-writing"&gt;
 Tools for writing
 &lt;a class="heading-link" href="#tools-for-writing"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Confluence.&lt;/strong&gt; Atlassian&amp;rsquo;s corporate wiki for creating documents with team collaboration. It integrates with Jira and Bitbucket.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google Docs.&lt;/strong&gt; Online and free, with real-time collaborative editing and easy sharing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub.&lt;/strong&gt; It hosts code and also Markdown documents, with collaborative editing through Pull Requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tools-for-diagrams"&gt;
 Tools for diagrams
 &lt;a class="heading-link" href="#tools-for-diagrams"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://mermaid.js.org" class="external-link" target="_blank" rel="noopener"&gt;Mermaid&lt;/a&gt;.&lt;/strong&gt; Diagrams as text: sequence, use cases, C4, and more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://sequencediagram.org" class="external-link" target="_blank" rel="noopener"&gt;Sequence Diagram&lt;/a&gt;.&lt;/strong&gt; Dedicated to sequence diagrams, textual and quick.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://structurizr.com" class="external-link" target="_blank" rel="noopener"&gt;Structurizr&lt;/a&gt;.&lt;/strong&gt; Diagrams as code: several C4 architecture diagrams from a single model.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The C4 and sequence diagrams that show up in &lt;a href="https://cassiobotaro.dev/posts/design-docs-parte-2/" &gt;part 2&lt;/a&gt; were made with tools like these.&lt;/p&gt;</description></item><item><title>Design docs, part 4: lifecycle, when not to write one, and other documents</title><link>https://cassiobotaro.dev/en/posts/design-docs-part-4/</link><pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate><guid>https://cassiobotaro.dev/en/posts/design-docs-part-4/</guid><description>&lt;p&gt;&lt;img src="https://cassiobotaro.dev/images/design-docs-4.png" alt="Design docs (part 4)" title="Design docs"&gt;&lt;/p&gt;
&lt;p&gt;In the previous parts we filled the document out from top to bottom. Now the focus shifts: how a design doc lives over time, when &lt;em&gt;not&lt;/em&gt; to write one, and which other documents travel alongside it.&lt;/p&gt;
&lt;h2 id="the-lifecycle"&gt;
 The lifecycle
 &lt;a class="heading-link" href="#the-lifecycle"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;A design doc is &lt;strong&gt;living documentation&lt;/strong&gt;. It isn&amp;rsquo;t born complete, and it doesn&amp;rsquo;t die once the code ships. The typical path looks like this:&lt;/p&gt;</description></item><item><title>Design docs, part 3: alternatives, cross-cutting concerns, and more</title><link>https://cassiobotaro.dev/en/posts/design-docs-part-3/</link><pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate><guid>https://cassiobotaro.dev/en/posts/design-docs-part-3/</guid><description>&lt;p&gt;&lt;img src="https://cassiobotaro.dev/images/design-docs-3.png" alt="Design docs (part 3)" title="Design docs"&gt;&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://cassiobotaro.dev/posts/design-docs-parte-2/" &gt;part 2&lt;/a&gt; we described and justified the design of the solution. But a good document also shows the paths you &lt;strong&gt;didn&amp;rsquo;t&lt;/strong&gt; take and what your solution affects beyond your own team.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ A quick reminder: the sections that follow are examples and recommendations, not a mandatory template.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="alternatives-considered"&gt;
 Alternatives considered
 &lt;a class="heading-link" href="#alternatives-considered"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Here you list the alternative systems or solutions you evaluated, explaining the trade-offs and the reasoning behind the final choice.&lt;/p&gt;</description></item><item><title>Design docs, part 2: the design</title><link>https://cassiobotaro.dev/en/posts/design-docs-part-2/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://cassiobotaro.dev/en/posts/design-docs-part-2/</guid><description>&lt;p&gt;&lt;img src="https://cassiobotaro.dev/images/design-docs-2.png" alt="Design docs (part 2)" title="Design docs"&gt;&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://cassiobotaro.dev/posts/design-docs-part-1/" &gt;part 1&lt;/a&gt; we put together the beginning of the design doc for our fictional case, the Inventory Replenishment Recommender: headers, overview, scope and context, goals, and non-goals. Now we get to the heart of the document.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ As always, the sections here are examples and recommendations, not a mandatory template.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="the-design"&gt;
 The design
 &lt;a class="heading-link" href="#the-design"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;A quick clarification: the &amp;ldquo;design&amp;rdquo; isn&amp;rsquo;t a single section, it&amp;rsquo;s a set of them. Depending on the project, it unfolds into several parts, each with its own heading:&lt;/p&gt;</description></item><item><title>Design docs, part 1: what they are and how to start the document</title><link>https://cassiobotaro.dev/en/posts/design-docs-part-1/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://cassiobotaro.dev/en/posts/design-docs-part-1/</guid><description>&lt;p&gt;&lt;img src="https://cassiobotaro.dev/images/design-docs-1.png" alt="Design docs (part 1)" title="Design docs"&gt;&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;design doc&lt;/strong&gt; is a relatively informal document that the main author (or authors) of a software system writes before diving into the coding project. It captures the high-level implementation strategy and the key design decisions, with an emphasis on the trade-offs weighed along the way. In other words, it&amp;rsquo;s where we record the rationale behind the chosen solution, the alternatives, the goals, and the architecture, in a clear and shareable way, before spending time writing code.&lt;/p&gt;</description></item></channel></rss>