<?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>Forem: Manisha Batesar</title>
    <description>The latest articles on Forem by Manisha Batesar (@manisha_batesar).</description>
    <link>https://forem.com/manisha_batesar</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%2F2637470%2Ff411eabf-a604-4216-b1db-dd8017836315.jpeg</url>
      <title>Forem: Manisha Batesar</title>
      <link>https://forem.com/manisha_batesar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/manisha_batesar"/>
    <language>en</language>
    <item>
      <title>slice vs splice vs split — The Way I Finally Understood Them</title>
      <dc:creator>Manisha Batesar</dc:creator>
      <pubDate>Tue, 17 Feb 2026 13:07:44 +0000</pubDate>
      <link>https://forem.com/manisha_batesar/slice-vs-splice-vs-split-the-way-i-finally-understood-them-2lh9</link>
      <guid>https://forem.com/manisha_batesar/slice-vs-splice-vs-split-the-way-i-finally-understood-them-2lh9</guid>
      <description>&lt;p&gt;When I was learning JavaScript, I always got confused between slice, splice, and split.&lt;br&gt;
Their names look very similar, so I kept mixing them up.&lt;/p&gt;

&lt;p&gt;Then I understood them in a very clear and simple way — by focusing on what each parameter means and how each method works step-by-step.&lt;/p&gt;

&lt;p&gt;So in this article, I want to explain them the same way I learned them — simple, clear, and practical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a method?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A method is just a built-in function that works on a specific data type.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Array methods&lt;/strong&gt; → work on arrays&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;String methods&lt;/strong&gt; → work on strings&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;slice&lt;/strong&gt; → array + string method&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;splice&lt;/strong&gt; → array method&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;split&lt;/strong&gt; → string method&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1&lt;/strong&gt;. &lt;strong&gt;slice&lt;/strong&gt; → take a part (without changing original)&lt;/p&gt;

&lt;p&gt;slice(startIndex, endIndex)&lt;/p&gt;

&lt;p&gt;Parameter meaning:&lt;/p&gt;

&lt;p&gt;startIndex → position to start taking values&lt;/p&gt;

&lt;p&gt;endIndex → position to stop (not included)&lt;/p&gt;

&lt;p&gt;Works on: array and string&lt;br&gt;
Original data: does NOT change&lt;/p&gt;

&lt;p&gt;Array example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [10, 20, 30, 40];

let result = arr.slice(1, 3);
console.log(result);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;1 = startIndex → start from value 20&lt;/p&gt;

&lt;p&gt;3 = endIndex → stop before index 3&lt;/p&gt;

&lt;p&gt;So taken values: 20, 30&lt;/p&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[20, 30]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Original array remains:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[10, 20, 30, 40]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;String example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let str = "JavaScript";

let part = str.slice(0, 4);
console.log(part);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;0 = startIndex → start from J&lt;/p&gt;

&lt;p&gt;4 = endIndex → stop before index 4&lt;/p&gt;

&lt;p&gt;So taken characters: J a v a&lt;/p&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So: slice = take part without changing original&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2&lt;/strong&gt;. &lt;strong&gt;splice&lt;/strong&gt; → remove / add / replace inside array&lt;/p&gt;

&lt;p&gt;splice(startIndex, deleteCount, items...)&lt;/p&gt;

&lt;p&gt;Parameter meaning:&lt;/p&gt;

&lt;p&gt;startIndex → where operation starts&lt;/p&gt;

&lt;p&gt;deleteCount → how many items to remove&lt;/p&gt;

&lt;p&gt;items → values to insert (optional)&lt;/p&gt;

&lt;p&gt;Works on: array only&lt;br&gt;
Original array: changes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remove example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [10, 20, 30, 40];

arr.splice(1, 2);
console.log(arr);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;1 = startIndex → start at 20&lt;/p&gt;

&lt;p&gt;2 = deleteCount → remove 2 values&lt;/p&gt;

&lt;p&gt;Removed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;20, 30
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[10, 40]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Add example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [10, 40];

arr.splice(1, 0, 20, 30);
console.log(arr);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;1 = startIndex → position after 10&lt;/p&gt;

&lt;p&gt;0 = deleteCount → remove nothing&lt;/p&gt;

&lt;p&gt;20, 30 = items to insert&lt;/p&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[10, 20, 30, 40]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Replace example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let arr = [10, 20, 30, 40];

arr.splice(1, 2, 99);
console.log(arr);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;1 = startIndex → start at 20&lt;/p&gt;

&lt;p&gt;2 = deleteCount → remove 20, 30&lt;/p&gt;

&lt;p&gt;99 = new value inserted&lt;/p&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[10, 99, 40]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So: splice = change array&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3&lt;/strong&gt;. &lt;strong&gt;split&lt;/strong&gt; → break string into array&lt;/p&gt;

&lt;p&gt;split(separator)&lt;/p&gt;

&lt;p&gt;Parameter meaning:&lt;/p&gt;

&lt;p&gt;separator → where to cut the string&lt;/p&gt;

&lt;p&gt;Works on: string only&lt;br&gt;
Original string: does NOT change&lt;/p&gt;

&lt;p&gt;Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let str = "I love JavaScript";

let words = str.split(" ");
console.log(words);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;" " = separator (space)&lt;/p&gt;

&lt;p&gt;String is cut wherever space appears&lt;/p&gt;

&lt;p&gt;So words are separated&lt;/p&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;["I", "love", "JavaScript"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So: split = break string into array.&lt;/p&gt;

&lt;p&gt;If you remember just this simple idea, you will never confuse slice, splice, and split again.&lt;/p&gt;

&lt;p&gt;Thanks for reading!❤️&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What is JWT?</title>
      <dc:creator>Manisha Batesar</dc:creator>
      <pubDate>Fri, 30 Jan 2026 10:22:53 +0000</pubDate>
      <link>https://forem.com/manisha_batesar/what-is-jwt-13nn</link>
      <guid>https://forem.com/manisha_batesar/what-is-jwt-13nn</guid>
      <description>&lt;p&gt;JWT (&lt;strong&gt;JSON Web Token&lt;/strong&gt;)is a token (like a small digital key) that the backend creates after a user logs in.&lt;br&gt;
👉 It tells the server: “Yes, this user is already logged in.”&lt;/p&gt;

&lt;p&gt;We can think of JWT like an ID card or an entry pass.&lt;/p&gt;

&lt;p&gt;Why use JWT?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Without JWT&lt;/strong&gt;: you’d have to send your password every time — unsafe and slow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With JWT&lt;/strong&gt;: login once, get a token, and send it with every request. The server checks it and allows access.&lt;/p&gt;

&lt;p&gt;JWT is made of &lt;strong&gt;three&lt;/strong&gt; parts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Header&lt;/strong&gt;: token type &amp;amp; algorithm&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Payload&lt;/strong&gt;: user info (never store passwords)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Signature&lt;/strong&gt;: secret key that proves the token is real&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;👉 User logs in → server creates JWT&lt;br&gt;
👉 Token sent to frontend → stored (usually in localStorage)&lt;br&gt;
👉 User makes requests → token sent in headers&lt;br&gt;
👉 Server checks token → allows or denies access&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%2Fvsotdaklowlvvum10rbj.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.amazonaws.com%2Fuploads%2Farticles%2Fvsotdaklowlvvum10rbj.jpg" alt=" " width="600" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading!❤️&lt;/p&gt;

</description>
      <category>backend</category>
      <category>beginners</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Understanding Async and Await</title>
      <dc:creator>Manisha Batesar</dc:creator>
      <pubDate>Thu, 29 Jan 2026 10:11:51 +0000</pubDate>
      <link>https://forem.com/manisha_batesar/understanding-async-and-await-1aak</link>
      <guid>https://forem.com/manisha_batesar/understanding-async-and-await-1aak</guid>
      <description>&lt;p&gt;Hi everyone 👋,&lt;/p&gt;

&lt;p&gt;When I first saw &lt;strong&gt;async&lt;/strong&gt; and &lt;strong&gt;await&lt;/strong&gt; in a JavaScript tutorial on YouTube, I was confused — even the names felt strange 😅.&lt;br&gt;
I kept wondering, what is this and why do we even need it?&lt;/p&gt;

&lt;p&gt;But slowly, when I started using async and await in real code, I understood their purpose.&lt;br&gt;
They are mainly used while calling &lt;strong&gt;APIs&lt;/strong&gt;. When an API request is made, async and await make sure the code does not get stuck while waiting for the response.&lt;br&gt;
The await keyword waits for the API result and then returns the actual response data once it is ready.&lt;/p&gt;

&lt;p&gt;To handle possible errors during API calls, we usually use &lt;strong&gt;try&lt;/strong&gt;–&lt;strong&gt;catch&lt;/strong&gt; with async/await.&lt;br&gt;
This helps prevent the application from crashing if something goes wrong, like a network issue or server error.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;async function getTodos() {
  try {
    const res = await fetch("/todos");
    const data = await res.json();
    console.log(data);
  } catch (error) {
    console.log("Error while fetching todos");
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One important thing I realized during this time is that practice matters the most.&lt;br&gt;
No matter how many tutorials we watch, a new concept only starts making sense when we actually use it in our own code.&lt;br&gt;
That’s when it becomes part of our muscle memory and feels natural to use.&lt;/p&gt;

&lt;p&gt;Thanks for reading ❤️&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>asyncawait</category>
      <category>beginners</category>
      <category>frontend</category>
    </item>
    <item>
      <title>What is React?🧐</title>
      <dc:creator>Manisha Batesar</dc:creator>
      <pubDate>Wed, 28 Jan 2026 12:35:57 +0000</pubDate>
      <link>https://forem.com/manisha_batesar/what-is-react-58cc</link>
      <guid>https://forem.com/manisha_batesar/what-is-react-58cc</guid>
      <description>&lt;p&gt;Hi everyone 👋,&lt;/p&gt;

&lt;p&gt;I recently started learning React.&lt;br&gt;
When I first heard about React, I thought it would be tough &lt;br&gt;
Because people kept saying, “React is hard,” but it is used everywhere,&lt;br&gt;
so I decided to give it a try.&lt;/p&gt;

&lt;p&gt;Slowly, I realized that React is actually very interesting &lt;br&gt;
React is a JavaScript library to build user interfaces &lt;br&gt;
It lets you create small reusable components, like buttons, headers, or todo items&lt;br&gt;
Each component does one job, which makes code clean and easy to manage&lt;/p&gt;

&lt;p&gt;One thing I really love about React is components&lt;br&gt;
Each part of the page can be a small component, like a button, a header, or a todo item&lt;br&gt;
This makes my code easy to understand and clean, even when the project grows&lt;br&gt;
It felt magical at first , but now it just makes sense&lt;/p&gt;

&lt;p&gt;I’m still learning&lt;br&gt;
But I’m excited to build more projects and share what I learn here! &lt;/p&gt;

&lt;p&gt;Thanks for reading ❤️&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Manisha Batesar</dc:creator>
      <pubDate>Mon, 24 Feb 2025 06:51:12 +0000</pubDate>
      <link>https://forem.com/manisha_batesar/-2017</link>
      <guid>https://forem.com/manisha_batesar/-2017</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/manisha_batesar" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F2637470%2Ff411eabf-a604-4216-b1db-dd8017836315.jpeg" alt="manisha_batesar"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/manisha_batesar/building-a-10000-app-with-ai-a-step-by-step-guide-3cbd" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Building a $10,000 App with AI: A Step-by-Step Guide&lt;/h2&gt;
      &lt;h3&gt;Manisha Batesar ・ Feb 24 '25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#powerfuldevs&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#reactnative&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>powerfuldevs</category>
      <category>productivity</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>Building a $10,000 App with AI: A Step-by-Step Guide</title>
      <dc:creator>Manisha Batesar</dc:creator>
      <pubDate>Mon, 24 Feb 2025 06:50:42 +0000</pubDate>
      <link>https://forem.com/manisha_batesar/building-a-10000-app-with-ai-a-step-by-step-guide-3cbd</link>
      <guid>https://forem.com/manisha_batesar/building-a-10000-app-with-ai-a-step-by-step-guide-3cbd</guid>
      <description>&lt;p&gt;Imagine creating an app that not only serves a purpose but also has the potential to earn you $10,000, all without writing a single line of code. Sounds too good to be true? Well, it's not! In this guide, I’ll walk you through the entire process of building a productivity app using artificial intelligence and various modern tools. From idealization to deployment, we'll cover everything you need to know to get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Finding a Viral App Idea
&lt;/h2&gt;

&lt;p&gt;The first and most crucial step in building an app is coming up with a viral idea. This involves solving a real problem in a simple way. To identify a viable app idea, it should meet these three essential criteria:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Identify a Common Problem:&lt;/strong&gt; Look for issues that are frustrating or emotionally charged. People download apps to solve their pain points.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Keep It Simple:&lt;/strong&gt; Your app's core functionality should be explainable in three words or less. For instance, “task manager” or “focus timer.”&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Make It Shareable:&lt;/strong&gt; The app should be so helpful that users feel compelled to share it with others.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For this project, I decided to create an all-in-one productivity tool. After long hours of work, I realized how unproductive multitasking can be. My app will help users prioritize tasks, focus on one at a time, and chat with an AI to easily add new tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Finding App Designs
&lt;/h2&gt;

&lt;p&gt;Next, we need to find viral app designs that we can legally replicate. For this, we will use &lt;a href="https://mobbin.com/?via=start" rel="noopener noreferrer"&gt;Mobbin&lt;/a&gt;, a platform filled with over 300,000 UI &amp;amp; UX designs from popular apps like Duolingo, Spotify, and Netflix. It’s a treasure trove of inspiration!&lt;/p&gt;

&lt;p&gt;To find suitable designs:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Go to the Mobbin website and click on the search bar.&lt;/li&gt;
&lt;li&gt; Select the category that fits your app—since we’re creating a productivity app, I chose that category.&lt;/li&gt;
&lt;li&gt; Pick a design that aligns with your app idea. I found a design that I felt was perfect for my concept.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once you find a design, you can copy the entire flow of the app legally. Click the copy button, download the plugin, and paste it into a new Figma file to start customizing it.&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%2Fxuyxe3xhvm2v9kbpdsru.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.amazonaws.com%2Fuploads%2Farticles%2Fxuyxe3xhvm2v9kbpdsru.jpg" alt="Finding app designs on Mobbin" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Structuring the App
&lt;/h2&gt;

&lt;p&gt;Now that we have our design, it's time to create the structure of our app. This is a critical step that I refer to as creating the "brain" of the app. By structuring the app properly, we save ourselves a lot of time and frustration later on.&lt;/p&gt;

&lt;p&gt;To begin, we will create two important files to guide our AI—Cursor AI—step by step:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Context File:&lt;/strong&gt; This file explains everything about your app to the AI. Write down all your thoughts about how the app should function, detailing the entire flow from start to finish.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Development Plan:&lt;/strong&gt; This will outline the steps needed to build the app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using &lt;a href="https://buildwithai.io" rel="noopener noreferrer"&gt;Cursor AI&lt;/a&gt;, we can start building the app. If you haven’t downloaded Cursor yet, head over to their website to grab it. It’s free and offers a trial version of the pro features.&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%2Ffijzldgbzxg09dx9sfcv.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.amazonaws.com%2Fuploads%2Farticles%2Ffijzldgbzxg09dx9sfcv.jpg" alt="Using Cursor AI to build the app" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Building the App with Cursor AI
&lt;/h2&gt;

&lt;p&gt;Once you have your context file ready, open Cursor and create a new project folder. Name it something relevant, like "DeepWork AI." Create a documentation folder inside it and add your context file.&lt;/p&gt;

&lt;p&gt;Cursor AI uses powerful AI models to write code for you. To start building, you’ll need to tag your context file so the AI can reference it. Open the terminal and use the command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-expo-app@latest with-router
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Once your project is created, navigate to your project folder and run:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx expo start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will initialize your app and generate a QR code that you can scan with the Expo Go app on your phone to see the app in action!&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%2Frjng5f4kpzrcqugr8bzy.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.amazonaws.com%2Fuploads%2Farticles%2Frjng5f4kpzrcqugr8bzy.jpg" alt="Initializing the app with Expo" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Setting Up the Backend
&lt;/h2&gt;

&lt;p&gt;For the backend, we will use &lt;a href="https://supabase.com" rel="noopener noreferrer"&gt;Supabase&lt;/a&gt; for our database and authentication. Create a new project in Supabase and get your public Anonymous token. This token will be essential for connecting your app to the database.&lt;/p&gt;

&lt;p&gt;In your Cursor project, navigate to the environment file and paste the Supabase token and URL. Then, ask Cursor to build the login and signup pages for your app.&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%2Fcnwwauno9rpidrws3h14.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.amazonaws.com%2Fuploads%2Farticles%2Fcnwwauno9rpidrws3h14.jpg" alt="Setting up Supabase for the app" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Improving the UI of the App
&lt;/h2&gt;

&lt;p&gt;After setting up the basic functionality, it’s time to improve the UI. Go back to Mobbin and explore more designs, copying the ones that you think would work well for your app. Paste them back into your Cursor project and ask the AI to use them as inspiration for improving your app's design.&lt;/p&gt;

&lt;p&gt;This step significantly enhances the aesthetics of your app, making it look professional and user-friendly.&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%2Fb094snm31g4k8c2bw4wx.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.amazonaws.com%2Fuploads%2Farticles%2Fb094snm31g4k8c2bw4wx.jpg" alt="Improving UI using Mobbin" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Integrating AI Features
&lt;/h2&gt;

&lt;p&gt;Now, let’s set up the AI chat feature using the &lt;a href="https://platform.deepseek.com" rel="noopener noreferrer"&gt;DeepSeek API&lt;/a&gt;. This feature will allow users to interact with the app and add tasks via chat. Make sure to copy the API key into your environment file as well.&lt;/p&gt;

&lt;p&gt;With everything set up, reload the app and test the AI chat feature. You should be able to add tasks just by typing in natural language!&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%2F41b78ipqujpxntaqbs2w.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.amazonaws.com%2Fuploads%2Farticles%2F41b78ipqujpxntaqbs2w.jpg" alt="Setting up DeepSeek API for AI chat" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 8: Deployment
&lt;/h2&gt;

&lt;p&gt;Congratulations! Your app is now built and ready for deployment. To upload your app to both the App Store and Google Play Store, you will need to create developer accounts: an Apple Developer account ($99 annually) and a Google Play Developer account ($25 one-time fee).&lt;/p&gt;

&lt;p&gt;In the terminal, you can use the command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install eas-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This command installs the Expo Application Services, which you can then configure to build and publish your app.&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%2Fksjujjfhqesriqevouye.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.amazonaws.com%2Fuploads%2Farticles%2Fksjujjfhqesriqevouye.jpg" alt="Deploying the app to App Store and Play Store" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Building a $10,000 app with AI is not just a dream—it’s an achievable reality. By following the steps outlined in this guide, you can create a productivity app that helps users focus, prioritize tasks, and enhance their productivity without writing a single line of code. Remember to iterate and improve based on user feedback, and you could be on your way to creating a successful app!&lt;/p&gt;

&lt;p&gt;If you want to dive deeper into AI development, feel free to check out &lt;a href="https://www.youtube.com/watch?v=WZ8g6deOyAk" rel="noopener noreferrer"&gt;BuildWithAI&lt;/a&gt; for more resources and articles.&lt;/p&gt;

&lt;p&gt;Made from &lt;a href="https://www.youtube.com/watch?v=WZ8g6deOyAk" rel="noopener noreferrer"&gt;How To Build A $10,000 App with AI (Cursor + DeepSeek)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>powerfuldevs</category>
      <category>productivity</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>Advance nest.js</title>
      <dc:creator>Manisha Batesar</dc:creator>
      <pubDate>Tue, 31 Dec 2024 12:05:07 +0000</pubDate>
      <link>https://forem.com/manisha_batesar/advance-nestjs-36a</link>
      <guid>https://forem.com/manisha_batesar/advance-nestjs-36a</guid>
      <description></description>
      <category>nestjs</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
