<?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: Umar Alimov</title>
    <description>The latest articles on DEV Community by Umar Alimov (@al1mov77).</description>
    <link>https://dev.to/al1mov77</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%2F4211381%2Fa9598c17-f754-4d3d-87bb-e88bfadc8e98.png</url>
      <title>DEV Community: Umar Alimov</title>
      <link>https://dev.to/al1mov77</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/al1mov77"/>
    <language>en</language>
    <item>
      <title>Building NexoreUI v2.0: An Open-Source React 19 &amp; Tailwind CSS v4 Component Library, CLI, and Visual Builder</title>
      <dc:creator>Umar Alimov</dc:creator>
      <pubDate>Tue, 27 Oct 2026 16:19:00 +0000</pubDate>
      <link>https://dev.to/al1mov77/building-nexoreui-v20-an-open-source-react-19-tailwind-css-v4-component-library-cli-and-3bgp</link>
      <guid>https://dev.to/al1mov77/building-nexoreui-v20-an-open-source-react-19-tailwind-css-v4-component-library-cli-and-3bgp</guid>
      <description>&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvmr6izckjhbfhl0qgt5o.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvmr6izckjhbfhl0qgt5o.png" alt=" " width="800" height="451"&gt;&lt;/a&gt;&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F37xn40swgfezmif24vdh.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F37xn40swgfezmif24vdh.jpg" alt=" " width="640" height="640"&gt;&lt;/a&gt;Over the past few months, I have been working on &lt;strong&gt;NexoreUI v2.0&lt;/strong&gt; — a component library, CLI, and template studio built for &lt;strong&gt;Next.js 15, React 19, Tailwind CSS v4, Radix UI, and Framer Motion&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Documentation &amp;amp; Playground:&lt;/strong&gt; &lt;a href="https://www.nexoreui.site" rel="noopener noreferrer"&gt;nexoreui.site&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Templates Studio:&lt;/strong&gt; &lt;a href="https://www.nexoreui.site/templates" rel="noopener noreferrer"&gt;nexoreui.site/templates&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual Component Sandbox:&lt;/strong&gt; &lt;a href="https://www.nexoreui.site/nexoremake" rel="noopener noreferrer"&gt;nexoreui.site/nexoremake&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository (MIT):&lt;/strong&gt; &lt;a href="https://github.com/Al1mov77/NexoreUI" rel="noopener noreferrer"&gt;github.com/Al1mov77/NexoreUI&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is a breakdown of why I built v2.0, the architecture decisions behind it, and what is included right now.&lt;/p&gt;


&lt;h2&gt;
  
  
  1. The Problem: Why Modern UI Templates Started Looking Identical
&lt;/h2&gt;

&lt;p&gt;If you browse recent SaaS landing pages or AI templates, you quickly notice the same patterns repeated everywhere:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heavy purple/rainbow blur blobs and glowing borders on every card&lt;/li&gt;
&lt;li&gt;Decorative pill badges above every single heading&lt;/li&gt;
&lt;li&gt;Animations that ignore &lt;code&gt;prefers-reduced-motion&lt;/code&gt; and hurt performance&lt;/li&gt;
&lt;li&gt;Hardcoded hex colors that break when switching between light and dark themes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With &lt;strong&gt;NexoreUI v2.0&lt;/strong&gt;, the goal was to build a system where hierarchy comes from &lt;strong&gt;typography, proportion, 1px borders, and semantic tokens&lt;/strong&gt; — so the interface remains clear even if you view it in grayscale, while still supporting rich interactive moments when needed.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. How the Core Library &amp;amp; CLI Work (MIT Open Source)
&lt;/h2&gt;

&lt;p&gt;Instead of locking you into an opaque dependency, NexoreUI supports two workflows:&lt;/p&gt;
&lt;h3&gt;
  
  
  Workflow A: Copy-Paste / CLI Source Ownership (Recommended)
&lt;/h3&gt;

&lt;p&gt;You can initialize &lt;code&gt;nexore.json&lt;/code&gt; in your project and pull the exact TypeScript component source into your &lt;code&gt;@/components/ui&lt;/code&gt; folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx nexoreui init
npx nexoreui add button card dialog tabs table
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or scaffold a new Next.js / Vite + Tailwind CSS v4 project from scratch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx nexoreui create my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Workflow B: Standard NPM Package
&lt;/h3&gt;

&lt;p&gt;If you prefer importing components directly from &lt;code&gt;node_modules&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;nexoreui framer-motion lucide-react clsx tailwind-merge
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;Card&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CardHeader&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CardTitle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CardDescription&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;CardContent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nexoreui&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nexoreui/styles.css&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;ClusterStatusCard&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Card&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"max-w-md"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CardHeader&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CardTitle&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Production Deployment&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;CardTitle&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CardDescription&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          Primary region nodes are synced and healthy.
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;CardDescription&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;CardHeader&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CardContent&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center justify-between"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-xs font-mono uppercase tracking-wider text-muted-foreground"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          12 / 12 nodes active
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt; &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"sm"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Inspect Logs&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;CardContent&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Card&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What's in the Open-Source Core (60+ Components):
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accessible Primitives:&lt;/strong&gt; Dialogs, Selects, Tabs, Accordions, Tooltips, Checkboxes, Switches, and Sliders built on Radix UI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data &amp;amp; Workflow UI:&lt;/strong&gt; Data Tables, Command Palettes, Steppers, File Uploads, Node Flow Graphs, and AI Prompt Inputs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS v4 Native:&lt;/strong&gt; Configured around semantic CSS variables (&lt;code&gt;--background&lt;/code&gt;, &lt;code&gt;--foreground&lt;/code&gt;, &lt;code&gt;--card&lt;/code&gt;, &lt;code&gt;--border&lt;/code&gt;, &lt;code&gt;--muted&lt;/code&gt;, &lt;code&gt;--primary&lt;/code&gt;) and &lt;code&gt;@theme&lt;/code&gt; directives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessible Motion:&lt;/strong&gt; Every Framer Motion animation checks &lt;code&gt;useReducedMotion()&lt;/code&gt; so users who prefer reduced motion see instant, static states without layout shift.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. Nexore Make: Visual Component Builder in the Browser
&lt;/h2&gt;

&lt;p&gt;Sometimes you don't want to tweak Tailwind classes blindly in your IDE. &lt;/p&gt;

&lt;p&gt;Inside the docs, I built &lt;strong&gt;&lt;a href="https://www.nexoreui.site/nexoremake" rel="noopener noreferrer"&gt;Nexore Make&lt;/a&gt;&lt;/strong&gt; — a visual drag-and-drop sandbox where you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reposition layers and adjust padding, border radius, shadows, and borders visually&lt;/li&gt;
&lt;li&gt;Preview changes in both Light and Dark mode on a blueprint grid&lt;/li&gt;
&lt;li&gt;Export clean &lt;strong&gt;TSX / JSX + Tailwind CSS&lt;/strong&gt; code directly into your clipboard&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  4. Production Templates: App UI &amp;amp; 240-Frame Canvas Scrubbing
&lt;/h2&gt;

&lt;p&gt;In &lt;strong&gt;&lt;a href="https://www.nexoreui.site/templates" rel="noopener noreferrer"&gt;NexoreUI Templates&lt;/a&gt;&lt;/strong&gt;, every template runs live in an interactive multi-device player (Desktop &lt;code&gt;1280px&lt;/code&gt;, Tablet &lt;code&gt;768px&lt;/code&gt;, Mobile &lt;code&gt;375px&lt;/code&gt;) with live theme switching.&lt;/p&gt;

&lt;p&gt;Each template in v2.0 is designed around an &lt;strong&gt;Identity Ledger&lt;/strong&gt; rule — meaning no two templates are allowed to share the same font pairing, surface treatment, layout archetype, and motion signature.&lt;/p&gt;

&lt;p&gt;They are split into two main engineering categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;App UI &amp;amp; CRUD Consoles:&lt;/strong&gt; Admin dashboards (&lt;code&gt;Nex Core Admin&lt;/code&gt;), high-density user tables with FLIP layout transitions, Swagger/OpenAPI form builders, auth flows, and storefronts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3D &amp;amp; HTML5 Canvas Scroll Scrubbers:&lt;/strong&gt; Product sheets and editorial showcases that scrub 240-frame video sequences on an HTML5 &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; using piecewise-linear scroll mapping and static poster fallbacks for &lt;code&gt;prefers-reduced-motion&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  5. What is Free vs. What is Paid (Full Transparency)
&lt;/h2&gt;

&lt;p&gt;I want to be 100% upfront about how the project is licensed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Free &amp;amp; Open Source (MIT Forever):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;All 60+ core UI components, motion helpers, and node graph components&lt;/li&gt;
&lt;li&gt;The CLI (&lt;code&gt;npx nexoreui init&lt;/code&gt;, &lt;code&gt;npx nexoreui add&lt;/code&gt;, &lt;code&gt;npx nexoreui create&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Full interactive browser previews of all templates + 5–10 code exports per session in the Nexore Make visual builder&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional Lifetime Pro ($39 one-time launch price, no subscription):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Unlocks full standalone TSX source code and CLI scaffolding (&lt;code&gt;npx nexoreui add &amp;lt;template-slug&amp;gt;&lt;/code&gt;, including automatic media/canvas asset downloads) for all 30+ flagship templates&lt;/li&gt;
&lt;li&gt;Unlimited code exports in Nexore Make&lt;/li&gt;
&lt;li&gt;Includes a workspace dashboard with &lt;strong&gt;2 permanent teammate invite links&lt;/strong&gt; so two other developers on your team get full Pro access at no extra cost&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Looking for Feedback
&lt;/h2&gt;

&lt;p&gt;If you are building with &lt;strong&gt;Next.js 15 / React 19 / Tailwind CSS v4&lt;/strong&gt;, I would love to hear your honest technical feedback:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How does the live multi-device preview in &lt;a href="https://www.nexoreui.site/templates" rel="noopener noreferrer"&gt;/templates&lt;/a&gt; perform on your machine?&lt;/li&gt;
&lt;li&gt;Are there specific CRUD or data-heavy components you wish component libraries handled better out of the box?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thanks for reading and checking out the repo!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>nextjs</category>
      <category>tailwindcss</category>
    </item>
  </channel>
</rss>
