<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Thiago Bertoldi]]></title><description><![CDATA[Thiago Bertoldi]]></description><link>https://thiagobertoldi.com</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 10:50:24 GMT</lastBuildDate><atom:link href="https://thiagobertoldi.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Overcoming the Urge to Over-Engineer: My Blog Stack]]></title><description><![CDATA[starting my blog with some meta commentary
I always wanted to start registering my thoughts and explorations in some sort of live log that I could share with anyone else interested in the same stuff. That need, of course, pushed me in the direction o...]]></description><link>https://thiagobertoldi.com/overcoming-the-urge-to-over-engineer-my-blog-stack</link><guid isPermaLink="true">https://thiagobertoldi.com/overcoming-the-urge-to-over-engineer-my-blog-stack</guid><category><![CDATA[Blogging]]></category><category><![CDATA[Hashnode]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[General Programming]]></category><dc:creator><![CDATA[Thiago Bertoldi]]></dc:creator><pubDate>Mon, 29 Dec 2025 01:25:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1766971239196/a4f16a51-be40-44d7-bddb-3ff26821ff5e.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>starting my blog with some meta commentary</em></p>
<p>I always wanted to start registering my thoughts and explorations in some sort of live log that I could share with anyone else interested in the same stuff. That need, of course, pushed me in the direction of writing a blog.</p>
<p>The thing is, and people who know me can confirm (if you don’t know me, nice to meet you!): I’m usually extremely pedantic. It is like an innate skill of transforming simple thoughts into overly convoluted expressions. And that goes without saying: I love doing this. If you are in a conversation with me and notice a smirk forming on my face, you can be 100% sure that I’m about to place a very weird, out-of-place word in the middle of the next sentence I’m saying.</p>
<p>Well, without further ado, let’s check how this journey went.</p>
<h2 id="heading-getting-started">Getting Started</h2>
<p>As a software engineer who, at all times, wants to look cool doing whatever I do, I decided that simply creating a GitHub page with my name would not be enough. No. I needed to host my blog on some non-mainstream platform (Codeberg, I was thinking about you), but I was immediately discouraged by the amount of work I would have to put in before writing a single sentence. I mean, it is cool doing things <em>because I can</em>, but it is also not so cool to learn a very disposable skill just to satisfy my need of being different. That, of course, led me to a conversation with my friend Gemini Pro.</p>
<p>Don’t get me wrong, I explored some of the weird “all under my responsibility” possibilities. After letting the first agent that actually worked work for a while (more about that in some future blog post), I was pretty much convinced that:</p>
<ul>
<li><p>I didn’t want to write anything with <strong>Astro</strong>.</p>
</li>
<li><p><strong>Hugo</strong> was super cool but too niche for me.</p>
</li>
<li><p>Vibe coding a whole blog with a free model in <strong>OpenCode</strong> is pretty much less than ideal.</p>
</li>
<li><p>I really didn’t want to write a CI/CD.</p>
</li>
<li><p>I had absolutely no reason to hide the fact that I’m a lazy person.</p>
</li>
</ul>
<p>Well, awesome learnings so far!</p>
<p>Back to my conversation with my dear friend Gemini Pro, he suggested the following:</p>
<blockquote>
<p>Why don’t you just buy a domain and then create a hashnode blog, linking it to the domain</p>
</blockquote>
<p><em>I’m obviously paraphrasing Gemini</em></p>
<p>Yeah, that’s a good idea. Why don’t I do that?</p>
<p>Well, because I didn’t know anything about that. Time for some <s>Googling</s> extra Gemini conversations.</p>
<h2 id="heading-buying-a-domain">Buying a Domain</h2>
<p>Cloudflare is the cheapest. Period. I looked at other platforms, but if I’m being completely honest, paying even 50 cents of a dollar more for anything is physically hurtful for me. Kudos to Porkbun for the funny name. Kudos to the Brazilian government (?) for the extremely cheap (and irrelevant, sorry) .br domains in “registro.br”. But I had to stick to a provider that would allow me to buy a .com or .net or .dev domain. And since I have no plans of being a developer (or an internet user) for the rest of my life, .com it is.</p>
<p>After buying the domain, I would need to use it to redirect any visitors to a web page. Since creating everything from the ground up was a strong no for me, I turned to Hashnode.</p>
<h2 id="heading-creating-a-hashnode-blog">Creating a Hashnode blog</h2>
<p>Well, well, well. Finally something free and convenient. Extremely convenient. All I needed to do was create a catchy tagline and bio (pro tip: ask an AI to do that for you), and I was finally done. Well, kind of. I still had to configure my domain and blog integration (steps that I simply can’t recall, since I was guided by Gemini in the whole process), but eventually, everything worked just fine, as you can attest by looking at the URL in your browser.</p>
<h2 id="heading-tldr">TLDR</h2>
<ul>
<li><p>Buy a domain with your name, preferably ending with “.com”, “.net”, or “.dev”. Cloudflare is, by my experience, your cheapest alternative.</p>
</li>
<li><p>Forget about static site generators: a simple Hashnode account will probably tackle all your needs. Bridge your domain to your blog and focus on what really matters: the content.</p>
</li>
<li><p>If you want to look cooler than me, ignore my tips and do things in the hardest way possible. And if you do, please write a blog post about that. I’m eager to learn how other people handle this “digital presence” stuff.</p>
</li>
</ul>
<p>Thank you for reading!</p>
<p><em>AI use disclaimer: Image Generation (Gemini), grammar/orthography (QuillBot).</em></p>
]]></content:encoded></item></channel></rss>