<?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: Amit Verma</title>
    <description>The latest articles on DEV Community by Amit Verma (@amitvermaknw).</description>
    <link>https://dev.to/amitvermaknw</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%2F1099141%2Ffab17a9d-8d7a-42c5-bb08-74819c3fc1f0.jpeg</url>
      <title>DEV Community: Amit Verma</title>
      <link>https://dev.to/amitvermaknw</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amitvermaknw"/>
    <language>en</language>
    <item>
      <title>Applying GCP, AI &amp; Modern Web to Build a Summarized News Experience</title>
      <dc:creator>Amit Verma</dc:creator>
      <pubDate>Sat, 01 Aug 2026 19:22:09 +0000</pubDate>
      <link>https://dev.to/amitvermaknw/applying-gcp-ai-modern-web-to-build-a-summarized-news-experience-2bm</link>
      <guid>https://dev.to/amitvermaknw/applying-gcp-ai-modern-web-to-build-a-summarized-news-experience-2bm</guid>
      <description>&lt;p&gt;While preparing for the Google Cloud Architect certification, I wanted to deepen my understanding by building something practical using the GCP services I was learning. That led me to start a news summarization application, this is something I've been developing and refining in my personal time to apply cloud and AI/ML concepts in action.&lt;/p&gt;

&lt;p&gt;My goal was clear, while working on app to create a fast, minimal, and clean reading experience that offers summarized news instead of going through the large articles, giving readers the key updates of the articles without scrolling endlessly. It is a mobile-first, web-based app designed for easy to use. Readers can swipe through articles just like they would do while browsing reels or short videos. This makes web based app experience intuitive and similar to mobile natives app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture of application
&lt;/h2&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd2jwynswp0vzj41zkxvg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd2jwynswp0vzj41zkxvg.jpg" alt=" " width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the same time, I chose Next.js to build the app, which made it easier to deploy on Cloud Run and helped to meet the SEO requirements effectively. As we know, strong SEO is essential for any web-based application, and Next.js with its built-in server side rendering and dynamic routing perfectly supports these needs.&lt;/p&gt;

&lt;p&gt;Over time, the technical scope expanded, allowing me to explore and apply a wide range of GCP Services. Here’s a quick breakdown of what I have used so far:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Firebase : for app authentication, Firestore for NoSQL, Hosting, and Functions for backend logic&lt;/li&gt;
&lt;li&gt;Cloud Run : to deploy the Next.js app.&lt;/li&gt;
&lt;li&gt;Cloud Functions &amp;amp; Cloud Scheduler : to fetch and summarize news at regular intervals&lt;/li&gt;
&lt;li&gt;Cloud Storage and Cloudinary : to manage article media.&lt;/li&gt;
&lt;li&gt;Secret Manager &amp;amp; IAM : to secure resources access.&lt;/li&gt;
&lt;li&gt;Artifact Registry : to store artifact after build. &lt;/li&gt;
&lt;li&gt;Cloud Build : to build the project&lt;/li&gt;
&lt;li&gt;Analytics and Logs : for monitoring&lt;/li&gt;
&lt;li&gt;Next.js (using TypeScript) : chosen for its server-side rendering capabilities and SEO friendliness. &lt;/li&gt;
&lt;li&gt;TailwindCSS : to create a smooth and responsive user experience&lt;/li&gt;
&lt;li&gt;Other : Swiper.js, etc&lt;/li&gt;
&lt;li&gt;Using a vector database to enable similarity-based retrieval&lt;/li&gt;
&lt;li&gt;Integrating with a retrieval-augmented generation (RAG) to give fast response to user-queries.&lt;/li&gt;
&lt;li&gt;Working on fine-tuning the T5-small model using the CNN/DailyMail dataset test data for summarize the articles. This will take lot of time and I am going to post learning from this fine-tuning as well. &lt;/li&gt;
&lt;li&gt;And many more... &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can explore the app here(Mobile-first) : &lt;a href="https://www.inbits.co" rel="noopener noreferrer"&gt;https://www.inbits.co&lt;/a&gt;&lt;br&gt;
(Feedback is always appreciated!)&lt;/p&gt;

&lt;p&gt;This entire experience has been a way for me to stay hands-on, apply what I’ve learned, and keep up with real-world use cases in cloud, full-stack development, and machine learning.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>agents</category>
      <category>gcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>Difference between var, let and const in JavaScript</title>
      <dc:creator>Amit Verma</dc:creator>
      <pubDate>Sat, 10 Jun 2023 23:55:50 +0000</pubDate>
      <link>https://dev.to/amitvermaknw/difference-between-var-let-and-const-in-javascript-1mno</link>
      <guid>https://dev.to/amitvermaknw/difference-between-var-let-and-const-in-javascript-1mno</guid>
      <description>&lt;p&gt;In JavaScript, the keywords var, let, and const are used to declare variables, but they have some key differences in terms of scope, hoisting, and mutability. Here's a brief explanation of the differences between these three variable declarations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;var&lt;/strong&gt;: The var keyword has been used in JavaScript for a long time. Variables declared with var are function-scoped, meaning they are accessible within the function in which they are declared. If a variable is declared with var outside of any function, it becomes globally scoped and can be accessed throughout the entire script. One important thing to note is that variables declared with var are hoisted, which means they are moved to the top of their scope during the compilation phase.&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;function exampleFunction() {
    var x = 10;
    if (true) {
        var y = 20;
        console.log(x); //Output 10
    }
    console.log(y); //output 20
}
exampleFunction();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;let&lt;/strong&gt;: Introduced in ECMAScript 6 (ES6), the let keyword allows the declaration of block-scoped variables. Block scope means the variable is only accessible within the nearest pair of curly braces {} where it is declared. Unlike var, let variables are not hoisted to the top of their scope. They are only accessible after their declaration statement. Additionally, let variables can be reassigned new values, but their scope remains within the block where they are defined.&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;function exampleFunction() {
    let x = 10;
    if (true) {
        let y = 20;
        console.log(x); // 10
    }
    console.log(y); // ReferenceError: y is not defined
}
exampleFunction();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;const&lt;/strong&gt;: Also introduced in ES6, the const keyword is used to declare constants. Constants are block-scoped and cannot be reassigned after declaration. This means that once a value is assigned to a const variable, it cannot be changed. Like let, const variables are also not hoisted and are only accessible after their declaration statement.&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;function exampleFunction() {
    const x = 10;
    if (true) {
        const y = 20;
        console.log(x); // 10
    }
    console.log(y); // ReferenceError: y is not defined
}
exampleFunction();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In summary, var is function-scoped and hoisted, let is block-scoped and not hoisted, and const is block-scoped and immutable. It is recommended to use let and const over var due to the more predictable scoping behavior they provide. Additionally, using const for variables that should not be reassigned helps to write more robust and error-free code.&lt;/p&gt;

&lt;p&gt;It's important to note that the scope and behavior of these keywords may change depending on whether they are used in the global scope, function scope, or inside other constructs like loops or conditionals. Understanding variable scoping and the differences between var, let, and const is crucial for writing clean and reliable JavaScript code.&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;br&gt;
Happy coding&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
