<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Untitled Publication]]></title><description><![CDATA[Untitled Publication]]></description><link>https://blogs.priamjain.me</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1703337519706/EGemZCEqk.svg</url><title>Untitled Publication</title><link>https://blogs.priamjain.me</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Apr 2026 16:28:24 GMT</lastBuildDate><atom:link href="https://blogs.priamjain.me/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to increase storage of AWS EC2 server without deleting data]]></title><description><![CDATA[Introduction
In this tutorial, I'll walk you through the steps required to increase the volume size of your EC2 instance on Amazon Web Services (AWS). As my storage needs grow, it's essential to be able to scale up my resources easily and efficiently...]]></description><link>https://blogs.priamjain.me/how-to-increase-storage-of-aws-ec2-server-without-deleting-data</link><guid isPermaLink="true">https://blogs.priamjain.me/how-to-increase-storage-of-aws-ec2-server-without-deleting-data</guid><category><![CDATA[AWS]]></category><category><![CDATA[ec2]]></category><category><![CDATA[EC2 instance]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[Cloud Computing]]></category><category><![CDATA[techblog]]></category><category><![CDATA[ebs]]></category><category><![CDATA[ebs snapshots]]></category><category><![CDATA[EBS Volume Types]]></category><dc:creator><![CDATA[Priam Jain]]></dc:creator><pubDate>Wed, 06 Mar 2024 13:48:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/hbLOLxAQ2-E/upload/b0633929c96f048646084fd4058f5d03.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction"><strong>Introduction</strong></h2>
<p>In this tutorial, I'll walk you through the steps required to increase the volume size of your EC2 instance on Amazon Web Services (AWS). As my storage needs grow, it's essential to be able to scale up my resources easily and efficiently. I'll be focusing on increasing my Elastic Block Store (EBS) storage and extending the partition accordingly.</p>
<h3 id="heading-prerequisites"><strong>Prerequisites</strong></h3>
<p>Before we begin, make sure you have the following:</p>
<ul>
<li><p>Access to an AWS account with appropriate permissions.</p>
</li>
<li><p>An EC2 instance with Elastic Block Store (EBS) is attached.</p>
</li>
<li><p>Take a snapshot of your EBS ( just in case :) )</p>
</li>
</ul>
<h2 id="heading-steps-to-increase-volume-size-of-my-ec2-instance"><strong>Steps to Increase Volume Size of My EC2 Instance</strong></h2>
<h3 id="heading-1-modify-ebs-volume"><strong>1. Modify EBS Volume</strong></h3>
<ol>
<li><p>Log in to your AWS Management Console.</p>
</li>
<li><p>Navigate to the EC2 dashboard.</p>
</li>
<li><p>Select the instance for which you want to increase the volume size.</p>
</li>
<li><p>In the details pane, locate the EBS volume attached to your instance.</p>
</li>
<li><p>Click on <strong>Modify</strong></p>
</li>
</ol>
<p><img src="https://lh7-us.googleusercontent.com/LrQVCI0b_XGUQkcRJ7WDbOf2Pp1GveE12ikEbSzdTF4fKzBPJUXBEsbmM0bfTvUBDME2AkWBIh5fjxSCHWRNxXSMZcN6nhjv-Dj8zZgp6Oqg4l9L1iSB86TcqYxKCfffO-Fc-PCsew8v2mZNQfJHz8Q" alt /></p>
<p><img src="https://lh7-us.googleusercontent.com/DOWenGY0Io0V2zSPEdBC1SvWh7HlU6oV2_urpAvzD8AhzxLXBr1VmOK2V29KFoPiFXSjHac6pb7_GETqvBYESI_fXjP-NG9OeCmasjbGWwyPaCWLyprOZKPvM1WmcaoyItipEustlNMulKOsQ6_IBpU" alt /></p>
<h3 id="heading-2-resize-partition"><strong>2. Resize Partition</strong></h3>
<p>Once I've modified the volume size, follow these steps to resize the partition on my EC2 instance:</p>
<h4 id="heading-1-ssh-into-my-ec2-instance">1. SSH into My EC2 Instance</h4>
<p>Open your terminal and SSH into your EC2 instance.</p>
<h4 id="heading-2-check-the-current-disk-layout">2. Check the Current Disk Layout</h4>
<p>Run the following command to check the current disk layout:</p>
<pre><code class="lang-bash">lsblk
</code></pre>
<p><img src="https://lh7-us.googleusercontent.com/vZcXKTAyymrfJ5ua1StMA9LxMmfw0YwfvfdCLMfAtcwGMACxqwcsNPz-j2wTm884oFbhXwnT6naaAN_uAaYgUFmkr5eVvg50YMEulikEllmj6GUXucdqZbBd3UH17lPpLJEXn_lTOfK0t-M3dyIZhzg" alt /></p>
<h4 id="heading-3-extend-partition">3. Extend Partition</h4>
<p>Use the following command to extend the partition:</p>
<pre><code class="lang-bash">sudo growpart /dev/nvme0n1 1
</code></pre>
<p>Replace <code>/dev/nvme0n1</code> with your disk identifier if it's different.</p>
<h4 id="heading-4-check-file-system-usage">4. Check File System Usage</h4>
<p>Check the file system usage with:</p>
<pre><code class="lang-bash">df -hT
</code></pre>
<p><img src="https://lh7-us.googleusercontent.com/PMgyvobh7W2FifukwsTDtnrx1z7saykYIjy3r09gXQftb8ZK4Xl89ZQrnlLXYrqDNMzp66sd_YHZAoHBY4zkfLTu4fACisf5D8bZI5Gf1xr1Bid0l_569MJFRw7mzcHAbTN3yej7vL83cUboNkuj_4c" alt /></p>
<h4 id="heading-5-resize-file-system">5. Resize File System</h4>
<p>Finally, resize the file system using:</p>
<pre><code class="lang-bash">sudo resize2fs /dev/root
</code></pre>
<p>Replace <code>/dev/root</code> with your root file system if it's different.</p>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>It's crucial to monitor your storage usage regularly and adjust resources accordingly to ensure optimal performance and scalability.</p>
<p>For more detailed information, you can refer to the <a target="_blank" href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html">official AWS documentation</a>.</p>
<p>If you have any questions or suggestions, feel free to leave them in the comments section below or connect with me on <a target="_blank" href="https://linkedin.com/in/priamjain">LinkedIn</a></p>
]]></content:encoded></item><item><title><![CDATA[How do I handle sprints at Cheerioai.com as CTO?]]></title><description><![CDATA[Sprint planning and streamlining the sprint process are paramount tasks in a startup. Key objectives include efficiently managing resources, accelerating time to market, and fostering adaptability. Clear planning aligns the team, ensures product qual...]]></description><link>https://blogs.priamjain.me/how-do-i-handle-sprints-at-cheerioaicom-as-cto</link><guid isPermaLink="true">https://blogs.priamjain.me/how-do-i-handle-sprints-at-cheerioaicom-as-cto</guid><category><![CDATA[sprint planning]]></category><category><![CDATA[cto]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[Product Management]]></category><category><![CDATA[Scrum]]></category><category><![CDATA[agile]]></category><dc:creator><![CDATA[Priam Jain]]></dc:creator><pubDate>Wed, 14 Feb 2024 10:32:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/atSaEOeE8Nk/upload/404304b3895162ee3ba81bc4a5f4b4d4.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Sprint planning and streamlining the sprint process are paramount tasks in a startup. Key objectives include efficiently managing resources, accelerating time to market, and fostering adaptability. Clear planning aligns the team, ensures product quality, and mitigates risks, enhancing investor confidence and maximizing the startup's chances of success in a competitive landscape.</p>
<p>Here is an overview of the process we use at <a target="_blank" href="http://www.cheerioai.com">Cheerio</a>:</p>
<h3 id="heading-having-a-backlog-and-discovery-list">Having a backlog and discovery list</h3>
<p>We have a list of features in backlog or need some RnD. Sales and Product teams add feature requests in the section. After shortlisting the features, we start with the documentation process.</p>
<h3 id="heading-steps-followed-while-writing-a-product-requirement-document-prd">Steps followed while writing a <strong><em>Product Requirement Document (PRD)</em></strong></h3>
<ul>
<li><p>Feature description is written by the product team.</p>
</li>
<li><p>A "planning meeting" is held between the development team, product team and QA team.</p>
</li>
<li><p>Designs are added to the PRD by the designer assigned to the feature.</p>
</li>
<li><p>Product spec. is written by the developers assigned to the feature. The "spec" provides execution-level details of how the requirements are going to be implemented.</p>
</li>
<li><p>QA adds test cases to the PRD. The product team and development team review the test cases.</p>
</li>
<li><p>If the feature is big enough, it is broken down into smaller parts.</p>
</li>
<li><p>Hours/Story points(SP) are assigned to every task in the feature. Separate SPs are assigned for testing by devs and QA respectively.</p>
</li>
<li><p>Developers are asked for updates on every standup</p>
</li>
<li><p>Once the development is over. The developer passes all the test cases locally.</p>
</li>
<li><p>The feature is sent for review by raising a PR. The tech lead reviews the code and merges the code once they are satisfied.</p>
</li>
<li><p>Developers and QA pass the test cases on dev.</p>
</li>
<li><p>Code is pushed to the Staging environment.</p>
</li>
<li><p>QA passes the test cases on the staging environment.</p>
</li>
<li><p>Final testing is done by me before sending the feature to Production.</p>
</li>
<li><p>Regression tests are performed on Production along with sanity tests by the QA team.</p>
</li>
</ul>
<h3 id="heading-retrospective">Retrospective</h3>
<ul>
<li><p>Bugs are tracked and assigned to developers.</p>
</li>
<li><p>RCA is written by developers for repeated bugs.</p>
</li>
<li><p>Tech Review is performed every alternate week after the completion of every sprint.</p>
</li>
<li><p>Burndown charts are referred to keep track of the sprint and productivity of the developers.</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Get webhooks directly on your localhost]]></title><description><![CDATA[Too many tools exist to get webhooks from a 3rd party app. Here are some fantastic tools that have become essential in my daily.

webhook.site
 This is a really handy tool to explore the body of the received webhooks. You can forward webhooks to your...]]></description><link>https://blogs.priamjain.me/get-webhooks-directly-on-your-localhost</link><guid isPermaLink="true">https://blogs.priamjain.me/get-webhooks-directly-on-your-localhost</guid><category><![CDATA[localhost]]></category><category><![CDATA[webhooks]]></category><category><![CDATA[ngrok]]></category><category><![CDATA[SSL]]></category><category><![CDATA[Webhook]]></category><category><![CDATA[ingress]]></category><category><![CDATA[development]]></category><category><![CDATA[Node.js]]></category><dc:creator><![CDATA[Priam Jain]]></dc:creator><pubDate>Wed, 03 Jan 2024 14:09:47 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/xBmmFz2psKw/upload/8dd95416d579b09aa2056cae7825b2fc.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Too many tools exist to get webhooks from a 3rd party app. Here are some fantastic tools that have become essential in my daily.</p>
<ol>
<li><p><a target="_blank" href="http://webhook.site">webhook.site</a></p>
<p> This is a really handy tool to explore the body of the received webhooks. You can forward webhooks to your <a target="_blank" href="http://localhost">localhost</a> using</p>
<pre><code class="lang-plaintext"> npm install -g @webhooksite/cli
</code></pre>
<p> You can even generate a temporary email address for testing SMTP or simply having some fun!</p>
</li>
<li><p><a target="_blank" href="https://ngrok.com/">ngrok.com</a></p>
<p> This is one of my favourite platforms. Simplifying the process of exposing my <a target="_blank" href="http://localhost">localhost</a>, it offers a generous free plan equipped with SSL and random domains.</p>
<pre><code class="lang-plaintext"> npm i ngrok
</code></pre>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[Embrace Feedback for Professional Growth]]></title><description><![CDATA[I found it relatable when Julie Zhuo said,

Would you tell your personal trainer, “Oh, I’m pretty fit, I’ve got it under control” when she asks you how she can help you achieve a better workout? Of course not. That is not how a coaching relationship ...]]></description><link>https://blogs.priamjain.me/embrace-feedback-for-professional-growth</link><guid isPermaLink="true">https://blogs.priamjain.me/embrace-feedback-for-professional-growth</guid><category><![CDATA[Product Management]]></category><category><![CDATA[Career]]></category><category><![CDATA[growth]]></category><category><![CDATA[Feedback]]></category><category><![CDATA[Developer]]></category><category><![CDATA[developers]]></category><category><![CDATA[development]]></category><category><![CDATA[management]]></category><category><![CDATA[employee experience]]></category><category><![CDATA[professional development]]></category><dc:creator><![CDATA[Priam Jain]]></dc:creator><pubDate>Mon, 01 Jan 2024 13:33:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/TamMbr4okv4/upload/15962cdd61287d056aa8e206d1fff613.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I found it relatable when <a target="_blank" href="https://medium.com/@joulee?source=post_page-----abf5300eba08--------------------------------">Julie Zhuo</a> said,</p>
<blockquote>
<p>Would you tell your personal trainer, “Oh, I’m pretty fit, I’ve got it under control” when she asks you how she can help you achieve a better workout? Of course not. That is not how a coaching relationship works.</p>
</blockquote>
<p>Having never worked in a conventional job with managers, my default response would be "all good" when someone with more experience than me asked me about how I was doing.</p>
<p>Little did I realize, that this approach hindered my professional growth, leading to missed opportunities and a lack of valuable advice.</p>
<ol>
<li><p>This prevented people from giving me valuable advice that would have helped me.</p>
</li>
<li><p>I felt under constant pressure not to be judged by someone who acted as my manager or had more experience.</p>
</li>
<li><p>I felt people would think I was not competent enough.</p>
</li>
</ol>
<p>This trait is something that can hinder your personal growth. It wasn't until I assumed the role of CTO at <a target="_blank" href="https://www.cheerio.in/">Cheerio</a>, that my mindset changed.</p>
<p>Your manager's job is to help you perform better. When you excel, your manager excels, creating a symbiotic relationship. The better you perform, your manager does better and hence it is natural for them to be vested in your career and help you perform better. Leveraging their experience and guidance accelerates your career progression.</p>
<p>Embrace feedback, welcome advice, and allow yourself to be vulnerable. This shift in mindset not only benefits your professional journey but also fosters a collaborative environment where personal and collective success go hand in hand.</p>
]]></content:encoded></item><item><title><![CDATA[Git Workflow for Big Teams: Simplified Guide to Managing Large Projects with Multiple Developers and Ad-Hoc Fixes]]></title><description><![CDATA[In a large project with multiple developers, effective Git management is crucial for streamlined collaboration. A well-organized Git process ensures developers can work concurrently on various features, minimizing conflicts and enhancing productivity...]]></description><link>https://blogs.priamjain.me/git-workflow-for-big-teams-simplified</link><guid isPermaLink="true">https://blogs.priamjain.me/git-workflow-for-big-teams-simplified</guid><category><![CDATA[Git]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[project management]]></category><category><![CDATA[senior-software-engineer]]></category><category><![CDATA[version control]]></category><dc:creator><![CDATA[Priam Jain]]></dc:creator><pubDate>Wed, 27 Dec 2023 18:52:31 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1703700261105/14ecd20d-d498-40f5-bf9a-9571f516e28e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In a large project with multiple developers, effective Git management is crucial for streamlined collaboration. A well-organized Git process ensures developers can work concurrently on various features, minimizing conflicts and enhancing productivity. Proper version control allows for easy tracking of changes, facilitates seamless integration of new features, and ensures a stable production environment. Additionally, efficient Git practices are essential for promptly addressing and fixing ad-hoc issues and bugs in the production environment, ultimately contributing to the overall success and reliability of the big project.</p>
<h2 id="heading-how-do-we-at-cheeriohttpwwwcheerioaicom-manage-git">How do we at <a target="_blank" href="http://www.cheerioai.com">Cheerio</a> manage git?</h2>
<h3 id="heading-branching-strategy"><strong>Branching Strategy</strong></h3>
<ol>
<li><p>Main Branch: Represents the production code. Code from <code>staging</code> is merged into <code>main</code> only after thorough testing and approval.</p>
</li>
<li><p>Staging Branch: <code>staging</code> represents the release branch. No new features are merged into this branch after the completion of the sprint. Only bug fixes and ad-hoc fixes are allowed.</p>
</li>
<li><p>Development Branch: <code>dev</code> serves as the main development branch. Feature branches are created from <code>dev</code> for ongoing development. Developers regularly merge the latest changes from <code>main</code> into their feature branches to avoid conflicts later.</p>
</li>
</ol>
<h3 id="heading-feature-development-workflow"><strong>Feature Development Workflow</strong></h3>
<p>When working on new features, developers start by creating branches from the 'dev' branch, naming them consistently like 'feature/feature-name.' To keep things smooth, developers regularly update their branches with the latest changes from 'dev,' preventing big conflicts.</p>
<p>Next, developers request to merge their feature branches back into 'dev' through pull requests. Before the merge, there's a check to ensure the code meets quality standards through a code review. Additionally, an automated process (Continuous Integration or CI) tests the code to make sure it works correctly. This process ensures that everyone's work integrates well together and maintains high-quality code.</p>
<h3 id="heading-ad-hoc-fixes-and-bug-fixes"><strong>Ad-Hoc Fixes and Bug Fixes</strong></h3>
<p>For ad-hoc fixes and production bug fixes, developers create hotfix branches from <code>staging</code>.</p>
<p>After fixing, changes are merged back into both <code>main</code> , <code>staging</code> and <code>dev</code> branches.</p>
<h3 id="heading-sprint-releases"><strong>Sprint Releases</strong></h3>
<p>Once all the features are developed and the sprint is complete, a PR is raised from <code>dev</code> to <code>staging</code>. After reviewing merge the branch.</p>
<p>No further changes are pushed to staging except ad-hoc and bug fixes. Perform rigorous testing on the <code>staging</code> branch.</p>
<p>At the end of the sprint, merge the release branch into <code>main</code> for the release. Tag the merge commit with a version number.</p>
<h3 id="heading-tags-and-documentations">Tags and documentations</h3>
<p>Use semantic versioning to indicate the significance of changes. Increment major versions for backwards-incompatible changes, minor versions for new features, and patch versions for bug fixes. We use GitHub tags to mark commits with a version number.</p>
<p>Maintain a changelog that includes details about each release and clearly document the changes introduced in each version.</p>
<h3 id="heading-more-things-to-keep-in-mind">More things to keep in mind</h3>
<p>Pull requests serve as a crucial checkpoint, allowing for comprehensive code reviews and automated testing through Continuous Integration. This approach not only upholds code quality standards but also facilitates effective collaboration among developers.</p>
<p>Using clear names and checking each other's work before putting it all together makes sure the code is good. Automated testing also helps check if everything works right.</p>
]]></content:encoded></item><item><title><![CDATA[Why you should use Hashnode CMS for your Blogs?]]></title><description><![CDATA[Blogging has become an integral part of sharing knowledge and experiences, especially in the dynamic world of technology. As a tech enthusiast, I found myself searching for a content management system (CMS) that strikes a balance between simplicity a...]]></description><link>https://blogs.priamjain.me/why-you-should-use-hashnode-cms-for-your-blogs</link><guid isPermaLink="true">https://blogs.priamjain.me/why-you-should-use-hashnode-cms-for-your-blogs</guid><category><![CDATA[Blogging]]></category><category><![CDATA[Hashnode]]></category><category><![CDATA[technology]]></category><category><![CDATA[cms]]></category><dc:creator><![CDATA[Priam Jain]]></dc:creator><pubDate>Sun, 24 Dec 2023 16:25:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1703434898415/c8bcb5c8-6494-4d57-bfb5-b59ea8ed44f2.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Blogging has become an integral part of sharing knowledge and experiences, especially in the dynamic world of technology. As a tech enthusiast, I found myself searching for a content management system (CMS) that strikes a balance between simplicity and flexibility. After experimenting with various platforms, I discovered Hashnode, a CMS that stands out for its user-friendly interface, flexibility, and vibrant tech-oriented community. In this blog, I'll delve into the reasons why I've chosen Hashnode for my tech blogs.</p>
<h3 id="heading-seamless-deployment"><strong>Seamless Deployment</strong></h3>
<p>Deploying an open-source CMS traditionally involves a complex and time-consuming process. Setting up servers, integrating databases, and managing storage can be a headache, especially for someone who wants to focus more on content creation than server configurations. Hashnode eliminates this hassle by providing a hassle-free, cloud-based solution. With Hashnode, I can start writing and publishing my blogs without worrying about the intricacies of server management.</p>
<h3 id="heading-flexibility-beyond-boundaries"><strong>Flexibility Beyond Boundaries</strong></h3>
<p>While platforms like Medium offer simplicity, they often come with limitations in terms of customization. Hashnode, on the other hand, provides a highly customizable environment. Users have the freedom to personalize their blogs, add custom domains, and tweak the appearance to align with their brand. This flexibility ensures that my tech blogs not only convey valuable information but also reflect my unique style and preferences.</p>
<h3 id="heading-active-tech-community"><strong>Active Tech Community</strong></h3>
<p>One of the key reasons I chose Hashnode is its vibrant and engaged tech community. Hashnode has emerged as a hub for tech enthusiasts, developers, and writers alike. The platform's emphasis on tech-related content attracts an active audience genuinely interested in the latest trends, innovations, and discussions within the tech industry. This not only broadens the reach of my blogs but also fosters meaningful interactions and feedback from like-minded individuals.</p>
<hr />
<p>Hashnode has proven to be the ideal choice for my tech blogs, providing a seamless deployment process, unmatched flexibility, and a thriving tech community.</p>
]]></content:encoded></item><item><title><![CDATA[I am starting blog writing]]></title><description><![CDATA[Who am I?
I'm currently serving as the CTO at cheerio.in, where my role spans across various positions, including Product Manager, Tech Lead, and Senior Full Stack Developer. Before my time at cheerio.in, I held the position of Tech Lead at getclient...]]></description><link>https://blogs.priamjain.me/i-am-starting-blog-writing</link><guid isPermaLink="true">https://blogs.priamjain.me/i-am-starting-blog-writing</guid><category><![CDATA[General Advice]]></category><category><![CDATA[General Programming]]></category><dc:creator><![CDATA[Priam Jain]]></dc:creator><pubDate>Sat, 23 Dec 2023 13:17:09 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1703336525180/43383729-43fe-499f-97d7-2c9de81aebba.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-who-am-i">Who am I?</h2>
<p>I'm currently serving as the CTO at <a target="_blank" href="http://cheerio.in">cheerio.in</a>, where my role spans across various positions, including Product Manager, Tech Lead, and Senior Full Stack Developer. Before my time at <a target="_blank" href="http://cheerio.in">cheerio.in</a>, I held the position of Tech Lead at <a target="_blank" href="http://getclientell.com">getclientell.com</a>. Over the years, I've successfully led teams of developers at both organizations, focusing on reducing technical debt, implementing agile and scrum methodologies, and achieving streamlined development cycles with increased velocity.</p>
<p>My expertise lies in AWS, where I've crafted scalable architectures for organizations. I specialize in developing responsive, mobile-first, SEO-friendly user interfaces and their corresponding backends, ensuring effective connectivity. Additionally, I bring valuable experience in developing initial MVPs for startups and have collaborated with companies worldwide, contributing to the enhancement of web applications and the development of entire websites.</p>
<p>My diverse portfolio includes contributions to EdTech platforms like <a target="_blank" href="http://zaio.io">zaio.io</a> and <a target="_blank" href="http://practworks.com">practworks.com</a>, involvement in ML/AI/Data Science projects at <a target="_blank" href="http://getclientell.com">getclientell.com</a>, engagements in Fintech with <a target="_blank" href="http://finsight.ai">finsight.ai</a> and Karat Capital Pvt. Ltd., participation in the banking sector with <a target="_blank" href="http://weexpand.co">weexpand.co</a>, content provision on <a target="_blank" href="http://careerado.com">careerado.com</a>, social impact initiatives with <a target="_blank" href="http://hunger.link">hunger.link</a> and <a target="_blank" href="http://liquidonate.com">liquidonate.com</a>, and various others, such as <a target="_blank" href="http://pineappleacademy.com">pineappleacademy.com</a>.</p>
<p>My technical proficiency spans across Reactjs, Nextjs, Gatsbyjs, Typescript, Javascript, Nodejs Expressjs, Firebase, Supabase, and Relational and Non-Relational Databases like SQL, MongoDB, PostGreSQL, among others. I am well-versed in modern CSS libraries such as Material UI, Ant Design, Bootstrap, Tailwind UI, Mantine, and utilize HTML, CSS/SASS/LESS. I leverage modern React libraries like Redux, Formik, Yup, and I am experienced in implementing Auth 2.0, Auth0, and Supertokens.</p>
<h3 id="heading-why-am-i-starting-blogging">Why am I starting blogging?</h3>
<p>Starting this blog allows me to share my insights, experiences, and expertise in the dynamic world of technology, development, and leadership. I look forward to creating content that resonates with fellow tech enthusiasts, developers, and anyone keen on staying updated with the latest in the digital landscape. Stay tuned for valuable insights, tutorials, and stories from my journey in the tech industry!</p>
]]></content:encoded></item></channel></rss>