<?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: Utkarsh K</title>
    <description>The latest articles on DEV Community by Utkarsh K (@utkarshk).</description>
    <link>https://dev.to/utkarshk</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%2F2526689%2F216a789a-f710-4896-aac6-8b41aceb8250.gif</url>
      <title>DEV Community: Utkarsh K</title>
      <link>https://dev.to/utkarshk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/utkarshk"/>
    <language>en</language>
    <item>
      <title>My Journey as a React Developer Intern at The Entrepreneurship Network</title>
      <dc:creator>Utkarsh K</dc:creator>
      <pubDate>Sun, 05 Jan 2025 06:45:54 +0000</pubDate>
      <link>https://dev.to/utkarshk/my-journey-as-a-react-developer-intern-at-the-entrepreneurship-network-14bc</link>
      <guid>https://dev.to/utkarshk/my-journey-as-a-react-developer-intern-at-the-entrepreneurship-network-14bc</guid>
      <description>&lt;p&gt;Working as a React Developer Intern at &lt;strong&gt;The Entrepreneurship Network (TEN)&lt;/strong&gt; was an exhilarating experience. It was a perfect blend of learning, coding, and solving real-world problems. From creating interactive UI components to optimizing web applications, every task added a new layer to my skills.  &lt;/p&gt;

&lt;p&gt;Let me take you through my journey, highlighting the challenges, learnings, and the fun moments along the way.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Getting Started: Laying the Foundations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The internship began with an introduction to the existing codebase. Understanding the architecture and grasping how React was used in the project were crucial first steps.  &lt;/p&gt;

&lt;p&gt;The first task? A simple yet critical component—a &lt;strong&gt;Reusable Button&lt;/strong&gt;. It might sound basic, but designing a button that could adapt to various themes and functionalities was a great start.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// ReusableButton.js&lt;/span&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="nx"&gt;PropTypes&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;prop-types&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ReusableButton&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;label&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;styleType&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;styles&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;primary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;backgroundColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#007BFF&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#fff&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;secondary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;backgroundColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#6C757D&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#fff&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;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;button&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styles&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;styleType&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&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;span class="nx"&gt;ReusableButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;propTypes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isRequired&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;onClick&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;func&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isRequired&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;styleType&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;PropTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;oneOf&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;primary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;secondary&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;span class="nx"&gt;ReusableButton&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;defaultProps&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;styleType&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;primary&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;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;ReusableButton&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Lesson Learned&lt;/strong&gt;: The simplest components often have the most impact when built with scalability in mind.  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Building Dashboards: The Heart of React Apps&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One of the major milestones was working on a &lt;strong&gt;User Dashboard&lt;/strong&gt;. The challenge here was to display dynamic data fetched from APIs while ensuring the UI remained responsive and intuitive.  &lt;/p&gt;

&lt;p&gt;Here’s a snippet of the table component I built for the dashboard:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// DashboardTable.js&lt;/span&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;DashboardTable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;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;table&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;thead&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;tr&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;th&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;ID&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;th&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;th&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;th&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;th&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Email&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;th&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;th&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Status&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;th&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;tr&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;thead&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;tbody&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&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;tr&lt;/span&gt; &lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="si"&gt;}&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;td&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;td&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;td&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;td&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;td&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;td&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;td&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;td&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;tr&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;tbody&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;table&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;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;DashboardTable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip&lt;/strong&gt;: Always validate API data before rendering to prevent crashes or glitches.  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;State Management: A Redux Adventure&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As the project grew, managing the state became tricky. This was my first real-world experience using &lt;strong&gt;Redux&lt;/strong&gt;, and it was a game-changer. I implemented a state management system to track user authentication and preferences.&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="c1"&gt;// actions.js&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;login&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;LOGIN&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&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;const&lt;/span&gt; &lt;span class="nx"&gt;logout&lt;/span&gt; &lt;span class="o"&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="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;LOGOUT&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;span class="c1"&gt;// reducer.js&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;initialState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;isAuthenticated&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;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;authReducer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;initialState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;switch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;LOGIN&lt;/span&gt;&lt;span class="dl"&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;...&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;isAuthenticated&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;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;payload&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;LOGOUT&lt;/span&gt;&lt;span class="dl"&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;...&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;isAuthenticated&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;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="nl"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;authReducer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This setup simplified managing authentication across the app, and debugging became far easier.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Chronology Table&lt;/strong&gt;
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Date&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Tasks Completed&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Week 1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Explored the existing codebase, created reusable components, and learned the project's architecture.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Week 2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Developed a dynamic User Dashboard with API integrations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Week 3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Worked on implementing Redux for state management.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Week 4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Built and tested forms for user feedback and data entry.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Week 5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Focused on performance optimization and debugging.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Final Week&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Presented the completed modules and documented key learnings for the team.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Form Magic: Handling Inputs Like a Pro&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Creating forms in React can be tricky, but I mastered the art during this internship. From validation to dynamic field rendering, it was a fulfilling challenge.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// FeedbackForm.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&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&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;FeedbackForm&lt;/span&gt; &lt;span class="o"&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="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setFormData&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&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;email&lt;/span&gt;&lt;span class="p"&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;feedback&lt;/span&gt;&lt;span class="p"&gt;:&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;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nf"&gt;setFormData&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&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;Form Submitted&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;formData&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;form&lt;/span&gt; &lt;span class="na"&gt;onSubmit&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleSubmit&lt;/span&gt;&lt;span class="si"&gt;}&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;input&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
        &lt;span class="na"&gt;placeholder&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Name"&lt;/span&gt;
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&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;input&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
        &lt;span class="na"&gt;placeholder&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Email"&lt;/span&gt;
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&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;textarea&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"feedback"&lt;/span&gt;
        &lt;span class="na"&gt;placeholder&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Your Feedback"&lt;/span&gt;
        &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;feedback&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;onChange&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="si"&gt;}&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;button&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Submit&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&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;form&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;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;FeedbackForm&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Takeaway&lt;/strong&gt;: The key to great forms? Validation, user feedback, and a touch of creativity.  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Reflections on the Internship&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;My time at The Entrepreneurship Network taught me that React is not just about components—it’s about creating seamless user experiences. Whether it was handling state, optimizing performance, or debugging tricky issues, every moment was a step toward becoming a better developer.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Coding is an art, and every line you write shapes the user's experience."&lt;/strong&gt;  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This internship not only enhanced my technical skills but also instilled a sense of responsibility to create user-centric applications. I’m grateful for the opportunity and excited about the road ahead!  &lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>career</category>
      <category>internship</category>
    </item>
    <item>
      <title>My Journey as a Technical Writer at UpGrad</title>
      <dc:creator>Utkarsh K</dc:creator>
      <pubDate>Sat, 04 Jan 2025 07:58:55 +0000</pubDate>
      <link>https://dev.to/utkarshk/my-journey-as-a-technical-writer-at-upgrad-214n</link>
      <guid>https://dev.to/utkarshk/my-journey-as-a-technical-writer-at-upgrad-214n</guid>
      <description>&lt;p&gt;Working as a technical writer at UpGrad for over two years was a transformative experience. It was more than just crafting content—it was about simplifying complexity, guiding learners, and staying at the forefront of the ever-evolving tech landscape.  &lt;/p&gt;

&lt;p&gt;From writing about cutting-edge technologies to creating detailed guides for budding programmers, every day brought a new challenge and learning opportunity. Here’s how my journey unfolded.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Getting Started: Bridging the Gap Between Tech and Learners&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When I joined UpGrad, I quickly realized that technical writing was not just about explaining concepts. It was about understanding the audience—be it a fresher trying to break into tech or a professional looking to upskill. My role involved breaking down complex topics into bite-sized, digestible pieces without losing their essence.  &lt;/p&gt;

&lt;p&gt;One of my first major projects was creating content for &lt;strong&gt;Interview Questions&lt;/strong&gt; across various levels. This involved diving deep into core concepts, framing questions that aligned with industry trends, and providing solutions that resonated with learners.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Every piece of content should empower the reader to take one step closer to their goal."&lt;/strong&gt;  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Exploring Technologies: React, MERN, and More&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As time passed, I got the opportunity to write on a diverse range of technologies. From modern web frameworks like &lt;strong&gt;React&lt;/strong&gt; and &lt;strong&gt;MERN&lt;/strong&gt; to server-side languages like &lt;strong&gt;JSP&lt;/strong&gt; and frameworks like &lt;strong&gt;Django&lt;/strong&gt;, each topic was a deep dive into the technicalities and their real-world applications.  &lt;/p&gt;

&lt;p&gt;Writing about these subjects often meant collaborating with subject matter experts, researching the latest updates, and presenting the information in a way that was both engaging and insightful.  &lt;/p&gt;

&lt;p&gt;Some memorable milestones included:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web3&lt;/strong&gt;: Explaining decentralized technologies and their impact on industries was both challenging and rewarding.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB&lt;/strong&gt;: Crafting guides for this NoSQL database was a chance to cater to a growing community of developers.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interview Series&lt;/strong&gt;: Creating a series that helped learners prepare for job interviews across various tech stacks.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Staying Relevant: Continuous Learning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In the tech world, the only constant is change. As a writer, staying updated with the latest trends was not just a responsibility—it was a necessity. Every new update in &lt;strong&gt;React&lt;/strong&gt; or emerging framework in &lt;strong&gt;Web3&lt;/strong&gt; meant hours of research and adaptation to ensure learners received the most current and accurate information.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"In tech writing, you’re both a teacher and a student—learning never stops."&lt;/strong&gt;  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Challenges and Triumphs&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Of course, the journey wasn’t without challenges. Explaining complex concepts to a non-technical audience, ensuring the content was error-free, and meeting tight deadlines often tested my skills.  &lt;/p&gt;

&lt;p&gt;But the triumphs outweighed the hurdles. Positive feedback from learners, the satisfaction of seeing my work help someone land a job, and the sense of contributing to the growth of a learning community made every effort worthwhile.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;The Impact of Collaboration&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One of the best parts of working at UpGrad was the collaborative culture. Working closely with product teams, subject matter experts, and fellow writers not only enriched my content but also broadened my perspective.  &lt;/p&gt;

&lt;p&gt;Team brainstorming sessions often led to innovative ideas for presenting content—whether it was through interactive quizzes, real-world examples, or storytelling.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Chronology Table: My UpGrad Journey&lt;/strong&gt;
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Time Period&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Key Contributions&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Initial Months&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Onboarded with projects on Interview Questions for various technical roles and levels.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Year 1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Wrote detailed guides on React, MERN, and Django. Began exploring MongoDB and database-related topics.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Year 2 (Early)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Took on advanced topics like Web3 and Blockchain. Developed content around decentralized technologies.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Year 2 (Later)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Focused on refining Interview Questions series and creating job-oriented content tailored for learners.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Reflections&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Looking back, my time at UpGrad was not just about writing—it was about storytelling in the tech world. It was about taking something complex and making it accessible, relatable, and actionable.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"The pen might be mightier than the sword, but in tech, it’s the keyboard that makes all the difference."&lt;/strong&gt;  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This journey helped me grow not only as a writer but also as a tech enthusiast, always curious to learn and eager to share. If there’s one thing I’ve learned, it’s this:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Knowledge becomes truly valuable when it’s shared."&lt;/strong&gt;  &lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
    <item>
      <title>My IT Internship at Aditya Birla Fashion and Retail Ltd.</title>
      <dc:creator>Utkarsh K</dc:creator>
      <pubDate>Fri, 03 Jan 2025 08:10:07 +0000</pubDate>
      <link>https://dev.to/utkarshk/my-it-internship-at-aditya-birla-fashion-and-retail-ltd-a4</link>
      <guid>https://dev.to/utkarshk/my-it-internship-at-aditya-birla-fashion-and-retail-ltd-a4</guid>
      <description>&lt;p&gt;Spending a month as an intern at Aditya Birla Fashion and Retail Ltd. was an exciting dive into the e-commerce world, blending technology, strategy, and creativity. From exploring admin panels to analyzing user interfaces, every day brought a fresh challenge. Here’s a week-by-week account of my journey.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Chronology Table: July Internship at Aditya Birla Fashion and Retail Ltd.
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Date&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Tasks and Activities&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 1-3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Introduced to Admin Panel, explored Google Search Console and Google Merchant Center.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 4-6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Conducted an analysis of SEO updates, summarized findings, and visualized insights.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Holiday.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 8-9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Studied SEO patterns for 2023 and gained full access to Google Merchant Center for hands-on learning.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 10&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Mentoring session with Arun; reviewed findings and learned about Pantaloons’ technical stack.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 11-12&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Analyzed Pantaloons’ Desktop UI for user experience improvements.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 13-14&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Holidays.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 15&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Resumed Desktop UI analysis and implemented feedback for refinements.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 16&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Began Mobile UI analysis with a focus on the Homepage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 17&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Continued Mobile UI analysis, focusing on the Product Listing Page (PLP).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 18&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Completed Mobile UI analysis by reviewing the Terms and Conditions page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 19&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sick leave.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 20-21&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Holidays.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 22&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Met with an SEO expert (Sakshi) to learn advanced strategies for optimization.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 23&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Summarized and reviewed findings from the Desktop UI analysis.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 24&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Collaborated with the Pantaloons E-commerce team to align on key objectives.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 25&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Analyzed Product Listing Page and Product Page of the Pantaloons website.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 26&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Conducted a detailed review of the Check-Out page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 27&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Holiday.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 28&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Holiday.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 29&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Submitted a comprehensive report on the PDP and Check-Out pages.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 30&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Organized and finalized all documentation and files.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;July 31&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Completed the month’s activities and wrapped up the internship.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&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%2Fzzwcznb652zz5vn610b7.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%2Fzzwcznb652zz5vn610b7.jpg" alt="Google Search Console" width="598" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;July 1-3: Kicking Off with Admin Panels and Metrics&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The first three days introduced me to the &lt;strong&gt;Admin Panel&lt;/strong&gt;, granting access to networks and key functionalities. The highlight was exploring the &lt;strong&gt;Google Search Console&lt;/strong&gt;, where I analyzed website performance metrics like clicks, impressions, and search queries.  &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%2Fnx8i4w6plpga9fck640w.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%2Fnx8i4w6plpga9fck640w.png" alt="Google Merchant Center" width="299" height="168"&gt;&lt;/a&gt;&lt;br&gt;
By midweek, I transitioned to understanding the &lt;strong&gt;Google Merchant Center&lt;/strong&gt;, a tool critical to integrating product data into e-commerce strategies. It was fascinating to see how these tools directly influence user experiences and sales.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Lesson of the Week&lt;/strong&gt;: Metrics aren't just numbers—they tell a story about what users want.  &lt;/p&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;July 4-6: SEO and Insights&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Thursday started with a deep dive into SEO updates and their impact on online visibility. As someone relatively new to this, seeing how algorithm tweaks influence rankings was eye-opening. The next day, I summarized my findings, plotting trends to visualize results.  &lt;/p&gt;

&lt;p&gt;July 6th was a holiday, offering a breather before the next set of tasks.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gs"&gt;**Quick SEO Tip**&lt;/span&gt;:  
&lt;span class="p"&gt;-&lt;/span&gt; Always track updates to understand the search algorithm.  
&lt;span class="p"&gt;-&lt;/span&gt; Keywords are important, but user intent matters more.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;July 7-9: Understanding Patterns and Hands-On Access&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;After a relaxing Sunday, work resumed on Monday with an exploration of &lt;strong&gt;SEO patterns over 2023&lt;/strong&gt;. I studied how changing user behavior shaped digital trends, a critical insight for optimizing content.  &lt;/p&gt;

&lt;p&gt;On July 9th, I gained full access to the Google Merchant Center, enabling hands-on learning with product data management. Managing real-time data was exhilarating—it felt like being part of the backend machinery that drives e-commerce success.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Insight&lt;/strong&gt;: Patterns from the past can predict future trends.  &lt;/p&gt;
&lt;/blockquote&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%2Fk9lbv8rqdkldjwm2kemi.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%2Fk9lbv8rqdkldjwm2kemi.jpg" alt="Pantaloons" width="800" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;July 10-12: Meetings and UI Analysis&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Wednesday started with a mentoring session that reviewed my findings and introduced me to the &lt;strong&gt;Pantaloons’ technical stack&lt;/strong&gt;. This was my first in-depth look at how big brands manage their tech.  &lt;/p&gt;

&lt;p&gt;The week ended with an analysis of the &lt;strong&gt;Pantaloons Desktop UI&lt;/strong&gt;, where I scrutinized user interfaces and identified areas for enhancement.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;July 13-15: Refining Desktop UI&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;After two consecutive holidays, I resumed work on July 15th. This time, the focus was on implementing feedback for the &lt;strong&gt;Desktop UI&lt;/strong&gt; analysis. I learned that even minor tweaks in UI could significantly enhance user engagement.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;July 16-18: Exploring Mobile UI&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This week, I dived into the &lt;strong&gt;Mobile UI&lt;/strong&gt; of the Pantaloons website. Each day brought a new page under the spotlight:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;July 16&lt;/strong&gt;: Homepage.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;July 17&lt;/strong&gt;: Product Listing Page (PLP).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;July 18&lt;/strong&gt;: Terms and Conditions page.
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Takeaway&lt;/strong&gt;: Mobile-first design isn’t optional; it’s essential.  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;July 19-21: Sick Days and Breaks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;July 19th was a sick leave, followed by holidays over the weekend. It gave me time to recharge for the upcoming week.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;July 22-24: Advanced Strategies and Collaboration&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;July 22nd featured a meeting with an SEO expert, who shared advanced strategies for optimization. Her tips on leveraging meta tags and structured data were game-changers.  &lt;/p&gt;

&lt;p&gt;On July 23rd, I reviewed the Desktop UI analysis before collaborating with the &lt;strong&gt;Pantaloons E-commerce team&lt;/strong&gt; on July 24th. Teamwork was instrumental in aligning objectives and setting priorities.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Team Tip&lt;/strong&gt;: Collaboration brings out ideas you didn’t even know existed.  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;July 25-27: Diving into the Check-Out Experience&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The next task was to thoroughly analyze critical pages on the Pantaloons website:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;July 25&lt;/strong&gt;: Product Listing Page and Product Page.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;July 26&lt;/strong&gt;: Check-Out page.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By dissecting these pages, I identified bugs and suggested enhancements to improve the shopping experience. July 27th was another holiday—a well-timed pause.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;July 28-31: Wrapping It All Up&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;After a Sunday break, the final stretch began on July 29th with the submission of a comprehensive report covering the PDP and Check-Out pages.  &lt;/p&gt;

&lt;p&gt;The last two days were spent organizing and finalizing all documentation. By July 31st, I had neatly wrapped up the month’s activities, leaving a blueprint for future interns.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Closing Thought&lt;/strong&gt;: Document everything. It’s your guide for retrospection and growth.  &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Reflections on the Internship&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This internship was a perfect blend of technical learning and strategic insights. It taught me the importance of user-centric design, the power of collaboration, and the role of data in decision-making.  &lt;/p&gt;

&lt;p&gt;If I could sum up my experience in one line:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Every click, every search, and every scroll tells a story—it’s up to us to make it a good one."  &lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>internship</category>
      <category>college</category>
      <category>ui</category>
    </item>
    <item>
      <title>A Month at IIT Guwahati: Crafting the 'Wave' Hand-Sign Recognition System</title>
      <dc:creator>Utkarsh K</dc:creator>
      <pubDate>Fri, 03 Jan 2025 07:43:39 +0000</pubDate>
      <link>https://dev.to/utkarshk/a-month-at-iit-guwahati-crafting-the-wave-hand-sign-recognition-system-3gk7</link>
      <guid>https://dev.to/utkarshk/a-month-at-iit-guwahati-crafting-the-wave-hand-sign-recognition-system-3gk7</guid>
      <description>&lt;p&gt;Starting on an internship project at IIT Guwahati was akin to setting sail on uncharted waters. The mission: develop 'Wave,' a hand-sign recognition system that translates gestures into actionable commands. This journey was a blend of meticulous planning, coding sprints, and the occasional eureka moment. Here's a week-by-week chronicle of this adventure, enriched with insights and technical snippets.&lt;/p&gt;




&lt;h2&gt;
  
  
  Week 1: &lt;strong&gt;Blueprinting 'Wave'&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Project Planning
&lt;/h3&gt;

&lt;p&gt;The inception phase was all about envisioning 'Wave.' We delineated its scope, set clear objectives, and gathered the requirements essential for a robust hand-sign recognition system. The goal was to create an intuitive interface where gestures seamlessly translate into commands.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"A vision without a plan is just a dream."&lt;/p&gt;
&lt;/blockquote&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%2Fo8muzz7cvc6z703i10sm.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%2Fo8muzz7cvc6z703i10sm.png" alt="Project Workflow" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
We outlined a structured workflow to guide our development process:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;### Workflow&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; Data Collection: Acquire a diverse set of hand-sign images.
&lt;span class="p"&gt;2.&lt;/span&gt; Data Preprocessing: Standardize and augment the dataset.
&lt;span class="p"&gt;3.&lt;/span&gt; Model Selection: Choose an appropriate machine learning algorithm.
&lt;span class="p"&gt;4.&lt;/span&gt; Feature Extraction: Identify key hand landmarks.
&lt;span class="p"&gt;5.&lt;/span&gt; Model Training: Train the model with processed data.
&lt;span class="p"&gt;6.&lt;/span&gt; Gesture Mapping: Assign gestures to specific actions.
&lt;span class="p"&gt;7.&lt;/span&gt; GUI Development: Build an intuitive user interface.
&lt;span class="p"&gt;8.&lt;/span&gt; Testing and Validation: Ensure accuracy and reliability.
&lt;span class="p"&gt;9.&lt;/span&gt; Documentation and Deployment: Share the project with the community.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Week 2: &lt;strong&gt;Gathering and Refining Data&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Data Collection
&lt;/h3&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%2Fkkb8qunr9is4kkakupdp.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%2Fkkb8qunr9is4kkakupdp.png" alt="Data Collection for the Model" width="800" height="501"&gt;&lt;/a&gt;&lt;br&gt;
Equipped with a custom camera setup integrated with OpenCV, we embarked on capturing a wide array of hand gestures. The diversity of the dataset was paramount to ensure 'Wave' could recognize gestures across different users and environments.&lt;/p&gt;

&lt;p&gt;Here's a glimpse into our data collection script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;cv2&lt;/span&gt;

&lt;span class="n"&gt;cap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cv2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;VideoCapture&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;ret&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;frame&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;cv2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;imshow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Capture Hand Gesture&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;frame&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;cv2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;waitKey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mh"&gt;0xFF&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nf"&gt;ord&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;q&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;  &lt;span class="c1"&gt;# Press 'q' to quit
&lt;/span&gt;        &lt;span class="k"&gt;break&lt;/span&gt;

&lt;span class="n"&gt;cap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;release&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;cv2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;destroyAllWindows&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;"Diversity in data ensures universality in application."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Data Preprocessing
&lt;/h3&gt;

&lt;p&gt;Post-collection, the data underwent preprocessing. This involved resizing images, normalizing pixel values, and augmenting the dataset to enhance model robustness. These steps were crucial to prepare the data for effective training.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;tensorflow.keras.preprocessing.image&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ImageDataGenerator&lt;/span&gt;

&lt;span class="n"&gt;datagen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ImageDataGenerator&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;rescale&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;rotation_range&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;width_shift_range&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;height_shift_range&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;horizontal_flip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;"Preprocessing is the quiet workhorse behind successful models."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Week 3: &lt;strong&gt;Modeling and Feature Extraction&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Model Selection
&lt;/h3&gt;

&lt;p&gt;We evaluated several machine learning models, including Random Forest and Support Vector Machine (SVM). After rigorous testing, SVM emerged as the preferred choice due to its effectiveness in handling the complexities of gesture recognition.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Selecting the right model is half the battle won."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Feature Extraction
&lt;/h3&gt;

&lt;p&gt;Utilizing Google's Mediapipe library, we extracted hand landmarks, capturing the intricate details of each gesture. This step was pivotal in enabling the model to distinguish between subtle differences in hand signs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;mediapipe&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;mp&lt;/span&gt;

&lt;span class="n"&gt;mp_hands&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;solutions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;hands&lt;/span&gt;
&lt;span class="n"&gt;hands&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mp_hands&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Hands&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;hands&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;multi_hand_landmarks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;hand_landmarks&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;multi_hand_landmarks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hand_landmarks&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;"The devil is in the details; so is the solution."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Week 4: &lt;strong&gt;Bringing 'Wave' to Life&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Model Training
&lt;/h3&gt;

&lt;p&gt;With features in hand, we trained the SVM model, fine-tuning it to achieve optimal accuracy. Each iteration brought us closer to a model capable of real-time gesture recognition.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Training a model is like sculpting; patience and precision are key."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Gesture Mapping
&lt;/h3&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%2Fopmrndwo7i71rq19mj9i.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%2Fopmrndwo7i71rq19mj9i.png" alt="Guesture Mapped for Different Functions" width="800" height="277"&gt;&lt;/a&gt;&lt;br&gt;
We defined a mapping system where each recognized gesture corresponded to a specific action. For instance, a 'thumbs-up' could open a new browser tab, while a 'wave' might scroll down a webpage.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;gesture_map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;thumbs_up&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Open New Tab&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;wave&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Scroll Down&lt;/span&gt;&lt;span class="sh"&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;blockquote&gt;
&lt;p&gt;"A gesture is worth a thousand clicks."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  GUI Development
&lt;/h3&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%2Fzlzf1b41ttevdgjvlf94.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%2Fzlzf1b41ttevdgjvlf94.png" alt="GUI for Wave" width="800" height="508"&gt;&lt;/a&gt;&lt;br&gt;
Employing Tkinter, we developed a user-friendly graphical interface, ensuring that users could interact with 'Wave' intuitively. The design was minimalist, focusing on functionality and ease of use.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tkinter&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tk&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;perform_action&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Performing: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Tk&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Recognize Gesture&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;perform_action&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;thumbs_up&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pack&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mainloop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;"Simplicity is the ultimate sophistication."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Testing and Validation
&lt;/h3&gt;

&lt;p&gt;Extensive testing was conducted to validate 'Wave's' performance across various conditions. Each misclassification led to refinements, enhancing the system's accuracy and reliability.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"In testing, failures are the stepping stones to perfection."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Documentation and Deployment
&lt;/h3&gt;

&lt;p&gt;We meticulously documented the entire project, ensuring that others could understand and build upon our work. 'Wave' was then deployed as an open-source project, inviting collaboration and further innovation.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Knowledge shared is knowledge multiplied."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Reflections
&lt;/h2&gt;

&lt;p&gt;The journey of developing 'Wave' at IIT Guwahati was a confluence of learning, innovation, and teamwork. It underscored the importance of meticulous planning, adaptability, and the relentless pursuit of excellence.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Innovation is the intersection of hard work and creativity."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For those interested in exploring 'Wave' further, the open-source project is available on GitHub: &lt;a href="https://github.com/utkarshkonwar/Wave" rel="noopener noreferrer"&gt;Wave by Utkarsh Konwar&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is deployed at &lt;a href="https://wavegesture.web.app/" rel="noopener noreferrer"&gt;Wave&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The IEEE Published paper for the project can be found at &lt;a href="https://ieeexplore.ieee.org/document/10396173" rel="noopener noreferrer"&gt;A Contactless Control Mechanism for Computerized Systems using Hand Gestures&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To gain a visual understanding of hand gesture recognition using hand landmarks, you might find this video insightful:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/a99p_fAr6e4" rel="noopener noreferrer"&gt;Custom Hand Gesture Recognition with Hand Landmarks Using Google’s Mediapipe + OpenCV in Python&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Embarking on this project was more than an academic endeavor; it was a testament to what a passionate team can achieve in a month. The experience was enriching, and the outcome, 'Wave,' stands as a beacon for future innovations in human-computer interaction. &lt;/p&gt;

</description>
      <category>internship</category>
      <category>college</category>
      <category>career</category>
    </item>
    <item>
      <title>How I Juggled Between College and Work</title>
      <dc:creator>Utkarsh K</dc:creator>
      <pubDate>Sat, 07 Dec 2024 07:15:14 +0000</pubDate>
      <link>https://dev.to/utkarshk/how-i-juggled-between-college-and-work-23hm</link>
      <guid>https://dev.to/utkarshk/how-i-juggled-between-college-and-work-23hm</guid>
      <description>&lt;p&gt;Juggline between college and work can be a nightmare without a proper schedule. I started applying to posts right from the first year of college. To put it simply, it was gruesome. &lt;/p&gt;

&lt;p&gt;I applied to around 30-40 applications daily for over 2 weeks, but the interview calls were often unsatisfactory from my end. I was lacking the skills and communication reqired for a professional environment. It wasn't that I couldn't communicate, I just wasn't able to put my thoughts into words for the interviewer to understand. My blank resume wasn't helping either.&lt;/p&gt;

&lt;p&gt;So, I stopped for a brief moment, and thought to myself &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"maybe applying to technical positions wouldn't be the most logical thing to do right now."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I, then completely revamped my approach. There were two primary objective that I had to follow. Learn more about technologies and put them into words better. I knew I could write because I had been writing on &lt;a href="https://www.quora.com/profile/Utkarsh-Konwar-1" rel="noopener noreferrer"&gt;Quora&lt;/a&gt; for quite some time, and so I decided it was best to go for the position of a Technical Content Writer. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Journey Begins
&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.amazonaws.com%2Fuploads%2Farticles%2F6ztwxi84gsmmknsx8fg0.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%2F6ztwxi84gsmmknsx8fg0.png" alt="Technical Content Writing" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I started applying to technical writing positions top, bottom, left, right and center. I sent applications day and night and was able to land myself a gig. Though it didn't pay as much as I wanted, it was something. &lt;/p&gt;

&lt;p&gt;A month of work turned into two, and then three and then a year. I applied to more and more jobs along the way and landed myself multiple jobs in the span of 2 years, and the pay was good too( On some months it crossed 1L+). However, with so much work and college alongside, juggling between the two became cumbersome. &lt;/p&gt;

&lt;p&gt;When I paid more attention to work, my grades suffered, when I paid more attention to college, my work deteriorated. It was because of one fundamental quality I was lacking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pledging: A Fundamental Quality for Work
&lt;/h2&gt;

&lt;p&gt;I was flexible with my daily tasks, and with flexibility came frustration. It distracted me from my goals because I put greater emphasis on managing my schedule than on the actual task itself. &lt;/p&gt;

&lt;p&gt;This was when I read an article on Pledge, it took the idea from the book "The Good Life" by Rolf Dobelli. A pledge, in its simplest form, would mean that you have to stick to whatever goals you have set and can't deviate from it even 1%.&lt;/p&gt;

&lt;p&gt;And so, I started out with a pledge, system, or a work ethic. People call it by different names, though it all amounts to the same meaning. &lt;/p&gt;

&lt;p&gt;9-5 was college( I squeezed in my workouts during break time and did whatever shopping or eating out I had to do by bunking classes, because who attends engineering classes anyway?), 5-8 was study, 8-11 was work, 11-1 was projects, and then I read for around 30 minutes. &lt;/p&gt;

&lt;p&gt;This was hectic, almost a pain to get used to , but it improvised my grades and workflow to a great extent. I had my peace of mind knowing that a client or manager won't call me outside of my work-hours and that my college studies won't interfere with my work. &lt;/p&gt;

&lt;p&gt;If I had any free time in-between these schedules, I'd have worked on improvising my &lt;a href="https://www.linkedin.com/in/utkarshkonwar/" rel="noopener noreferrer"&gt;socials&lt;/a&gt;, or applied to more jobs. &lt;/p&gt;

&lt;h2&gt;
  
  
  Transitioning from Writing to Tech
&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.amazonaws.com%2Fuploads%2Farticles%2F8batmyuf8nkt5d6m3o5b.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%2F8batmyuf8nkt5d6m3o5b.png" alt="Transition to Tech" width="750" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After working on my technical content writing for around 1.5 years, I was confident of my skills and communication. However, applying to technical posts would set me back to a very minimal pay again, and the applying-interview process is another headache. &lt;/p&gt;

&lt;p&gt;But, on the flip side, I already had a long list of connections, be it from freelancing, clients from work or my employers itself. Everyone knew I could write, had the technical knowledge of how something works and was familiar with me from all the meeting we had. Why not approach them? &lt;/p&gt;

&lt;p&gt;And so I did. This by far was one of the best decisions. Even when they didn't have an opening, they'd refer me to a connection of theirs and every meeting went flawlessly. Yes, I did do a few blunders along the way, but that's a story for another day. &lt;/p&gt;

&lt;h2&gt;
  
  
  What Am I Doing Now?
&lt;/h2&gt;

&lt;p&gt;I'm currently in the 4th and last year of college, working for 5 firms at the moment, 2 of which are from multinational technical content writing companies and 3 for Tech. &lt;/p&gt;

&lt;p&gt;The journey so far was tiresome, filled with ups and downs, but all in all, I wouldn't change a thing about it if I had the chance. (Though if given the opportunity I'd have made better financial decisions, I'm very irresponsible with it:) ) &lt;/p&gt;

</description>
      <category>college</category>
      <category>freelance</category>
      <category>career</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Material You NewTab Extension- A Fresh Look for Your Browser</title>
      <dc:creator>Utkarsh K</dc:creator>
      <pubDate>Thu, 05 Dec 2024 18:06:58 +0000</pubDate>
      <link>https://dev.to/utkarshk/material-you-newtab-extension-a-fresh-look-for-your-browser-21h2</link>
      <guid>https://dev.to/utkarshk/material-you-newtab-extension-a-fresh-look-for-your-browser-21h2</guid>
      <description>&lt;p&gt;Bored of the same old look of your browser's homepage? I tried multiple themes and colors but all came down to the same bland icons and layouts. That was until, I came across this new extension called "&lt;a href="https://github.com/XengShi/materialYouNewTab" rel="noopener noreferrer"&gt;Material You NewTab&lt;/a&gt;". &lt;/p&gt;

&lt;p&gt;I, being a fan of extensions, hopped right in to check what it has to offer, and I was quite impressed. It's super fun to play around with, very customizable and the best thing? It's fully open source so you can tinker around and make your homescreen look just like you want, all with just some vanilla HTML, CSS, JS work. &lt;/p&gt;

&lt;p&gt;Here are some snapshots I took from my homepage:&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%2Fw2d7w4f5pob10q2tp6iq.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%2Fw2d7w4f5pob10q2tp6iq.png" alt="Material You NewTab Blue Theme" width="800" height="394"&gt;&lt;/a&gt;&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%2Ftxpajuvw1g6m1eixgnd5.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%2Ftxpajuvw1g6m1eixgnd5.png" alt="Material You NewTab Red Theme" width="800" height="395"&gt;&lt;/a&gt;&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%2Fpyfv96fci1nt30vvhfhm.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%2Fpyfv96fci1nt30vvhfhm.png" alt="Material You NewTab Dark Theme" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These were just some of the themes available, and there are many more for you to choose from. You can also add your custom themes to it and have it colored your way. &lt;/p&gt;

&lt;p&gt;Also, it comes with dropdown menus for both &lt;strong&gt;AI Tools&lt;/strong&gt; and &lt;strong&gt;Google Workspace&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;I'll leave the rest for you to find out. A tad bit of mystery for you to check?&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Set Up Material You NewTab on My Browser?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;On Chrome&lt;/strong&gt;&lt;br&gt;
If you're using Chrome, it's a pretty simple and straightforward process, you can directly go to the &lt;a href="https://chromewebstore.google.com/detail/material-you-newtab/glloabhodjfmeoccmdngmhkpmdlakfbn" rel="noopener noreferrer"&gt;Chrome Store&lt;/a&gt; and add the extension straigh to your browser. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On Edge, Mozilla or Manual Changes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want to add the extension to Edge, Mozilla or manually add and customize your Browser's look, you can download the extension package from &lt;a href="https://github.com/XengShi/materialYouNewTab" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; and import it. Here's how you can do it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;After the download is complete, unzip (extract) the file.&lt;/li&gt;
&lt;li&gt;You should now have a folder containing all the necessary files.&lt;/li&gt;
&lt;li&gt; Open your browser and follow these steps:
 For Chrome : Type &lt;code&gt;chrome://extensions&lt;/code&gt; into your address bar.
 For Edge : Type &lt;code&gt;edge://extensions&lt;/code&gt; into your address bar.
 For Brave : Type &lt;code&gt;brave://extensions&lt;/code&gt; into your address bar.&lt;/li&gt;
&lt;li&gt;Once you're on the extensions management page, enable the "Developer mode" option.&lt;/li&gt;
&lt;li&gt;Click on "Load unpacked" and browse to the folder where you extracted the extension files. Press Enter to install the extension.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it! You're ready to use the new extension and change the way your browser homepage looks. &lt;/p&gt;

&lt;h2&gt;
  
  
  What Are The Customization Options?
&lt;/h2&gt;

&lt;p&gt;Well, the extension comes with some basic toggle settings which you can tweak to your preference. Some of them are:&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%2Fiminr235brfytatn2rir.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%2Fiminr235brfytatn2rir.png" alt="Customization Options" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, you can change them to your liking and add more functionality along the way. You can also submit your improvements to the main GitHub repository if you think they're worth adding to the extension.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So, what are you waiting for? Go check it out? &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you have any questions or suggestions, my comment box is just a click away!&lt;/p&gt;

</description>
      <category>extensions</category>
      <category>ui</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
