<?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: Music Khairy</title>
    <description>The latest articles on DEV Community by Music Khairy (@music_khairy_5d86a69a3af9).</description>
    <link>https://dev.to/music_khairy_5d86a69a3af9</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%2F3769970%2Fb259e1c2-82d7-4e55-8756-af357690f6ef.png</url>
      <title>DEV Community: Music Khairy</title>
      <link>https://dev.to/music_khairy_5d86a69a3af9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/music_khairy_5d86a69a3af9"/>
    <language>en</language>
    <item>
      <title>I Publish A New Package On NPM, Here's What I Build.</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Sat, 28 Mar 2026 07:49:48 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/i-publish-a-new-package-on-npm-heres-what-i-build-4ig2</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/i-publish-a-new-package-on-npm-heres-what-i-build-4ig2</guid>
      <description>&lt;h1&gt;
  
  
  Nitro 5 — Web Server
&lt;/h1&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%2Fimg.shields.io%2Fbadge%2FOpen%2520Source-GitHub-black%3Fstyle%3Dfor-the-badge%26logo%3Dgithub" 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%2Fimg.shields.io%2Fbadge%2FOpen%2520Source-GitHub-black%3Fstyle%3Dfor-the-badge%26logo%3Dgithub" width="203" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FLicense-BSD%25203--Clause-blue%3Fstyle%3Dfor-the-badge%26logo%3Dopen-source-initiative" 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%2Fimg.shields.io%2Fbadge%2FLicense-BSD%25203--Clause-blue%3Fstyle%3Dfor-the-badge%26logo%3Dopen-source-initiative" width="212" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FNPM-Package-CB3837%3Fstyle%3Dfor-the-badge%26logo%3Dnpm" 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%2Fimg.shields.io%2Fbadge%2FNPM-Package-CB3837%3Fstyle%3Dfor-the-badge%26logo%3Dnpm" width="150" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FVersion-Latest-orange%3Fstyle%3Dfor-the-badge%26logo%3Dsemver" 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%2Fimg.shields.io%2Fbadge%2FVersion-Latest-orange%3Fstyle%3Dfor-the-badge%26logo%3Dsemver" width="168" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FDownloads-Active-success%3Fstyle%3Dfor-the-badge%26logo%3Dcloudflare" 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%2Fimg.shields.io%2Fbadge%2FDownloads-Active-success%3Fstyle%3Dfor-the-badge%26logo%3Dcloudflare" width="191" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FBuild-Passing-brightgreen%3Fstyle%3Dfor-the-badge%26logo%3Dgithubactions" 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%2Fimg.shields.io%2Fbadge%2FBuild-Passing-brightgreen%3Fstyle%3Dfor-the-badge%26logo%3Dgithubactions" width="162" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FPerformance-Fast-red%3Fstyle%3Dfor-the-badge%26logo%3Dlightning" 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%2Fimg.shields.io%2Fbadge%2FPerformance-Fast-red%3Fstyle%3Dfor-the-badge%26logo%3Dlightning" width="186" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FLanguage-Node.js%2520%252B%2520C%252B%252B-green%3Fstyle%3Dfor-the-badge%26logo%3Dnode.js" 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%2Fimg.shields.io%2Fbadge%2FLanguage-Node.js%2520%252B%2520C%252B%252B-green%3Fstyle%3Dfor-the-badge%26logo%3Dnode.js" width="234" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FTypeScript-Supported-3178C6%3Fstyle%3Dfor-the-badge%26logo%3Dtypescript" 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%2Fimg.shields.io%2Fbadge%2FTypeScript-Supported-3178C6%3Fstyle%3Dfor-the-badge%26logo%3Dtypescript" width="217" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FJSX-TSX-61DAFB%3Fstyle%3Dfor-the-badge%26logo%3Dreact" 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%2Fimg.shields.io%2Fbadge%2FJSX-TSX-61DAFB%3Fstyle%3Dfor-the-badge%26logo%3Dreact" width="111" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FESBuild-Bundler-F7DF1E%3Fstyle%3Dfor-the-badge%26logo%3Desbuild" 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%2Fimg.shields.io%2Fbadge%2FESBuild-Bundler-F7DF1E%3Fstyle%3Dfor-the-badge%26logo%3Desbuild" width="179" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FHMR-Supported-ff69b4%3Fstyle%3Dfor-the-badge%26logo%3Dwebpack" 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%2Fimg.shields.io%2Fbadge%2FHMR-Supported-ff69b4%3Fstyle%3Dfor-the-badge%26logo%3Dwebpack" width="170" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FCache-Enabled-00bcd4%3Fstyle%3Dfor-the-badge%26logo%3Dcachet" 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%2Fimg.shields.io%2Fbadge%2FCache-Enabled-00bcd4%3Fstyle%3Dfor-the-badge%26logo%3Dcachet" width="166" height="28"&gt;&lt;/a&gt;
  &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FScalable-Architecture-orange%3Fstyle%3Dfor-the-badge%26logo%3Dserverless" 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%2Fimg.shields.io%2Fbadge%2FScalable-Architecture-orange%3Fstyle%3Dfor-the-badge%26logo%3Dserverless" width="228" height="28"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  I just published Nitro 5
&lt;/h2&gt;

&lt;p&gt;I’m excited to share that I’ve published &lt;strong&gt;Nitro 5&lt;/strong&gt;, a new web server framework built with a hybrid &lt;strong&gt;Node.js + C++&lt;/strong&gt; architecture.&lt;/p&gt;

&lt;p&gt;Nitro 5 was created with one main idea in mind: combine the flexibility of JavaScript with the performance advantages of native code. Instead of forcing everything through one layer, Nitro 5 uses Node.js for application-level logic, routing, and developer-friendly workflow, while C++ is used for performance-critical parts such as low-level request handling, system optimization, and native execution paths.&lt;/p&gt;

&lt;p&gt;The result is a framework that aims to feel modern, practical, and easy to work with, while still staying focused on speed and efficiency. That balance is the core of the project. I wanted something that could be used for real applications, not just as a proof of concept, and something that can evolve into a stronger production-ready ecosystem over time.&lt;/p&gt;

&lt;p&gt;Nitro 5 also includes built-in support for &lt;strong&gt;TypeScript&lt;/strong&gt;, &lt;strong&gt;JSX/TSX&lt;/strong&gt;, and fast bundling through &lt;strong&gt;ESBuild&lt;/strong&gt;. That means you can work with modern frontend and backend workflows without making your development experience slow or painful. It also includes &lt;strong&gt;Hot Module Replacement (HMR)&lt;/strong&gt;, &lt;strong&gt;watch mode&lt;/strong&gt;, &lt;strong&gt;caching&lt;/strong&gt;, a &lt;strong&gt;router&lt;/strong&gt;, a &lt;strong&gt;dashboard&lt;/strong&gt;, and &lt;strong&gt;thread workers&lt;/strong&gt;, all designed to make development smoother and improve responsiveness.&lt;/p&gt;

&lt;p&gt;This project is still growing, but it already reflects the direction I want Nitro 5 to take: fast startup, fast rebuilds, scalable architecture, and a developer experience that feels clean instead of complicated.&lt;/p&gt;

&lt;p&gt;If you like performance-focused tooling, modern JavaScript ecosystems, or just enjoy experimenting with new frameworks, Nitro 5 is something I’d be happy for you to try.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Nitro 5 Delivers
&lt;/h2&gt;

&lt;p&gt;Nitro 5 includes support for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scalable web server architecture&lt;/li&gt;
&lt;li&gt;TypeScript support&lt;/li&gt;
&lt;li&gt;TypeScript cache&lt;/li&gt;
&lt;li&gt;JSX / TSX support for React&lt;/li&gt;
&lt;li&gt;Vite support&lt;/li&gt;
&lt;li&gt;Hot Module Replacement (HMR)&lt;/li&gt;
&lt;li&gt;Caching&lt;/li&gt;
&lt;li&gt;Watcher mode&lt;/li&gt;
&lt;li&gt;Router&lt;/li&gt;
&lt;li&gt;Dashboard&lt;/li&gt;
&lt;li&gt;Thread workers&lt;/li&gt;
&lt;li&gt;Fast development rebuilds&lt;/li&gt;
&lt;li&gt;Native performance-focused execution paths&lt;/li&gt;
&lt;li&gt;A workflow designed for modern web projects&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why I Built It
&lt;/h2&gt;

&lt;p&gt;I built Nitro 5 because I wanted to explore a different kind of server framework.&lt;/p&gt;

&lt;p&gt;A lot of web tools lean heavily toward one side of the spectrum. Some are easy to use but lose performance when the project gets bigger. Others are extremely fast but harder to work with, especially during development. Nitro 5 tries to live in the middle.&lt;/p&gt;

&lt;p&gt;The idea is not to replace every existing framework. The idea is to create a foundation that feels:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fast without being awkward&lt;/li&gt;
&lt;li&gt;modern without being bloated&lt;/li&gt;
&lt;li&gt;flexible without becoming messy&lt;/li&gt;
&lt;li&gt;powerful without losing developer experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also wanted to make something that supports the way developers actually build today. That means TypeScript. That means TSX. That means quick rebuilds. That means working with frontend and backend code in a more natural way. Nitro 5 is built around those expectations instead of treating them like optional extras.&lt;/p&gt;




&lt;h2&gt;
  
  
  Core Philosophy
&lt;/h2&gt;

&lt;p&gt;Nitro 5 follows a simple philosophy:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Keep the framework approachable
&lt;/h3&gt;

&lt;p&gt;The API should feel understandable and not require a huge learning curve.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Keep the build process fast
&lt;/h3&gt;

&lt;p&gt;Development should feel responsive. Waiting too long for rebuilds kills momentum.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Keep the runtime efficient
&lt;/h3&gt;

&lt;p&gt;Native optimization should be used where it makes sense, especially for performance-sensitive parts.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Keep the architecture scalable
&lt;/h3&gt;

&lt;p&gt;The project should be able to grow over time without turning into a tangled mess.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Keep the developer experience clean
&lt;/h3&gt;

&lt;p&gt;A framework should help you move faster, not make simple things feel complicated.&lt;/p&gt;




&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;Nitro 5 is organized into several layers of responsibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Application Layer
&lt;/h3&gt;

&lt;p&gt;Handles routing, middleware, app logic, configuration, and framework behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  Runtime Layer
&lt;/h3&gt;

&lt;p&gt;Coordinates Node.js execution and manages server operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance Layer
&lt;/h3&gt;

&lt;p&gt;Uses C++ bindings for low-level optimization and performance-sensitive paths.&lt;/p&gt;

&lt;h3&gt;
  
  
  Build Layer
&lt;/h3&gt;

&lt;p&gt;Uses ESBuild for fast transformations and modern module workflows.&lt;/p&gt;

&lt;p&gt;This layered design makes the system easier to reason about and gives it room to grow without forcing everything into one giant block of logic.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Use Nitro 5
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Install the C/C++ Toolchain
&lt;/h3&gt;

&lt;p&gt;Because Nitro 5 includes native parts, make sure your environment has a compiler installed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;clang
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Depending on your system, you may also need additional build tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Install Nitro 5
&lt;/h3&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;nitro5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Let Postinstall Finish
&lt;/h3&gt;

&lt;p&gt;Nitro 5 will automatically build native modules during the postinstall step.&lt;/p&gt;

&lt;p&gt;This is an important part of setup because it prepares the C++ side of the framework and makes it ready to run.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Start the CLI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nitro5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Open the Local Server
&lt;/h3&gt;

&lt;p&gt;Open your browser and visit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;http://localhost:3000/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If everything is configured correctly, you should see the Nitro 5 server running.&lt;/p&gt;




&lt;h2&gt;
  
  
  Example Configuration
&lt;/h2&gt;

&lt;p&gt;A typical &lt;code&gt;nitro5.config.js&lt;/code&gt; may look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;server&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;dev&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;useVite&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;ttl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;dashboard&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;cors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;*&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;cacheTs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Example Project Structure
&lt;/h2&gt;

&lt;p&gt;A common project layout may look 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;.
|____ nitro5.config.js
|
|__ public
    |___ index.html
    |___ app.tsx
    |___ main.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Example Frontend Setup
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;public/index.html&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Nitro 5&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"app"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"module"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"./main.tsx"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;code&gt;public/app.tsx&lt;/code&gt;
&lt;/h3&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="nx"&gt;React&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;react&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="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&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="nt"&gt;div&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;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Nitro5 + React 19 🚀&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&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;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Web server ready!&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&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;div&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;
  
  
  &lt;code&gt;public/main.ts&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&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;react&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="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createRoot&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;react-dom/client&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="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;App&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;./app&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;createRoot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;app&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Example Usage Flow
&lt;/h2&gt;

&lt;p&gt;A simple Nitro 5 workflow might look like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install the package&lt;/li&gt;
&lt;li&gt;Prepare the native toolchain&lt;/li&gt;
&lt;li&gt;Configure the server&lt;/li&gt;
&lt;li&gt;Run the CLI&lt;/li&gt;
&lt;li&gt;Open the browser&lt;/li&gt;
&lt;li&gt;Start building pages, APIs, or interactive app features&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The goal is to keep this flow straightforward so that the developer can focus on building the project instead of fighting with setup.&lt;/p&gt;




&lt;h2&gt;
  
  
  Features in Practice
&lt;/h2&gt;

&lt;h3&gt;
  
  
  TypeScript Support
&lt;/h3&gt;

&lt;p&gt;Nitro 5 is built to work naturally with TypeScript, making it easier to write maintainable code with type safety.&lt;/p&gt;

&lt;h3&gt;
  
  
  TSX / JSX Support
&lt;/h3&gt;

&lt;p&gt;This helps when building UI-driven workflows or React-based frontend setups.&lt;/p&gt;

&lt;h3&gt;
  
  
  ESBuild Integration
&lt;/h3&gt;

&lt;p&gt;Fast transforms help keep development fast and responsive.&lt;/p&gt;

&lt;h3&gt;
  
  
  HMR
&lt;/h3&gt;

&lt;p&gt;Hot Module Replacement makes iteration smoother by reducing the need for full reload cycles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Caching
&lt;/h3&gt;

&lt;p&gt;Caching helps improve repeated request performance and reduce unnecessary work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Watch Mode
&lt;/h3&gt;

&lt;p&gt;Useful during development so changes can be detected quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Router
&lt;/h3&gt;

&lt;p&gt;A router gives the project structure and keeps routing logic organized.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dashboard
&lt;/h3&gt;

&lt;p&gt;A dashboard can help inspect or manage the server more easily.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thread Workers
&lt;/h3&gt;

&lt;p&gt;Workers give the framework more room to scale under load and handle parallel tasks better.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Makes Nitro 5 Different
&lt;/h2&gt;

&lt;p&gt;Nitro 5 is not trying to be just another wrapper around existing ideas.&lt;/p&gt;

&lt;p&gt;It is being shaped around a few specific goals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;keep the API approachable&lt;/li&gt;
&lt;li&gt;keep the dev loop fast&lt;/li&gt;
&lt;li&gt;support modern frontend and backend workflows&lt;/li&gt;
&lt;li&gt;improve performance where native code helps&lt;/li&gt;
&lt;li&gt;remain scalable for future features&lt;/li&gt;
&lt;li&gt;avoid making the project feel overcomplicated&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That balance is the main point of the framework.&lt;/p&gt;




&lt;h2&gt;
  
  
  Current Focus
&lt;/h2&gt;

&lt;p&gt;Right now, Nitro 5 is focused on improving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;developer experience&lt;/li&gt;
&lt;li&gt;architecture clarity&lt;/li&gt;
&lt;li&gt;build speed&lt;/li&gt;
&lt;li&gt;request handling&lt;/li&gt;
&lt;li&gt;native integration&lt;/li&gt;
&lt;li&gt;TypeScript and TSX support&lt;/li&gt;
&lt;li&gt;HMR behavior&lt;/li&gt;
&lt;li&gt;caching behavior&lt;/li&gt;
&lt;li&gt;router functionality&lt;/li&gt;
&lt;li&gt;dashboard usefulness&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Roadmap
&lt;/h2&gt;

&lt;p&gt;Possible future improvements include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;improved developer dashboard&lt;/li&gt;
&lt;li&gt;enhanced caching controls&lt;/li&gt;
&lt;li&gt;better TypeScript tooling&lt;/li&gt;
&lt;li&gt;expanded plugin support&lt;/li&gt;
&lt;li&gt;more advanced HMR integration&lt;/li&gt;
&lt;li&gt;multi-threaded request optimization&lt;/li&gt;
&lt;li&gt;additional router features&lt;/li&gt;
&lt;li&gt;production build optimizations&lt;/li&gt;
&lt;li&gt;better native binding workflows&lt;/li&gt;
&lt;li&gt;more utilities for real-world projects&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;Contributions are welcome.&lt;/p&gt;

&lt;p&gt;If you find a bug, have an idea, or want to improve something, feel free to open an issue or submit a pull request.&lt;/p&gt;

&lt;p&gt;Before contributing, please try to keep changes consistent with the architecture and direction of the project. Clean, practical improvements are always appreciated.&lt;/p&gt;




&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;This project is licensed under the &lt;strong&gt;BSD 3-Clause License&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Copyright 2026 (C) OpenDN Foundation&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>cpp</category>
      <category>webserver</category>
      <category>napi</category>
    </item>
    <item>
      <title>I Started Coding at 11 — Here’s What I Learned Along the Way</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Tue, 10 Mar 2026 05:38:10 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/i-started-coding-at-11-heres-what-i-learned-along-the-way-8m</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/i-started-coding-at-11-heres-what-i-learned-along-the-way-8m</guid>
      <description>&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/p&gt;

&lt;p&gt;I Started Coding at 11 — Here’s What I Learned Along the Way&lt;/p&gt;

&lt;p&gt;Most people discover programming in high school or college.&lt;br&gt;
My journey started much earlier.&lt;/p&gt;

&lt;p&gt;At 11 years old, I began exploring the world of programming. At first it was just curiosity — I wanted to understand how websites and apps worked. But that curiosity slowly turned into something much bigger.&lt;/p&gt;

&lt;p&gt;The Beginning: Curiosity and the Internet&lt;/p&gt;

&lt;p&gt;Like many developers, my journey started with the internet.&lt;/p&gt;

&lt;p&gt;I began experimenting with HTML, JavaScript, and PHP. At first, things were confusing. There were so many new concepts: variables, functions, events, APIs, frameworks, and more.&lt;/p&gt;

&lt;p&gt;But every small success felt amazing.&lt;/p&gt;

&lt;p&gt;My first webpage was extremely simple. Just some text, maybe a button, and some basic styling. But when I saw it working in my browser, it felt like magic.&lt;/p&gt;

&lt;p&gt;I realized something important:&lt;/p&gt;

&lt;p&gt;«Programming is not just about writing code.&lt;br&gt;
It's about turning ideas into reality.»&lt;/p&gt;

&lt;p&gt;Learning Without a Clear Roadmap&lt;/p&gt;

&lt;p&gt;One challenge of starting young is that there isn't always a clear path.&lt;/p&gt;

&lt;p&gt;Many tutorials assume you are older or already understand some technical concepts. Sometimes documentation can be difficult to understand.&lt;/p&gt;

&lt;p&gt;So I had to learn by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;experimenting&lt;/li&gt;
&lt;li&gt;breaking things&lt;/li&gt;
&lt;li&gt;fixing bugs&lt;/li&gt;
&lt;li&gt;reading documentation&lt;/li&gt;
&lt;li&gt;trying again&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly, breaking things became one of the best ways to learn.&lt;/p&gt;

&lt;p&gt;Building Things (Even Small Ones)&lt;/p&gt;

&lt;p&gt;Instead of only reading tutorials, I started building small projects.&lt;/p&gt;

&lt;p&gt;Some projects were simple. Some failed completely. But every project taught me something new.&lt;/p&gt;

&lt;p&gt;I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how to structure code&lt;/li&gt;
&lt;li&gt;how debugging works&lt;/li&gt;
&lt;li&gt;how small mistakes can break an entire program&lt;/li&gt;
&lt;li&gt;how satisfying it is when everything finally works&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These small projects slowly built my confidence.&lt;/p&gt;

&lt;p&gt;The Power of Open Source&lt;/p&gt;

&lt;p&gt;One of the most exciting parts of programming is the open-source community.&lt;/p&gt;

&lt;p&gt;Seeing developers around the world share their code and collaborate inspired me a lot. It showed me that programming isn't just an individual skill — it's also a community effort.&lt;/p&gt;

&lt;p&gt;Even reading other people's code can teach you so much.&lt;/p&gt;

&lt;p&gt;Lessons I've Learned So Far&lt;/p&gt;

&lt;p&gt;Even though I'm still early in my journey, I've learned some valuable lessons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;You don't need to wait to start.&lt;br&gt;
Age doesn't define your ability to learn programming.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Building things teaches more than only studying.&lt;br&gt;
Real projects create real experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bugs are part of the process.&lt;br&gt;
Every developer faces them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Curiosity is the best teacher.&lt;br&gt;
The desire to understand "how things work" drives learning.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A Message to Other Young Developers&lt;/p&gt;

&lt;p&gt;If you're young and interested in programming, my advice is simple:&lt;/p&gt;

&lt;p&gt;Start now.&lt;/p&gt;

&lt;p&gt;You don't need perfect knowledge.&lt;br&gt;
You don't need the best computer.&lt;br&gt;
You don't need to know everything.&lt;/p&gt;

&lt;p&gt;Just start building, experimenting, and learning.&lt;/p&gt;

&lt;p&gt;Every line of code you write is a step forward.&lt;/p&gt;

&lt;p&gt;Looking Forward&lt;/p&gt;

&lt;p&gt;My journey as a developer is just beginning. There are still many technologies to explore, many projects to build, and many lessons to learn.&lt;/p&gt;

&lt;p&gt;But one thing is certain:&lt;/p&gt;

&lt;p&gt;Programming has already changed how I think, learn, and create.&lt;/p&gt;

&lt;p&gt;And I'm excited to see where this journey goes next.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>JuiceToast v1.4.4 Pack 0</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Fri, 06 Mar 2026 08:13:06 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v144-pack-0-3kn3</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v144-pack-0-3kn3</guid>
      <description>&lt;h2&gt;
  
  
  JuiceToast v1.4.4: Let’s Make Toast Notifications Fun Again! 🚀
&lt;/h2&gt;

&lt;p&gt;Hey developers! 👋  &lt;/p&gt;

&lt;p&gt;Welcome to the &lt;strong&gt;ultimate guide&lt;/strong&gt; on JuiceToast v1.4.4. If you’ve ever thought toast notifications were boring, flat, or just “meh”, this post will change your mind. We’re going &lt;strong&gt;deep&lt;/strong&gt; into &lt;strong&gt;3D toasts, interactive modals, parallax effects, accessibility, performance optimization, and developer tricks&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;And yes, this is more than just a release note — this is a &lt;strong&gt;full learning experience + invitation&lt;/strong&gt; to join the &lt;strong&gt;GitHub Discussion&lt;/strong&gt;, where your ideas can directly influence the next version.  &lt;/p&gt;




&lt;h2&gt;
  
  
  🎉 What’s New in JuiceToast v1.4.4?
&lt;/h2&gt;

&lt;p&gt;JuiceToast v1.4.4 introduces &lt;strong&gt;interactive 3D toasts, enhanced modals, parallax fixes, and accessibility-first features&lt;/strong&gt;. Let’s break it down:&lt;/p&gt;

&lt;h3&gt;
  
  
  1️⃣ 3D Toasts (&lt;code&gt;use3d: true&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;Bring notifications to life by adding &lt;strong&gt;depth and perspective&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;success&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello, 3D World!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;use3d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Features:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stunning &lt;strong&gt;3D pop-out effect&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Compatible with &lt;strong&gt;swipe-to-dismiss&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Works in both &lt;strong&gt;light and dark mode&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Can be combined with &lt;strong&gt;auto-deduplication&lt;/strong&gt; to avoid spammy notifications
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; Adjust &lt;code&gt;perspective&lt;/code&gt; in your global config for more dramatic depth effects:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;perspective&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1000px&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  2️⃣ 3D Modals
&lt;/h3&gt;

&lt;p&gt;Not only toasts — modals now have &lt;strong&gt;depth&lt;/strong&gt;, making your UI feel alive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;modal&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;3D Modal Alert&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Depth + style = awesome&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;use3d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 Use cases:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alerts and confirmations
&lt;/li&gt;
&lt;li&gt;Interactive notifications that feel tactile
&lt;/li&gt;
&lt;li&gt;Paired with parallax for &lt;strong&gt;dynamic movement&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3️⃣ Parallax Mode Fixes
&lt;/h3&gt;

&lt;p&gt;Smooth animations that &lt;strong&gt;move with scrolling and UI interactions&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;success&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Smooth parallax toast&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;parallaxMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4000&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Benefits:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Less layout jitter
&lt;/li&gt;
&lt;li&gt;Feels natural on &lt;strong&gt;scrollable content&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Integrates with &lt;strong&gt;3D toasts and modals&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4️⃣ Accessibility – Prefers-Reduced-Motion
&lt;/h3&gt;

&lt;p&gt;JuiceToast respects &lt;strong&gt;user motion preferences&lt;/strong&gt; automatically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;prefersReduced&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;matchMedia&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;(prefers-reduced-motion: reduce)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;success&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Motion-friendly notification&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;reduceMotion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;prefersReduced&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why it matters:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports users with motion sensitivity
&lt;/li&gt;
&lt;li&gt;Keeps basic functionality intact
&lt;/li&gt;
&lt;li&gt;Works alongside &lt;strong&gt;3D and parallax features&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Join the GitHub Discussion
&lt;/h2&gt;

&lt;p&gt;JuiceToast thrives &lt;strong&gt;because of community feedback&lt;/strong&gt;. Here’s why you should participate:  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Share ideas – Got a crazy toast concept? Discuss it!
&lt;/li&gt;
&lt;li&gt;Report bugs – Found a glitch? Post it, watch it get fixed.
&lt;/li&gt;
&lt;li&gt;Collaborate – Contribute animations, performance tweaks, or optimizations.
&lt;/li&gt;
&lt;li&gt;Learn &amp;amp; teach – Explore high-performance toast mechanics under the hood.
&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Every feature in v1.4.4 is community-inspired. Your idea could headline &lt;strong&gt;v1.5&lt;/strong&gt;!  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;GitHub Discussions:&lt;/strong&gt; [&lt;a href="https://github.com/KhairyK/juiceToast/discussions/11" rel="noopener noreferrer"&gt;https://github.com/KhairyK/juiceToast/discussions/11&lt;/a&gt;]  &lt;/p&gt;




&lt;h2&gt;
  
  
  Mini Tutorial: Fully Interactive Toast
&lt;/h2&gt;

&lt;p&gt;Combine multiple features for a powerful toast:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;info&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;welcome-toast&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Welcome to JuiceToast v1.4.4!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;use3d&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;swipeToDismiss&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;autoDedupe&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;parallaxMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Features included:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Auto deduplication
&lt;/li&gt;
&lt;li&gt;✅ Swipe to dismiss
&lt;/li&gt;
&lt;li&gt;✅ 3D effect
&lt;/li&gt;
&lt;li&gt;✅ Parallax animation
&lt;/li&gt;
&lt;li&gt;✅ Accessibility-friendly
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Lifecycle Hooks
&lt;/h2&gt;

&lt;p&gt;Take full control of your notifications:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;success&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hook test&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;onShow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Toast appearing&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="na"&gt;onShown&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Toast visible&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="na"&gt;onClose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Toast closing&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="na"&gt;onRemoved&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Toast removed&lt;/span&gt;&lt;span class="dl"&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;ul&gt;
&lt;li&gt;Ideal for &lt;strong&gt;analytics, logging, or custom triggers&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Works seamlessly with &lt;strong&gt;3D, modals, and parallax&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Smart Queue Management
&lt;/h2&gt;

&lt;p&gt;JuiceToast automatically manages visible notifications:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;maxVisiblePerType&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Prevents overlapping or hidden toasts
&lt;/li&gt;
&lt;li&gt;Queues extra notifications for smooth UX
&lt;/li&gt;
&lt;li&gt;Works with all toast types
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Performance Optimization
&lt;/h2&gt;

&lt;p&gt;Designed for &lt;strong&gt;GPU acceleration and minimal layout thrash&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardware-accelerated transforms
&lt;/li&gt;
&lt;li&gt;Minimal DOM reflows
&lt;/li&gt;
&lt;li&gt;Lightweight footprint for large-scale apps
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; Use &lt;code&gt;reduceMotion: true&lt;/code&gt; on heavy pages for smoother animations.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Mini Troubleshooting Tips
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Toast not appearing? ✅ Check &lt;code&gt;maxVisiblePerType&lt;/code&gt; and active toasts.
&lt;/li&gt;
&lt;li&gt;3D effect looks flat? ✅ Adjust &lt;code&gt;perspective&lt;/code&gt; in config.
&lt;/li&gt;
&lt;li&gt;Swipe-to-dismiss not working? ✅ Ensure &lt;code&gt;swipeToDismiss: true&lt;/code&gt; and touch events are enabled.
&lt;/li&gt;
&lt;li&gt;Parallax jittering? ✅ Make sure parent containers don’t have &lt;code&gt;overflow: hidden&lt;/code&gt; clipping.
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;Planned features for upcoming versions:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Community-contributed &lt;strong&gt;custom animations&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Themeable toast designs&lt;/strong&gt; for frameworks like React, Vue, Svelte
&lt;/li&gt;
&lt;li&gt;Cross-device &lt;strong&gt;performance improvements&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Advanced &lt;strong&gt;stacking &amp;amp; grouping logic&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Your Turn: Join the Conversation
&lt;/h2&gt;

&lt;p&gt;I want to hear from you:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New feature requests?
&lt;/li&gt;
&lt;li&gt;Animation hacks you love?
&lt;/li&gt;
&lt;li&gt;Performance optimization suggestions?
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s make &lt;strong&gt;JuiceToast the go-to library for interactive notifications&lt;/strong&gt;. Be part of its evolution!  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Discussions link:&lt;/strong&gt; [&lt;a href="https://github.com/KhairyK/juiceToast/discussions/11" rel="noopener noreferrer"&gt;https://github.com/KhairyK/juiceToast/discussions/11&lt;/a&gt;]&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;P.S. Next post: I’ll show &lt;strong&gt;step-by-step how to build custom JuiceToast notifications from scratch&lt;/strong&gt;, including 3D effects, deduplication, swipe gestures, and parallax animations. Stay tuned! 🚀  &lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>JuiceToast v1.4.1 Release (v1.4.0 fix)</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Sat, 28 Feb 2026 08:48:14 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v141-release-v140-fix-21ea</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v141-release-v140-fix-21ea</guid>
      <description>&lt;h1&gt;
  
  
  JuiceToast v1.4.1 Release
&lt;/h1&gt;

&lt;p&gt;This release adding a Promise Toast, HTML Online (Sanitazed) &amp;amp; Bug fixes&lt;/p&gt;

&lt;p&gt;You can see the changelog in &lt;a href="https://github.com/KhairyK/juiceToast/blob/main/CHANGELOG.md" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>JuiceToast v1.3.4 Release</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Tue, 24 Feb 2026 10:41:18 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v134-release-5b75</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v134-release-5b75</guid>
      <description>&lt;p&gt;WARNING: v1.3.x now will deprecated on 28 Febuary 2026. You should use ^v1.4.x&lt;br&gt;
Full Changelog: &lt;a href="https://github.com/KhairyK/juiceToast/blob/main/CHANGELOG.md#v134" rel="noopener noreferrer"&gt;https://github.com/KhairyK/juiceToast/blob/main/CHANGELOG.md#v134&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>news</category>
      <category>opensource</category>
      <category>ui</category>
    </item>
    <item>
      <title>JuicToast v1.3.3 Release</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Tue, 24 Feb 2026 10:39:08 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/juictoast-v133-release-58ne</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/juictoast-v133-release-58ne</guid>
      <description>&lt;p&gt;Full Changelog: &lt;a href="https://github.com/KhairyK/juiceToast/blob/main/CHANGELOG.md" rel="noopener noreferrer"&gt;https://github.com/KhairyK/juiceToast/blob/main/CHANGELOG.md&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>JuiceToast v1.3.2</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Tue, 17 Feb 2026 07:24:07 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v132-5n0</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/juicetoast-v132-5n0</guid>
      <description>&lt;h1&gt;
  
  
  🍹 JuiceToast v1.3.2 Released
&lt;/h1&gt;

&lt;p&gt;Hey devs! 👋&lt;/p&gt;

&lt;p&gt;A new update of &lt;strong&gt;JuiceToast&lt;/strong&gt; is here!&lt;br&gt;
Version &lt;strong&gt;v1.3.2&lt;/strong&gt; focuses on improving accessibility, adding new customization features, and making the developer experience even smoother.&lt;/p&gt;

&lt;p&gt;If you love lightweight, dependency-free toast notifications — this release is for you.&lt;/p&gt;


&lt;h2&gt;
  
  
  ✨ What’s New in v1.3.2
&lt;/h2&gt;
&lt;h3&gt;
  
  
  ♿ Improved Accessibility (A11Y)
&lt;/h3&gt;

&lt;p&gt;Accessibility has been significantly improved to ensure better usability for everyone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better screen reader support&lt;/li&gt;
&lt;li&gt;Improved ARIA attributes&lt;/li&gt;
&lt;li&gt;More consistent focus handling&lt;/li&gt;
&lt;li&gt;Reduced-motion friendly behavior&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🖼️ Background Image Support
&lt;/h3&gt;

&lt;p&gt;You can now add background images to your toast notifications using the new:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;bgImage&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes it easier to create more visually appealing notifications for branding, promotions, or custom UI themes.&lt;/p&gt;




&lt;h3&gt;
  
  
  🎨 More Built-in Themes
&lt;/h3&gt;

&lt;p&gt;JuiceToast now comes with additional themes out of the box, making it easier to match your app’s design without writing custom CSS.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚡ Default Toast Helpers
&lt;/h3&gt;

&lt;p&gt;You no longer need to configure basic toast types manually.&lt;br&gt;
New helper functions are now available:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;success&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Saved successfully!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Something went wrong!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;New update available.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;warning&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Storage almost full.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Uploading...&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These helpers provide quick, clean, and consistent notifications.&lt;/p&gt;




&lt;h2&gt;
  
  
  🍹 Why JuiceToast?
&lt;/h2&gt;

&lt;p&gt;JuiceToast is designed to be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight&lt;/li&gt;
&lt;li&gt;Dependency-free&lt;/li&gt;
&lt;li&gt;Easy to integrate&lt;/li&gt;
&lt;li&gt;Highly customizable&lt;/li&gt;
&lt;li&gt;Mobile-friendly&lt;/li&gt;
&lt;li&gt;Accessible by default&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perfect for modern web apps that need fast, beautiful notifications without bloat.&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Installation
&lt;/h2&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;juice-toast
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 Quick Example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;juiceToast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;success&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello from JuiceToast!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s it — simple and powerful.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❤️ Support the Project
&lt;/h2&gt;

&lt;p&gt;If you enjoy using JuiceToast:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⭐ Star the repository&lt;/li&gt;
&lt;li&gt;🐛 Report issues&lt;/li&gt;
&lt;li&gt;💡 Suggest new features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your support helps the project grow!&lt;/p&gt;




&lt;h2&gt;
  
  
  🧃 What’s Next?
&lt;/h2&gt;

&lt;p&gt;Future updates may include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More animation presets&lt;/li&gt;
&lt;li&gt;Plugin system (With JDX)&lt;/li&gt;
&lt;li&gt;Advanced positioning controls&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stay tuned 😉&lt;/p&gt;




&lt;p&gt;Thanks for using JuiceToast!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
      <category>api</category>
    </item>
    <item>
      <title>DevDoctor CLI v0.1.0</title>
      <dc:creator>Music Khairy</dc:creator>
      <pubDate>Fri, 13 Feb 2026 09:27:57 +0000</pubDate>
      <link>https://dev.to/music_khairy_5d86a69a3af9/devdoctor-cli-v010-2lh5</link>
      <guid>https://dev.to/music_khairy_5d86a69a3af9/devdoctor-cli-v010-2lh5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;DevDoctor CLI&lt;/strong&gt;, an AI-powered coding assistant specifically for JavaScript projects.&lt;br&gt;&lt;br&gt;
It can &lt;strong&gt;analyze your project structure, detect tech stack, run and fix tests, lint code, generate professional README.md files, and even suggest fixes for JS errors&lt;/strong&gt; — all directly from the terminal.  &lt;/p&gt;

&lt;p&gt;DevDoctor CLI is designed to help developers save time and improve code quality by providing AI-driven suggestions while coding in JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can check out the project here: &lt;a href="https://github.com/KhairyK/devdoctor-cli/tree/main/devdoctor-cli" rel="noopener noreferrer"&gt;DevDoctor CLI GitHub Repository&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Screenshot / walkthrough:&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%2Fwfssqpqqlmd326kku4jh.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%2Fwfssqpqqlmd326kku4jh.png" alt="DevDoctor CLI Demo" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;doctor analyze&lt;/code&gt; to see project structure and tech stack.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;doctor fix &amp;lt;error&amp;gt;&lt;/code&gt; to get AI suggestions for errors.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;doctor generate&lt;/code&gt; to automatically create a professional README.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;doctor test&lt;/code&gt; to run JS tests (Jest by default) with AI suggestions.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;doctor lint&lt;/code&gt; to check code style with ESLint and receive AI recommendations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;I used &lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt; extensively during development.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copilot helped me &lt;strong&gt;generate boilerplate for CLI commands&lt;/strong&gt;, like &lt;code&gt;fix&lt;/code&gt;, &lt;code&gt;analyze&lt;/code&gt;, &lt;code&gt;generate&lt;/code&gt;, &lt;code&gt;test&lt;/code&gt;, and &lt;code&gt;lint&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;It assisted in &lt;strong&gt;writing AI prompt handlers&lt;/strong&gt;, especially for summarizing project files and generating README content.
&lt;/li&gt;
&lt;li&gt;Copilot significantly &lt;strong&gt;sped up development&lt;/strong&gt;, letting me focus on CLI design and logic instead of repetitive coding tasks.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using Copilot CLI made building DevDoctor CLI &lt;strong&gt;faster and smoother&lt;/strong&gt;, and gave me insights into integrating AI directly into developer workflows.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
