<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Radi-dev</title>
    <description>The latest articles on DEV Community by Radi-dev (@radidev).</description>
    <link>https://dev.to/radidev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F772790%2Ffb0feda3-46e8-4acb-82a1-08e52ed72cbf.jpeg</url>
      <title>DEV Community: Radi-dev</title>
      <link>https://dev.to/radidev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/radidev"/>
    <language>en</language>
    <item>
      <title>Please Don’t Use HTMX</title>
      <dc:creator>Radi-dev</dc:creator>
      <pubDate>Mon, 05 Jan 2026 14:43:50 +0000</pubDate>
      <link>https://dev.to/radidev/please-dont-use-htmx-467i</link>
      <guid>https://dev.to/radidev/please-dont-use-htmx-467i</guid>
      <description>&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; a post about hating HTMX.&lt;br&gt;&lt;br&gt;
HTMX is actually very good.&lt;/p&gt;

&lt;p&gt;This is a post about &lt;strong&gt;why I don’t use it yet&lt;/strong&gt;, even though people keep telling me to.&lt;/p&gt;

&lt;p&gt;The title is a little tricky on purpose.&lt;br&gt;&lt;br&gt;
A better title would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Please Stop Telling Me to Use HTMX&lt;/strong&gt;, or
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Why I’m Not Using HTMX (Even Though It’s Cool)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  What People Say About HTMX
&lt;/h2&gt;

&lt;p&gt;When people talk about HTMX, they usually say things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“You don’t need a frontend framework anymore”&lt;/li&gt;
&lt;li&gt;“Just write HTML on the server”&lt;/li&gt;
&lt;li&gt;“Less JavaScript is better”&lt;/li&gt;
&lt;li&gt;“It’s simpler and cleaner”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly, that sounds great.&lt;/p&gt;

&lt;p&gt;If you are tired of complicated tools, HTMX feels like a breath of fresh air.&lt;/p&gt;

&lt;p&gt;So I tried it.&lt;/p&gt;


&lt;h2&gt;
  
  
  The First Problem: Seeing Changes Is Slow
&lt;/h2&gt;

&lt;p&gt;When I use modern frontend tools, this is what happens:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I save my file → the screen updates right away
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That feels nice.&lt;/p&gt;

&lt;p&gt;With Go + HTMX, it usually feels like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I save my file
→ I stop the server
→ I start the server again
→ I refresh the browser
→ now I see the change
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s a lot of steps for one tiny change.&lt;/p&gt;

&lt;p&gt;Yes, there are tools that can help:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tools that restart the server for you&lt;/li&gt;
&lt;li&gt;tools that refresh the browser for you&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But you still have to &lt;strong&gt;set all that up yourself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Modern frontend tools already do this for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Fk9l3a8hg3y7w4iur4rov.png" class="article-body-image-wrapper"&gt;&lt;img src="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%2Fk9l3a8hg3y7w4iur4rov.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Tailwind Problem (Why My Styles Don’t Show Up)
&lt;/h2&gt;

&lt;p&gt;While styling with Tailwind, I prefer to build only the classes I actually use in the specific project to avoid packaging the full CSS bundle.&lt;/p&gt;

&lt;p&gt;But Tailwind only knows about styles &lt;strong&gt;that already exist&lt;/strong&gt; at the time it runs. Meaning that after the initial build, further changes down the line may be prone to containing undefined CSS classes.&lt;/p&gt;

&lt;p&gt;With HTMX:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML is split into many small pieces&lt;/li&gt;
&lt;li&gt;some parts only appear sometimes&lt;/li&gt;
&lt;li&gt;new styles are added later&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So this happens a lot:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Why doesn’t my new style work?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The answer is usually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tailwind didn’t see that style&lt;/li&gt;
&lt;li&gt;you forgot to rebuild the CSS&lt;/li&gt;
&lt;li&gt;or the style only appears sometimes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You &lt;em&gt;can&lt;/em&gt; fix this — but you must:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run Tailwind in watch mode&lt;/li&gt;
&lt;li&gt;configure it carefully&lt;/li&gt;
&lt;li&gt;remember special rules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s more thinking than people admit.&lt;/p&gt;




&lt;h2&gt;
  
  
  HTML Starts Simple… Then Gets Complicated
&lt;/h2&gt;

&lt;p&gt;HTMX makes simple things very nice.&lt;/p&gt;

&lt;p&gt;A small button looks clean and easy.&lt;/p&gt;

&lt;p&gt;But real apps are not small.&lt;/p&gt;

&lt;p&gt;Real apps have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;loading states&lt;/li&gt;
&lt;li&gt;error messages&lt;/li&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;li&gt;conditions&lt;/li&gt;
&lt;li&gt;reused pieces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So your HTML slowly becomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;longer&lt;/li&gt;
&lt;li&gt;harder to read&lt;/li&gt;
&lt;li&gt;full of logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You didn’t remove complexity.&lt;br&gt;&lt;br&gt;
You just moved it into HTML.&lt;/p&gt;

&lt;p&gt;That’s not bad — it’s just something to know.&lt;/p&gt;




&lt;h2&gt;
  
  
  “The Old Web” Wasn’t Always Better
&lt;/h2&gt;

&lt;p&gt;People say HTMX feels like the “old web”.&lt;/p&gt;

&lt;p&gt;But the old web:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;refreshed the whole page a lot&lt;/li&gt;
&lt;li&gt;felt slow&lt;/li&gt;
&lt;li&gt;still used JavaScript when things got hard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;HTMX isn’t the old web.&lt;/p&gt;

&lt;p&gt;It’s something new that mixes old ideas with new ones.&lt;/p&gt;

&lt;p&gt;And mixing things always comes with tradeoffs.&lt;/p&gt;




&lt;h2&gt;
  
  
  People Recommend HTMX Too Quickly
&lt;/h2&gt;

&lt;p&gt;One thing that bothers me is this:&lt;/p&gt;

&lt;p&gt;You say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’m struggling with this problem”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Someone replies:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Just use HTMX”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No questions.&lt;br&gt;&lt;br&gt;
No context.&lt;br&gt;&lt;br&gt;
No thinking.&lt;/p&gt;

&lt;p&gt;HTMX is not magic.&lt;br&gt;
It’s a tool.&lt;/p&gt;

&lt;p&gt;And tools are good only &lt;strong&gt;when they fit the job&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Don’t Use HTMX (Yet)
&lt;/h2&gt;

&lt;p&gt;I don’t avoid HTMX because it’s bad.&lt;/p&gt;

&lt;p&gt;I avoid it &lt;em&gt;for now&lt;/em&gt; because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I like seeing changes instantly&lt;/li&gt;
&lt;li&gt;restarting things breaks my flow&lt;/li&gt;
&lt;li&gt;HTML gets messy faster than expected&lt;/li&gt;
&lt;li&gt;styling takes more care than advertised&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That doesn’t mean HTMX is wrong.&lt;/p&gt;

&lt;p&gt;It means &lt;strong&gt;it’s not always the best choice&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  When HTMX Is Actually Great
&lt;/h2&gt;

&lt;p&gt;HTMX is amazing for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;forms&lt;/li&gt;
&lt;li&gt;dashboards&lt;/li&gt;
&lt;li&gt;admin pages&lt;/li&gt;
&lt;li&gt;internal tools&lt;/li&gt;
&lt;li&gt;simple business apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If that’s what you’re building, you might love it.&lt;/p&gt;

&lt;p&gt;If you’re building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;very interactive pages&lt;/li&gt;
&lt;li&gt;fancy animations&lt;/li&gt;
&lt;li&gt;fast-changing designs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might not.&lt;/p&gt;

&lt;p&gt;And that’s okay.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Point
&lt;/h2&gt;

&lt;p&gt;This post is not saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Don’t use HTMX.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Please stop acting like HTMX is the answer to everything.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’ll probably use &lt;strong&gt;again&lt;/strong&gt; HTMX one day.&lt;/p&gt;

&lt;p&gt;Just not because someone told me I should.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building Open Source for 100 days</title>
      <dc:creator>Radi-dev</dc:creator>
      <pubDate>Thu, 27 Jul 2023 06:02:53 +0000</pubDate>
      <link>https://dev.to/radidev/building-open-source-for-100-days-he8</link>
      <guid>https://dev.to/radidev/building-open-source-for-100-days-he8</guid>
      <description>&lt;p&gt;I'm overwhelmed, I just made an announcement on Twitter about my intention to embark on the 100 days of code challenge starting 1st August. I intend to build fully functional open source projects during the course of the challenge .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;br&gt;
Why not?&lt;/p&gt;

&lt;p&gt;I  found myself feeling demotivated of recent due to high levels of unproductivity, then I  stumbled upon a post talking about the 100 days of code challenge. Honestly, this is not the first time I'm learning about the challenge, but it hit different this time around because I thought "why not?"; My social media presence is very low. In fact, my total online presence is low; &lt;a href="https://github.com/Radi-dev" rel="noopener noreferrer"&gt;My Github &lt;/a&gt; activity is below inspiring. This, I  thought, is the best time to start. See how far I go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/radi_dev/status/1684422490678759429?s=61&amp;amp;t=XKS8vD5JNdx3m6lFOsrGIQ" rel="noopener noreferrer"&gt;https://twitter.com/radi_dev/status/1684422490678759429?s=61&amp;amp;t=XKS8vD5JNdx3m6lFOsrGIQ&lt;/a&gt;&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
