<?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: Riddhima Singh</title>
    <description>The latest articles on DEV Community by Riddhima Singh (@quantum_atelier).</description>
    <link>https://dev.to/quantum_atelier</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%2F3104563%2F875d3f22-ac09-4267-bf99-20f1882234a6.jpg</url>
      <title>DEV Community: Riddhima Singh</title>
      <link>https://dev.to/quantum_atelier</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/quantum_atelier"/>
    <language>en</language>
    <item>
      <title>Understanding npm init, npx, and Vite (Without Memorizing Commands)</title>
      <dc:creator>Riddhima Singh</dc:creator>
      <pubDate>Tue, 07 Jul 2026 07:56:05 +0000</pubDate>
      <link>https://dev.to/quantum_atelier/understanding-npm-init-npx-and-vite-without-memorizing-commands-17ko</link>
      <guid>https://dev.to/quantum_atelier/understanding-npm-init-npx-and-vite-without-memorizing-commands-17ko</guid>
      <description>&lt;p&gt;I have noticed that many students create React projects without fully understanding what the commands actually mean. We often memorize these commands and use them without knowing what happens behind the scenes.&lt;br&gt;
So, I did some research today to understand the purpose behind these commands.&lt;/p&gt;

&lt;p&gt;When starting a React project, you see many commands like:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;npm init -y&lt;br&gt;
npm init&lt;br&gt;
npx create-react-app&lt;br&gt;
npm create vite@latest&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;They look similar, but they solve different problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What does npm init do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;npm init creates a JavaScript project.&lt;/p&gt;

&lt;p&gt;It creates a file called:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;package.json&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This file is like the identity card of your project.&lt;/p&gt;

&lt;p&gt;It stores information like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{&lt;br&gt;
  "name": "my-project",&lt;br&gt;
  "version": "1.0.0",&lt;br&gt;
  "dependencies": {}&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It tells npm:&lt;/p&gt;

&lt;p&gt;What is this project called?&lt;br&gt;
What packages does it need?&lt;br&gt;
What commands can it run?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Difference between npm init and npm init -y&lt;br&gt;
npm init&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you run:&lt;/p&gt;

&lt;p&gt;npm init&lt;/p&gt;

&lt;p&gt;npm asks questions:&lt;/p&gt;

&lt;p&gt;package name:&lt;br&gt;
version:&lt;br&gt;
description:&lt;br&gt;
entry point:&lt;br&gt;
author:&lt;br&gt;
license:&lt;/p&gt;

&lt;p&gt;You answer them manually.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;package name: collaborative-editor&lt;br&gt;
version: 1.0.0&lt;br&gt;
author: Your Name&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then npm creates package.json.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;npm init -y&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The -y means "yes."&lt;/p&gt;

&lt;p&gt;It automatically accepts the default answers.&lt;/p&gt;

&lt;p&gt;So:&lt;/p&gt;

&lt;p&gt;npm init -y&lt;/p&gt;

&lt;p&gt;means:&lt;/p&gt;

&lt;p&gt;"Create package.json without asking me questions."&lt;/p&gt;

&lt;p&gt;It is faster, but it does not create a React project.&lt;/p&gt;

&lt;p&gt;It only creates the project configuration file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. What is npx?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many people confuse &lt;strong&gt;npm and npx&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Think of it like this:&lt;/p&gt;

&lt;p&gt;npm&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;npm = Node Package Manager&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is used to:&lt;/p&gt;

&lt;p&gt;install packages&lt;br&gt;
manage dependencies&lt;br&gt;
run scripts&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install react&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This downloads React into your project.&lt;/p&gt;

&lt;p&gt;npx&lt;/p&gt;

&lt;p&gt;npx is included with npm.&lt;/p&gt;

&lt;p&gt;It means:&lt;/p&gt;

&lt;p&gt;"Execute a package."&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx create-react-app my-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You are saying:&lt;/p&gt;

&lt;p&gt;"Run the create-react-app tool."&lt;/p&gt;

&lt;p&gt;It downloads the tool if needed, runs it, and creates your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. What does temporary vs permanent mean?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine you need a hammer.&lt;/p&gt;

&lt;p&gt;Permanent installation&lt;/p&gt;

&lt;p&gt;You buy a hammer and keep it at home.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;npm install react&lt;/p&gt;

&lt;p&gt;Now React is saved inside your project:&lt;/p&gt;

&lt;p&gt;node_modules/&lt;/p&gt;

&lt;p&gt;react/&lt;br&gt;
react-dom/&lt;/p&gt;

&lt;p&gt;Your project needs it every time.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Temporary usage&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You borrow a hammer to build a table.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx create-react-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You need the tool once to create the project.&lt;/p&gt;

&lt;p&gt;After it creates your files, you don't need the tool anymore.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. What does npm create vite@latest mean?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Command:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;npm create vite@latest&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Break it down:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;npm&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use npm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;create&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run a project creation tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;vite&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The tool we want.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;@latest&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use the newest version of Vite.&lt;/p&gt;

&lt;p&gt;So it means:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Use the latest Vite project generator to create a project."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Is Vite downloaded temporarily?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes.&lt;/p&gt;

&lt;p&gt;When you run:&lt;/p&gt;

&lt;p&gt;npm create vite@latest&lt;/p&gt;

&lt;p&gt;Vite is used as a generator.&lt;/p&gt;

&lt;p&gt;Its job:&lt;/p&gt;

&lt;p&gt;Vite&lt;br&gt;
 |&lt;br&gt;
 |-- creates files&lt;br&gt;
 |&lt;br&gt;
 |-- creates project structure&lt;br&gt;
 |&lt;br&gt;
 |-- finishes&lt;/p&gt;

&lt;p&gt;Your project is then separate.&lt;/p&gt;

&lt;p&gt;Later, your project installs its own dependencies:&lt;/p&gt;

&lt;p&gt;npm install&lt;/p&gt;

&lt;p&gt;Now your project gets things like:&lt;/p&gt;

&lt;p&gt;_node_modules/&lt;/p&gt;

&lt;p&gt;react&lt;br&gt;
react-dom&lt;br&gt;
vite&lt;br&gt;
typescript&lt;br&gt;
_&lt;br&gt;
These stay with your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. What was different with older React?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Older React projects commonly used:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx create-react-app my-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This did the same general thing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;create project&lt;br&gt;
       |&lt;br&gt;
       ↓&lt;br&gt;
install React&lt;br&gt;
       |&lt;br&gt;
       ↓&lt;br&gt;
install tools&lt;br&gt;
       |&lt;br&gt;
       ↓&lt;br&gt;
start development server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The difference is mainly the tool used to build the project.&lt;/p&gt;

&lt;p&gt;Create React App vs Vite&lt;br&gt;
Create React App&lt;/p&gt;

&lt;p&gt;Older approach:&lt;/p&gt;

&lt;p&gt;create-react-app&lt;br&gt;
        |&lt;br&gt;
        ↓&lt;br&gt;
Webpack&lt;br&gt;
        |&lt;br&gt;
        ↓&lt;br&gt;
Bundle everything&lt;br&gt;
        |&lt;br&gt;
        ↓&lt;br&gt;
Run app&lt;/p&gt;

&lt;p&gt;It was simple for beginners but became slower and less flexible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vite&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Modern approach:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vite&lt;br&gt;
 |&lt;br&gt;
 |-- Fast development server&lt;br&gt;
 |&lt;br&gt;
 |-- Uses modern browser features&lt;br&gt;
 |&lt;br&gt;
 |-- Faster startup&lt;br&gt;
 |&lt;br&gt;
 |-- Faster updates while coding&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vite does not mean React.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vite can create projects for:&lt;/p&gt;

&lt;p&gt;React&lt;br&gt;
Vue&lt;br&gt;
Svelte&lt;br&gt;
Vanilla JavaScript&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React is the library.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vite is the tool that helps build and run the project.&lt;/p&gt;

&lt;p&gt;The complete picture&lt;/p&gt;

&lt;p&gt;When creating your project:&lt;/p&gt;

&lt;p&gt;npm create vite@latest&lt;br&gt;
            |&lt;br&gt;
            ↓&lt;br&gt;
      Vite creates files&lt;br&gt;
            |&lt;br&gt;
            ↓&lt;br&gt;
      You enter project&lt;br&gt;
            |&lt;br&gt;
            ↓&lt;br&gt;
      npm install&lt;br&gt;
            |&lt;br&gt;
            ↓&lt;br&gt;
      Downloads dependencies&lt;br&gt;
            |&lt;br&gt;
            ↓&lt;br&gt;
      npm run dev&lt;br&gt;
            |&lt;br&gt;
            ↓&lt;br&gt;
      Start coding&lt;/p&gt;

&lt;p&gt;Remember this simple rule:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;→ Create an empty JavaScript project.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;→ Add packages permanently to your project.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;→ Run a package/tool without permanently installing the tool globally.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm create vite@latest&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;→ Temporarily use Vite to generate a modern project.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm run dev&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;→ Start your project.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>react</category>
      <category>learning</category>
    </item>
    <item>
      <title>Building a Real-Time Collaborative Code Editor from Scratch (With Almost No Experience)</title>
      <dc:creator>Riddhima Singh</dc:creator>
      <pubDate>Tue, 07 Jul 2026 06:51:00 +0000</pubDate>
      <link>https://dev.to/quantum_atelier/building-a-real-time-collaborative-code-editor-from-scratch-with-almost-no-experience-4kk6</link>
      <guid>https://dev.to/quantum_atelier/building-a-real-time-collaborative-code-editor-from-scratch-with-almost-no-experience-4kk6</guid>
      <description>&lt;p&gt;I'm starting a new project: building a real-time collaborative code editor, similar to how multiple people can edit the same document at once.&lt;/p&gt;

&lt;p&gt;The catch?&lt;/p&gt;

&lt;p&gt;I have no experience with WebSockets, CRDTs, collaborative systems, or distributed synchronization.&lt;/p&gt;

&lt;p&gt;Instead of following a YouTube tutorial and copying code I don't understand, I'm going to learn every concept from the ground up—even if it means getting stuck, making mistakes, and rebuilding things multiple times.&lt;/p&gt;

&lt;p&gt;My goal isn't just to finish the project. It's to understand why it works.&lt;/p&gt;

&lt;p&gt;I'll be documenting the entire journey here:&lt;/p&gt;

&lt;p&gt;What I'm learning&lt;br&gt;
The problems I run into&lt;br&gt;
The mistakes I make&lt;br&gt;
How I solve them&lt;br&gt;
Things I wish I'd known earlier&lt;/p&gt;

&lt;p&gt;I'm not trying to build this as fast as possible. I'm trying to build it in a way that I'll actually be able to explain every decision I make.&lt;/p&gt;

&lt;p&gt;If you've built collaborative apps before, I'd love your advice. And if you're learning alongside me, I hope these posts help you too.&lt;/p&gt;

&lt;p&gt;Day 0 starts today....&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🌌 Quantum Atelier: I’m Building Something &amp; I Might Need Your Help</title>
      <dc:creator>Riddhima Singh</dc:creator>
      <pubDate>Thu, 01 May 2025 06:13:40 +0000</pubDate>
      <link>https://dev.to/quantum_atelier/quantum-atelier-im-building-something-i-might-need-your-help-80i</link>
      <guid>https://dev.to/quantum_atelier/quantum-atelier-im-building-something-i-might-need-your-help-80i</guid>
      <description>&lt;p&gt;Hey!&lt;/p&gt;

&lt;p&gt;I’m just a &lt;em&gt;student&lt;/em&gt;. Not some tech lead with a product launch.&lt;br&gt;
I’m not here with a big announcement (yet) — I’m here in the middle of figuring it all out.&lt;/p&gt;

&lt;p&gt;This is &lt;strong&gt;Quantum Atelier&lt;/strong&gt; — &lt;em&gt;a personal lab, a glitchy studio, a living digital playground I’m building from scratch.&lt;/em&gt;&lt;br&gt;
It’s not a portfolio, not a blog, not a startup — maybe it’s a mix of all three.&lt;br&gt;
It’s chaotic. Experimental. A space for all the unfiltered creation.&lt;/p&gt;

&lt;p&gt;I’m doing the design, development, writing, identity, and the actual ideas — all on my own. No roadmap.&lt;br&gt;
I’m learning &lt;strong&gt;frontend + deep web dev&lt;/strong&gt;, slowly diving into &lt;strong&gt;Android dev&lt;/strong&gt; too, and tinkering with everything from &lt;strong&gt;UI/UX&lt;/strong&gt; to microinteractions to console-style layouts to slime-inspired pages.&lt;br&gt;
I don’t always know what I’m doing. But I’m doing it anyway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I’m Writing This&lt;/strong&gt;&lt;br&gt;
Because I want to document the mess.&lt;br&gt;
Because if you're reading this and you've ever wanted to build something strange — we might just get along.&lt;/p&gt;

&lt;p&gt;I’ll be sharing every oddball experiment, idea, and meltdown here on Dev, and maybe across Reddit, LinkedIn, and my own site too. I don't have a following, and that’s okay.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;br&gt;
I’ll soon launch &lt;strong&gt;Quantum Atelier&lt;/strong&gt;— the actual site.&lt;br&gt;
It won’t be perfect, but it’ll be mine.&lt;/p&gt;

&lt;p&gt;I’ll also be writing about how I built it, the tools I used, and all the breakdowns along the way.&lt;br&gt;
This is just the beginning.&lt;/p&gt;

&lt;p&gt;If any of this sounds like something you want to follow, I’d be happy to have you around.&lt;br&gt;
And if you’re building something too — tell me. Let’s figure this stuff out together.&lt;/p&gt;

&lt;p&gt;See you in the next post.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;— the person behind the chaos&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>“Quantum Atelier: The Beginning of a Chaotic Web Experiment"</title>
      <dc:creator>Riddhima Singh</dc:creator>
      <pubDate>Tue, 29 Apr 2025 16:17:17 +0000</pubDate>
      <link>https://dev.to/quantum_atelier/quantum-atelier-the-beginning-of-a-chaotic-web-experiment-1cfj</link>
      <guid>https://dev.to/quantum_atelier/quantum-atelier-the-beginning-of-a-chaotic-web-experiment-1cfj</guid>
      <description>&lt;p&gt;Hi, I’m &lt;em&gt;Riddhima&lt;/em&gt;👋&lt;br&gt;
I’m a curious student, currently deep-diving into &lt;strong&gt;Android and Web Development&lt;/strong&gt; — and I’m on a mission to create a digital space that feels as alive, chaotic, and creatively unfiltered as my brain does.&lt;br&gt;
This post marks the beginning of &lt;strong&gt;Quantum Atelier — my personal site&lt;/strong&gt; where I’m blending everything else I can't explain conventionally.✍️&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I’m Building This:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;I didn’t want just another portfolio.&lt;/em&gt;📄&lt;br&gt;
I wanted a playground. A digital lab. A canvas for failed ideas and brilliant accidents.&lt;br&gt;
Something that doesn’t feel like LinkedIn in disguise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What You’ll See in This Blog:&lt;/strong&gt;&lt;br&gt;
Raw progress updates as I build &lt;strong&gt;Quantum Atelier&lt;/strong&gt;&lt;br&gt;
Visual experiments and code snippets📄&lt;br&gt;
Honest thoughts on building in public as a student&lt;br&gt;
Maybe even some unhinged UI ideas and dev rants😅&lt;/p&gt;

&lt;p&gt;Honestly? I was scared. I thought this space was only for "big people" with jobs and perfect GitHub graphs.But I'll try my best.Thought that maybe someone needs a perspective — like you want to build something, but feel too early or too small.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, Let’s build things together.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>learning</category>
      <category>design</category>
    </item>
  </channel>
</rss>
