<?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: Arvin Prince</title>
    <description>The latest articles on DEV Community by Arvin Prince (@prince_4rvin).</description>
    <link>https://dev.to/prince_4rvin</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%2F3969971%2F14dd4141-304f-465b-880e-6e62346c2c2c.JPG</url>
      <title>DEV Community: Arvin Prince</title>
      <link>https://dev.to/prince_4rvin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prince_4rvin"/>
    <language>en</language>
    <item>
      <title>I built a hardware-inspired UI component library in pure Vanilla JS — here's how</title>
      <dc:creator>Arvin Prince</dc:creator>
      <pubDate>Mon, 08 Jun 2026 23:24:30 +0000</pubDate>
      <link>https://dev.to/prince_4rvin/i-built-a-hardware-inspired-ui-component-library-in-pure-vanilla-js-heres-how-2hcn</link>
      <guid>https://dev.to/prince_4rvin/i-built-a-hardware-inspired-ui-component-library-in-pure-vanilla-js-heres-how-2hcn</guid>
      <description>&lt;p&gt;Most UI components feel like UI components.&lt;/p&gt;

&lt;p&gt;You click a toggle and it moves. Fine. It works. But it doesn't &lt;em&gt;feel&lt;/em&gt; like anything.&lt;/p&gt;

&lt;p&gt;I wanted to change that.&lt;/p&gt;




&lt;h2&gt;
  
  
  The idea
&lt;/h2&gt;

&lt;p&gt;I've always been drawn to physical interfaces — the satisfying click of a mechanical switch, the weight of a hardware knob, the way a button depresses when you press it.&lt;/p&gt;

&lt;p&gt;Web UI almost never captures that. Everything is flat, instant, weightless.&lt;/p&gt;

&lt;p&gt;So I started building components that feel like they exist in the real world. Not skeuomorphic in the old iOS 6 sense — but tactile. Depth. Shadow. Resistance.&lt;/p&gt;

&lt;p&gt;That became &lt;strong&gt;Aetheric UI&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Vanilla JS
&lt;/h2&gt;

&lt;p&gt;No React. No Tailwind. No build step.&lt;/p&gt;

&lt;p&gt;Not because frameworks are bad — they're great for what they do. But a toggle component shouldn't require a package.json. It should be a file you drop in and it works.&lt;/p&gt;

&lt;p&gt;Every component in Aetheric UI is a single file. You copy it in, it runs. That's it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Wave 1: Toggles and a Button
&lt;/h2&gt;

&lt;p&gt;The first drop is five components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Depression Toggle&lt;/strong&gt; — a circular switch that sits pressed into the surface. When it's on, a small amber dot glows at the center. The whole thing feels sunken.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Half-Pill Toggle&lt;/strong&gt; — a pill-shaped switch split into two halves. One side is always recessed, the other raised. It mimics the feel of a physical rocker switch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sliding Toggle&lt;/strong&gt; — the most dramatic of the three. An ambient amber glow bleeds out from the left when it's active. The knob itself casts a hard shadow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Toggle Pack&lt;/strong&gt; — all three together, bundled.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hardware Button&lt;/strong&gt; — a pill-shaped container with a pressable button on the right. Press it and it fires its action. The label is fully customizable — the demo shows a text change on press, but what it does is entirely up to you.&lt;/p&gt;




&lt;h2&gt;
  
  
  What makes them different
&lt;/h2&gt;

&lt;p&gt;The depth is all CSS — layered box shadows, carefully tuned inset values, subtle gradients. No images, no SVGs, no canvas.&lt;/p&gt;

&lt;p&gt;The interactions are pure JS state. Toggle on, toggle off. The animations are CSS transitions triggered by a class swap.&lt;/p&gt;

&lt;p&gt;Every component is under 10KB. Most are closer to 4KB.&lt;/p&gt;




&lt;h2&gt;
  
  
  This is just Wave 1
&lt;/h2&gt;

&lt;p&gt;Navbars are next. Then input fields. Then cards.&lt;/p&gt;

&lt;p&gt;Each wave drops on Fridays.&lt;/p&gt;

&lt;p&gt;If you want to follow along, I'm building this in public on X and LinkedIn as &lt;strong&gt;Aetheric Labs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And if you want the components themselves — they're available now at &lt;strong&gt;&lt;a href="https://aethericlabs.lemonsqueezy.com" rel="noopener noreferrer"&gt;aethericlabs.lemonsqueezy.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with zero dependencies. Designed to feel real.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>css</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Why I built a framework-free e-commerce boilerplate in 2026</title>
      <dc:creator>Arvin Prince</dc:creator>
      <pubDate>Fri, 05 Jun 2026 14:18:46 +0000</pubDate>
      <link>https://dev.to/prince_4rvin/why-i-built-a-framework-free-e-commerce-boilerplate-in-2026-2f0n</link>
      <guid>https://dev.to/prince_4rvin/why-i-built-a-framework-free-e-commerce-boilerplate-in-2026-2f0n</guid>
      <description>&lt;p&gt;Every e-commerce starter I found came with the same problem.&lt;br&gt;
400MB of node_modules before I wrote a single line. Build pipelines to configure. Framework versions to manage. Hydration bugs to debug.&lt;br&gt;
I just wanted to ship a clean storefront fast.&lt;br&gt;
So I built one without any of it.&lt;br&gt;
What I built&lt;br&gt;
Aetheric Food Pantry Boilerplate is a production-ready headless e-commerce starter kit built with:&lt;/p&gt;

&lt;p&gt;Pure Vanilla HTML/CSS/JS — no build step, no bundler, sub-second load times&lt;br&gt;
Python backend — clean, predictable, no framework overhead&lt;br&gt;
Headless Shopify Storefront API — full product sync, cart, and checkout&lt;br&gt;
Context-aware AI shopping assistant — built in, not bolted on&lt;/p&gt;

&lt;p&gt;Zero npm dependencies in production. Drops into any stack.&lt;br&gt;
Why Vanilla JS in 2026&lt;br&gt;
The web platform is genuinely powerful now. CSS Grid, Custom Properties, Fetch API, Web Components — you don't need React to build something fast and clean anymore.&lt;br&gt;
For a food and grocery storefront specifically, the performance difference is real. Vanilla JS loads instantly. Customers don't wait.&lt;br&gt;
The AI assistant&lt;br&gt;
The shopping assistant uses retrieval over the product catalog to answer real questions — not just a chatbot wrapper. Ask it "what's gluten free" or "show me under $5" and it actually responds intelligently.&lt;br&gt;
Where to find it&lt;br&gt;
GitHub: &lt;a href="https://github.com/DeusExspiravit/aetheric-food-pantry-boilerplate" rel="noopener noreferrer"&gt;https://github.com/DeusExspiravit/aetheric-food-pantry-boilerplate&lt;/a&gt;&lt;br&gt;
Get it: [&lt;a href="https://aethericlabs.lemonsqueezy.com/checkout/buy/125b4c80-01ad-4bef-9c88-aba27a91ad31" rel="noopener noreferrer"&gt;https://aethericlabs.lemonsqueezy.com/checkout/buy/125b4c80-01ad-4bef-9c88-aba27a91ad31&lt;/a&gt;]&lt;br&gt;
Would love feedback from the dev.to community — especially on the no-framework approach. Is this something you'd use in a client project?&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>python</category>
      <category>webdev</category>
      <category>shopify</category>
    </item>
  </channel>
</rss>
