<?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: Ashish Sunil Thomas</title>
    <description>The latest articles on Forem by Ashish Sunil Thomas (@ashish_sunilthomas_1).</description>
    <link>https://forem.com/ashish_sunilthomas_1</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%2F1819373%2F9d837a30-c216-45c0-8189-a92b974abedb.png</url>
      <title>Forem: Ashish Sunil Thomas</title>
      <link>https://forem.com/ashish_sunilthomas_1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ashish_sunilthomas_1"/>
    <language>en</language>
    <item>
      <title>7 simple prompts that can make AI chatbots more useful in daily life</title>
      <dc:creator>Ashish Sunil Thomas</dc:creator>
      <pubDate>Fri, 04 Jul 2025 09:50:42 +0000</pubDate>
      <link>https://forem.com/ashish_sunilthomas_1/7-simple-prompts-that-can-make-ai-chatbots-more-useful-in-daily-life-3709</link>
      <guid>https://forem.com/ashish_sunilthomas_1/7-simple-prompts-that-can-make-ai-chatbots-more-useful-in-daily-life-3709</guid>
      <description>&lt;h2&gt;
  
  
  *&lt;em&gt;6 useful things about AI Chatbots you may not know *&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1) They respond better to precise instructions about style and length&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many people start with short or general questions and receive broad answers. When you include details such as the tone, word count, or format, chatbots often produce clearer replies.&lt;/p&gt;

&lt;p&gt;For example, asking to summarise a text in no more than 100 words usually results in a more focused response. This way, you are more likely to get accurate and clear replies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) They don’t think in words the way people do&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Chatbots break text into small pieces called tokens rather than processing whole words. This means even small changes in your prompt, like adding punctuation or rephrasing a sentence, can lead to very different answers. &lt;/p&gt;

&lt;p&gt;For example, “Explain AI simply” may produce a shorter reply than “Can you please explain AI simply?” because the tokens are arranged differently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) They can create several versions in one reply&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of repeating the same request, you can ask for different versions in a single prompt. A question like writing three variations of an email, one formal, one casual, and one short, gives options to choose from without extra steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4) Chatbots don’t always have the most up-to-date information&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most chatbots were trained on data that stops at a certain date. If you ask about something new, such as a recent product release or a viral trend, the response could be outdated unless web browsing is turned on.&lt;/p&gt;

&lt;p&gt;Example: If you type, “Who won the 2025 election?” the chatbot may respond that it doesn’t have that information or that its data ends in 2024.&lt;/p&gt;

&lt;p&gt;You can also add instructions such as “Check for recent information” or “Look online if available” to help the chatbot look for the latest details.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5) Negative instructions can help simplify responses&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you say what you don’t want in the answer, the chatbot often gives a simpler reply. For example, asking it to leave out technical words can make the explanation easier to understand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6) Tone typically reflects the user’s prompt&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Chatbots tend to adopt the style set by the person writing the question. They will match a friendly, casual tone or maintain a formal voice if requested at the start.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;7 smart prompts you can start using now&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;By now, you must have got a fair idea of how to use chatbots. These seven prompts can help you save time, get clearer answers, and handle daily tasks more easily with tools like ChatGPT, Claude, and Gemini.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) Create a learning plan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can ask the chatbot to set up a 14 day plan for learning a new skill step by step. This helps you stay organised and know exactly what to work on each day.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;p&gt;"Create a 14 day plan to learn basic Excel, including daily tasks and helpful resources."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) Write a polite email declining a meeting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The chatbot can draft a clear, polite message saying you can’t join a meeting and suggesting a new time. This saves you time and keeps your communication professional.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;p&gt;"Write a polite email to decline a meeting on Friday and suggest next Wednesday instead."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) Summarise long text in bullet point&lt;/strong&gt;s&lt;/p&gt;

&lt;p&gt;You can paste a long text and get a short version in bullet points. This makes it much easier to read and share with others.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;p&gt;"Summarise this document in 8 bullet points under 150 words."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4) Identify current search trends&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The chatbot can list popular keywords in any topic so you know what people are searching for right now. This helps you pick topics that are more likely to get attention.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;p&gt;"List trending keywords for health and wellness this month."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5) Compare two products side by side&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can ask for a table showing the features, prices, and pros and cons of two products. This helps you see differences clearly before you decide what to buy.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;p&gt;"Compare iPhone 16 and OnePlus 13 in a table with features, prices, pros, and cons."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6) Suggest event ideas on a limited budget&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The chatbot can suggest ideas for a team event that fits within a set budget. This makes planning easier without spending too much.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;p&gt;"Suggest 5 ideas for a team event in India with a budget under ₹20,000."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7) Explain a complex topic in simple terms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can ask the chatbot to explain a topic in plain language without hard words. This helps you understand something new without feeling confused.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;p&gt;"Explain blockchain in plain language without using technical words."&lt;/p&gt;

&lt;p&gt;Chatbots do a lot of good, but they aren’t perfect. The more you learn about how they work, the easier it is to use them without confusion and get better results.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>learning</category>
      <category>chatgpt</category>
    </item>
    <item>
      <title>React updates</title>
      <dc:creator>Ashish Sunil Thomas</dc:creator>
      <pubDate>Sun, 05 Jan 2025 11:42:13 +0000</pubDate>
      <link>https://forem.com/ashish_sunilthomas_1/react-updates-pgo</link>
      <guid>https://forem.com/ashish_sunilthomas_1/react-updates-pgo</guid>
      <description></description>
    </item>
    <item>
      <title>React 19</title>
      <dc:creator>Ashish Sunil Thomas</dc:creator>
      <pubDate>Fri, 27 Dec 2024 05:14:12 +0000</pubDate>
      <link>https://forem.com/ashish_sunilthomas_1/react-19-48lp</link>
      <guid>https://forem.com/ashish_sunilthomas_1/react-19-48lp</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;New Features in React 19&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What's New in REACT 19?&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. REACT COMPILER
&lt;/h2&gt;

&lt;p&gt;What New?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;React automatically optimizes rerenders without manual intervention.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No more need for: useMemo(), useCallBack(), React.memo&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why React Compiler?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Manual Optimization was tedious for developers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React now handles state changes and rerendering logic automatically.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;React decides what to re-render and when. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduces developer effort.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;cleaner, simpler codebase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;currently powering instagram in production.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. SERVER COMPONENTS
&lt;/h2&gt;

&lt;p&gt;What New?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;components that run on the server not the client.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Previously pioneered by Next.js (default in V13).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In React 19, server components are integrated natively.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SEO Friendly: Enhances Search Engine Optimization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance Boost: Faster initial pages loads.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Server Side Execution: Efficiently handles tasks like API calls.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How to use Server Components ?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Client-Side (default): All React components run on the client side.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Server-Side:  Add 'use Server' as the first line of your component:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;'use server';

export default async function requestUsername(formData) {
  const username = formData.get('username');
  return canRequest(username) ? 'successful' : 'failed';
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key Notes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Server Components do not run on the client.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Combined with Actions, they streamline tasks like form handling and API requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next.js users can already leverage server components; React 19 brings this directly to React.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. ACTIONS
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before React19: Manual Handling of Async states.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function handleSubmit() {
  setloading (true);
  try {
      const result = await saveData();
      setData(result);
      } 
  catch (err) 
     {
     setError(err);
     }
  finally
     {
     setloading(failse);
     } 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;After React19: Using useActionsState for clean async handling.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [state, formAction] = useActionState(async (prevState, formData) =&amp;gt; {
   const result = await saveData(formData);
   return result;
   }, null);

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Automatically Handles Loading, Errors and State updates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. NEW HOOKS
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;USEACTIONSTATE: FORM HANDLING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Automatically manages submission state and form validation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BEFORE REACT19:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [isSubmitting, setIsSubmitting] = useState(false);

async function handleSubmit() {
  setIsSubmitting(true);
  try {
      await submitForm();
      }
  finally 
      {
      setIsSubmitting(false);
      }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AFTER REACT19: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;useActionState simplifies form submission.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [state, formAction] = useActionState(async (prevState, formData) =&amp;gt; {
    return await submitForm(formData);
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;USEFORMSTATUS: TRACK FORM STATUS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Access form states like pending, success or error.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const status = useFormStatus();

&amp;lt;button type = "submit" disabled = { status.pending }&amp;gt;
  { status.pending ? "Submitting..." : "Submit" } 
&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;USEOPTIMISTIC: OPTIMISTIC UI UPDATES&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simplifies optimistic updates for better UX.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BEFORE REACT19:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You updated UI optmistically, they handled reverts.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function handleClick() {
 setItems([...items, newItem]);
 saveItem(newItem).catch(() =&amp;gt; setItems(items)); // Revert on error
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AFTER REACT19:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;useOptimistic makes it declarative.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [optimisticItems, addOptimisticItem] = useOptimistic(items);

function handleClick() {
 addOptimisticItem(newItem);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. THE USE() HOOK
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is use()?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The use() hook simplifies async data fetching and context consumption by handling promises directly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BEFORE REACT19: USING USEEFFECT&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Manual handling of async states.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [data, setdata] = useState(null);

useEffect(() =&amp;gt;  {
    fetchData(). then((result) =&amp;gt; setData(result));
}, []);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AFTER REACT19: THE USE() HOOK&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Directly fetch async data and resolve promises&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const data = use (fetchData());
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ul&gt;
&lt;li&gt;No need for useEffect or useState.&lt;/li&gt;
&lt;li&gt;Cleaner and more declarative code.&lt;/li&gt;
&lt;li&gt;Handles promisis seamlessly. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. SERVER COMPONENTS
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What are Server Components?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Server Components render on the server and send lightweight results to the client, improving performance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BEFORE REACT19: TRADITIONAL CLIENT - SIDE RENDERING&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You had to use useEffect for data fetching and SSR required complex tools.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;useEffect (() =&amp;gt; {
   fetchData().then(setData);
}, []);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AFTER REACT19: SERVER - SIDE RENDERING&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;React Server Components integrate seamlessly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export default async function Page() {
   const data = await fetchData();
   return &amp;lt;div&amp;gt; {data.title} &amp;lt;/div&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ul&gt;
&lt;li&gt;Faster page loads (no heavy client-side JS).&lt;/li&gt;
&lt;li&gt;Improved SEO and reduced bundle size.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7. ENHANCED ASSET LOADING
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;React19 improves how assets like images and scritps load in the background.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BEFORE REACT19: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You needed manual configurations.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script src = "file.js" defer&amp;gt; &amp;lt;/script&amp;gt;

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AFTER REACT19: NATIVE LAZY LOADIING&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Assets now load effeciently without intervention.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;img src = "image.png" loading="lazy" /&amp;gt;
&amp;lt;script async src="file.js"&amp;gt; &amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ul&gt;
&lt;li&gt;Faster load times.&lt;/li&gt;
&lt;li&gt;Better user experience with reduced delays.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;React 19 brings:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplified async state management with Actions.&lt;/li&gt;
&lt;li&gt;New hooks like useActionState,&lt;/li&gt;
&lt;li&gt;useFormStatus and UseOptimistic.&lt;/li&gt;
&lt;li&gt;use() hook for easy async data handling.&lt;/li&gt;
&lt;li&gt;Seamless Server Components for better performance.&lt;/li&gt;
&lt;li&gt;Cleaner ref management and enhanced asset loading.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>frontend</category>
      <category>coding</category>
    </item>
  </channel>
</rss>
