<?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: Adetayo Adeniyi</title>
    <description>The latest articles on DEV Community by Adetayo Adeniyi (@devadetayo).</description>
    <link>https://dev.to/devadetayo</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3236008%2F0d383ce4-fa73-4941-9e7b-eef2e1620e85.png</url>
      <title>DEV Community: Adetayo Adeniyi</title>
      <link>https://dev.to/devadetayo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devadetayo"/>
    <language>en</language>
    <item>
      <title>I Tried Building a Website Using Only HTML + AtomAttr</title>
      <dc:creator>Adetayo Adeniyi</dc:creator>
      <pubDate>Sat, 03 Oct 2026 14:36:55 +0000</pubDate>
      <link>https://dev.to/devadetayo/i-tried-building-a-website-using-only-html-atomattr-2mbp</link>
      <guid>https://dev.to/devadetayo/i-tried-building-a-website-using-only-html-atomattr-2mbp</guid>
      <description>&lt;p&gt;What happens when you try to build a real website without writing a bunch of CSS classes?&lt;/p&gt;

&lt;p&gt;I decided to find out.&lt;/p&gt;

&lt;p&gt;For this experiment, I used AtomAttr, my attribute-first CSS framework.&lt;/p&gt;

&lt;p&gt;Instead of writing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"grid grid-cols-3 gap-4 p-6"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I used:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;grid&lt;/span&gt; &lt;span class="na"&gt;grid-cols=&lt;/span&gt;&lt;span class="s"&gt;"3"&lt;/span&gt; &lt;span class="na"&gt;gap=&lt;/span&gt;&lt;span class="s"&gt;"4"&lt;/span&gt; &lt;span class="na"&gt;p=&lt;/span&gt;&lt;span class="s"&gt;"6"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The interesting part wasn't just the syntax.&lt;/p&gt;

&lt;p&gt;I wanted to see whether this approach actually remained practical once the website became more complicated.&lt;/p&gt;

&lt;p&gt;Responsive layouts.&lt;/p&gt;

&lt;p&gt;Spacing.&lt;/p&gt;

&lt;p&gt;Colors.&lt;/p&gt;

&lt;p&gt;States.&lt;/p&gt;

&lt;p&gt;Components.&lt;/p&gt;

&lt;p&gt;Everything had to work together.&lt;/p&gt;

&lt;p&gt;The experiment also became one of the videos I'm making while documenting my journey with AtomAttr on YouTube.&lt;/p&gt;

&lt;p&gt;Sometimes building a framework is easy.&lt;/p&gt;

&lt;p&gt;Getting people to care about it is the hard part.&lt;/p&gt;

&lt;p&gt;That's the experiment I'm running now.&lt;br&gt;
check  out the documentation&lt;br&gt;
&lt;a href="https://devadetayo.github.io/atomattr" rel="noopener noreferrer"&gt;https://devadetayo.github.io/atomattr&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Built a CSS Framework Without Using Classes</title>
      <dc:creator>Adetayo Adeniyi</dc:creator>
      <pubDate>Sat, 03 Oct 2026 14:33:13 +0000</pubDate>
      <link>https://dev.to/devadetayo/i-built-a-css-framework-without-using-classes-3542</link>
      <guid>https://dev.to/devadetayo/i-built-a-css-framework-without-using-classes-3542</guid>
      <description>&lt;p&gt;I've been working on a CSS framework called AtomAttr, but I didn't want to build another framework that simply followed the same patterns everyone already knows.&lt;/p&gt;

&lt;p&gt;So I tried something different.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"p-4 bg-blue-500 flex items-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;AtomAttr lets you write:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;p=&lt;/span&gt;&lt;span class="s"&gt;"4"&lt;/span&gt; &lt;span class="na"&gt;bg=&lt;/span&gt;&lt;span class="s"&gt;"blue-500"&lt;/span&gt; &lt;span class="na"&gt;flex&lt;/span&gt; &lt;span class="na"&gt;items-center&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The idea is simple: use HTML attributes to describe your styles.&lt;/p&gt;

&lt;p&gt;I've been building the framework, testing the syntax, adding responsive variants and states, and figuring out how to make the runtime actually work.&lt;/p&gt;

&lt;p&gt;AtomAttr is now released as v1.0.1, and I'm taking the project beyond just "I built something."&lt;/p&gt;

&lt;p&gt;I'm trying to find out whether other developers actually want to use it.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/devadetayo/atomattr" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;br&gt;
Docs: &lt;a href="https://devadetayo.github.io/atomattr" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the beginning of the experiment.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>frontend</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Adetayo Adeniyi</dc:creator>
      <pubDate>Sat, 29 Nov 2025 16:17:32 +0000</pubDate>
      <link>https://dev.to/devadetayo/-5f5j</link>
      <guid>https://dev.to/devadetayo/-5f5j</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/devadetayo/stop-fighting-your-build-tools-meet-atomattr-4bko" class="crayons-story__hidden-navigation-link"&gt;Stop fighting your build tools. Meet AtomAttr.&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/devadetayo" class="crayons-avatar  crayons-avatar--l  "&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3236008%2F0d383ce4-fa73-4941-9e7b-eef2e1620e85.png" alt="devadetayo profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/devadetayo" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Adetayo Adeniyi
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Adetayo Adeniyi
                
                
              
              &lt;div id="story-author-preview-content-3069129" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/devadetayo" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3236008%2F0d383ce4-fa73-4941-9e7b-eef2e1620e85.png" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Adetayo Adeniyi&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/devadetayo/stop-fighting-your-build-tools-meet-atomattr-4bko" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Nov 28 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/devadetayo/stop-fighting-your-build-tools-meet-atomattr-4bko" id="article-link-3069129"&gt;
          Stop fighting your build tools. Meet AtomAttr.
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/javascript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;javascript&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/css"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;css&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/devadetayo/stop-fighting-your-build-tools-meet-atomattr-4bko" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/devadetayo/stop-fighting-your-build-tools-meet-atomattr-4bko#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Stop fighting your build tools. Meet AtomAttr.</title>
      <dc:creator>Adetayo Adeniyi</dc:creator>
      <pubDate>Fri, 28 Nov 2025 20:51:16 +0000</pubDate>
      <link>https://dev.to/devadetayo/stop-fighting-your-build-tools-meet-atomattr-4bko</link>
      <guid>https://dev.to/devadetayo/stop-fighting-your-build-tools-meet-atomattr-4bko</guid>
      <description>&lt;p&gt;For years, frontend development has been dominated by the build step. Webpack, Rollup, Vite, PostCSS... the list goes on.&lt;/p&gt;

&lt;p&gt;While tools like Tailwind CSS revolutionized how we style apps, they introduced a heavy dependency on Node.js environments. If you are a backend developer (PHP, Python, Go) or just want to prototype a quick idea, setting up a full frontend toolchain feels like overkill.&lt;/p&gt;

&lt;p&gt;I asked myself: &lt;strong&gt;What if you could just write HTML?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;&lt;a href="https://devadetayo.github.io/quanta-atomattr/" rel="noopener noreferrer"&gt;AtomAttr&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚛️ What is AtomAttr?
&lt;/h2&gt;

&lt;p&gt;AtomAttr is a &lt;strong&gt;runtime CSS engine&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of compiling your CSS at build time, it compiles it in the browser, instantly. It uses a &lt;code&gt;MutationObserver&lt;/code&gt; to watch your DOM and injects atomic CSS rules only for the attributes you actually use.&lt;/p&gt;

&lt;p&gt;It weighs less than &lt;strong&gt;10kb&lt;/strong&gt;, has &lt;strong&gt;zero dependencies&lt;/strong&gt;, and requires &lt;strong&gt;no config&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ How it works
&lt;/h2&gt;

&lt;p&gt;You drop one script tag in your header. That's it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script src="[https://unpkg.com/quanta-atomattr/dist/atomattr.min.js](https://unpkg.com/quanta-atomattr/dist/atomattr.min.js)" defer&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, you style using attributes instead of classes:&lt;/p&gt;

&lt;p&gt;HTML&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div flex center h="screen" bg="slate-900"&amp;gt;
    &amp;lt;div bg="white" p="8" radius="xl" hover-scale="1.05" transition="all"&amp;gt;
        &amp;lt;h1 text="indigo-600" size="2rem"&amp;gt;Hello World&amp;lt;/h1&amp;gt;
        &amp;lt;p text="slate-500"&amp;gt;No build step required.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Features at a glance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atomic Syntax: p="4", m="auto", flex, grid.&lt;/li&gt;
&lt;li&gt;Responsive: Mobile-first breakpoints (md-, lg-, xl-).&lt;/li&gt;
&lt;li&gt;Stateful: Built-in interaction states (hover-, focus-, active-).&lt;/li&gt;
&lt;li&gt;Dark Mode: Native support via dark- prefix.&lt;/li&gt;
&lt;li&gt;Arbitrary Values: Need a specific width? Just write w="350px". The engine handles it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🚀 Why Runtime?&lt;br&gt;
"Isn't runtime CSS slow?"&lt;/p&gt;

&lt;p&gt;Actually, no. AtomAttr uses CSSStyleSheet.insertRule(), which modifies the browser's internal CSSOM directly. It does not parse text or trigger heavy layout thrashing like older methods. The performance impact is negligible (sub-10ms) for even complex pages.&lt;/p&gt;

&lt;p&gt;🛠️ Try it out&lt;br&gt;
I built a playground where you can test the engine live without leaving your browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devadetayo.github.io/atomattr/playground.html" rel="noopener noreferrer"&gt;Live Playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devadetayo.github.io/atomattr/docs.html" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/devadetayo/atomattr" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm looking for feedback from the community. If you hate build steps as much as I do, give AtomAttr a spin and let me know what you think!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
