<?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: Chakit</title>
    <description>The latest articles on DEV Community by Chakit (@arorachakit).</description>
    <link>https://dev.to/arorachakit</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%2F749515%2F6cca4786-bc3e-490c-9049-e07d567faba1.jpg</url>
      <title>DEV Community: Chakit</title>
      <link>https://dev.to/arorachakit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arorachakit"/>
    <language>en</language>
    <item>
      <title>Portfolio</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Mon, 31 Oct 2022 12:26:38 +0000</pubDate>
      <link>https://dev.to/arorachakit/portfolio-k6</link>
      <guid>https://dev.to/arorachakit/portfolio-k6</guid>
      <description>&lt;p&gt;Every time I decide to be consistent about &lt;strong&gt;content creation&lt;/strong&gt;, I get (or make) opportunities to &lt;strong&gt;travel, explore, and network&lt;/strong&gt;. It could be procrastination or a matter of priorities but if you are a devrel or wanna be a devrel, you already know how much &lt;strong&gt;networking is important for us.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Our role needs us to be social people, for our team and for the product we represent - &lt;strong&gt;being in the audience is as important as knowing to code.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The same thing happened to me till last November when I decided to build my own Portfolio - I was procrastinating, networking, traveling, and doing a lot of other things. &lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--59mxzvvc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/ext_tw_video_thumb/1456882215413968904/pu/img/-ReocdmxL-yvESHJ.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dyjaiDsQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1579390030929436673/NRF9ttSL_normal.jpg" alt="Chakit profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Chakit
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/arorachakit"&gt;@arorachakit&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Alright, here it is - &lt;a href="https://t.co/SqWUPRd1Ku"&gt;chakitarora.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;Made with &lt;a href="https://twitter.com/nuxt_js"&gt;@nuxt_js&lt;/a&gt; and &lt;a href="https://twitter.com/tailwindcss"&gt;@tailwindcss&lt;/a&gt; .&lt;br&gt;Feedbacks Appreciated. &lt;a href="https://t.co/1ehHnhkjZY"&gt;twitter.com/arorachakit/st…&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      07:13 AM - 06 Nov 2021
    &lt;/div&gt;

      &lt;div class="ltag__twitter-tweet__quote"&gt;
        &lt;div class="ltag__twitter-tweet__quote__header"&gt;
          &lt;span class="ltag__twitter-tweet__quote__header__name"&gt;
            Chakit
          &lt;/span&gt;
          &lt;a class="mentioned-user" href="https://dev.to/arorachakit"&gt;@arorachakit&lt;/a&gt;
        &lt;/div&gt;
        After delaying it for two+ years, I am finally making my portfolio.
      &lt;/div&gt;

    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1456882352148287490" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1456882352148287490" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1456882352148287490" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;Here is a twist, I didn’t get the devrel role just by chance or luck. One of the reasons I could come across multiple opportunities is I have something that represents what I do and who I am. &lt;/p&gt;

&lt;p&gt;That’s what lead me to where I am today - a PORTFOLIO. &lt;/p&gt;

&lt;p&gt;Plenty of times I have heard people talking about advancing more skills, gaining more knowledge, doing this or that. However, there is a simple rule in sales - &lt;strong&gt;what connects is mostly, what sells.&lt;/strong&gt; You might have a good stack but if you can’t show it, it’s almost useless while applying for jobs. &lt;/p&gt;

&lt;p&gt;A portfolio is where you represent and show what you know, have built, are building, etc. It doesn’t have to be fancy - make it feasible and you are good. &lt;/p&gt;

&lt;p&gt;As a developer, this should be your first step. Don’t repeat my mistake. I took more time than needed. We all have so much to show. &lt;/p&gt;

&lt;p&gt;Let me get you on a secret. &lt;strong&gt;A portfolio doesn’t only help in getting jobs but also in building self-confidence.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Let me convince you a little more. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why portfolio is important?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Proof of work&lt;/strong&gt; - &lt;br&gt;
We are in an industry where we can show what we have built, and how we have built it, and we have already made a good impression on the required audience. We are the people from where POW got its fame in recent years. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;High sales&lt;/strong&gt; - &lt;br&gt;
If you are an independent developer, work on a few different projects at once, and want to close clients asap, a portfolio is your solution. You can show all your history, and impress your clients and it’s one link for all - saves time. After all, time is money.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Marketing&lt;/strong&gt; - &lt;br&gt;
It becomes a great tool to market your skills and creativity. The best part is what you can think of as a developer, no other developer can think the same. You will always have something unique to show. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Demand&lt;/strong&gt; - &lt;br&gt;
Portfolios are in demand nowadays. Let me remind you a bit about economics. You supply what a customer demands. Here recruiter is a customer and you are a supplier who needs to cater to their demands. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No FOMO&lt;/strong&gt; - &lt;br&gt;
Yes, you read it right. FOMO - fear of missing out. You will not go through this emotion every once in a while when you can apply to whatever opportunity that knocks on your door. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this digital world, one thing is for sure, you won’t need a physical portfolio most time. You can check out my portfolio here &lt;a href="https://www.chakitarora.com/"&gt;&lt;em&gt;chakitarora.com&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>portfolio</category>
    </item>
    <item>
      <title>Why you should build in public?</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Tue, 09 Aug 2022 06:53:53 +0000</pubDate>
      <link>https://dev.to/arorachakit/why-you-should-build-in-public-3mcc</link>
      <guid>https://dev.to/arorachakit/why-you-should-build-in-public-3mcc</guid>
      <description>&lt;p&gt;You must have seen the progress of Tesla and SpaceX in the past few years. We all have seen both of the companies going through ups and downs but what I found more interesting is the way Elon Musk decided to be open about both of the products with the media and customers.&lt;/p&gt;

&lt;p&gt;Lesson? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;He is building a brand where you and I can call ourselves a part of new inventions.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Elon Musk is a big name, let’s talk about something we all use and have fun while using it. At least, it is my favorite. Yes, &lt;strong&gt;Tailwind CSS by Adam Wathan&lt;/strong&gt;. He also built the framework in public and shared the updates, use cases, and zero to one of the products with the community. I am following his journal to stay updated with all the new releases. &lt;/p&gt;

&lt;p&gt;Lesson?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;He wanted to share what he was building to get fast feedback, get fast users, and testers, and he did make a good community around the product too.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These are two examples I am mentioning from the thousands I see every day and I believe everyone should leverage the existing community they have or even build the community around the product they are building.&lt;/p&gt;

&lt;p&gt;“Build in silence, shine in public” is now an outdated concept, and the new golden rule is “&lt;strong&gt;Build in public, Shine in public&lt;/strong&gt;”. &lt;/p&gt;

&lt;h2&gt;
  
  
  7 reasons to build in public
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. Feedback:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You get constant feedback to improve the existing features, strategies, and designs, to do better overall.&lt;/li&gt;
&lt;li&gt;You see what the audience likes, what you can do to retain the users, and how you can make it more about the user. &lt;/li&gt;
&lt;li&gt;Once you are in build mode, you sometimes get stuck and don’t think out of the box. That’s where feedback helps. You see the problem and even the solution from a different mindset.

&lt;ul&gt;
&lt;li&gt;Your cloudy judgments need a few eager tester products and building in public allow having that.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Personal Brand:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;People see what you are building and you differentiate yourself as a unique brand.&lt;/li&gt;
&lt;li&gt;Your hardships, challenges, and success become personal to the people around you - you stand out from everyone else. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Accountability:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Since, now, people are waiting and keeping tabs on you, it gets a little easy to be on track.&lt;/li&gt;
&lt;li&gt;It pushes you to focus on the right things. &lt;/li&gt;
&lt;li&gt;It pushes you to the work that needs to get done than the easy work you are doing because you are scared of the outcome.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Networking:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Your project and its progress attract the right kind of people, like, investors, recruiters, etc.&lt;/li&gt;
&lt;li&gt;Your open journey gives different communities, investors, etc an opportunity to see your graph and a chance to trust you.&lt;/li&gt;
&lt;li&gt;People like transparency and that’s how you network easily and more.&lt;/li&gt;
&lt;li&gt;You meet people in the same &amp;amp; different fields, become friends &amp;amp; even find partners for future projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Hiring:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Talented folks come forward to work with you.&lt;/li&gt;
&lt;li&gt;Hiring gets easy for your project.&lt;/li&gt;
&lt;li&gt;You get plenty of options and a pool of talent to choose select.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Opportunities:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You open doors to opportunities when you take the step to connect with people globally.&lt;/li&gt;
&lt;li&gt;You must have heard this - “there is a sort of luck you get when you put a lot of work into something”.&lt;/li&gt;
&lt;li&gt;You get attention which means folks around you will talk about what you are building. Hence, more opportunities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7. Documentation:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You get a good habit of documentation.&lt;/li&gt;
&lt;li&gt;As developers, we all know, how important documentation is. From reading documentation to writing comments to understand better what the code is about. Documentation holds an important role.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are plenty more reasons why you should build in public. However, above mentioned seven convinced me to share whatever I do professionally with the community. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Updates - Life, Tech, Travel, DevRel.</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Wed, 06 Jul 2022 08:22:35 +0000</pubDate>
      <link>https://dev.to/arorachakit/updates-life-tech-travel-devrel-33pp</link>
      <guid>https://dev.to/arorachakit/updates-life-tech-travel-devrel-33pp</guid>
      <description>&lt;p&gt;Well, the purpose of this blog post is to share &lt;strong&gt;what I was up to for the past few months&lt;/strong&gt; but before we dive into that, let me refresh your memory a little.&lt;/p&gt;

&lt;p&gt;A few months ago, I took it upon myself to use &lt;em&gt;Javascript&lt;/em&gt; in every place I could and I am still sticking to that - obviously, I am kidding. But it looks like Web3 is the new keyword and it has been making the online world crazy - at least that’s what seems. &lt;/p&gt;

&lt;p&gt;What is important to understand is that &lt;em&gt;Web3&lt;/em&gt; is comparatively new, and exciting but complex and being a full stack developer is always an advantage even if/when you want to explore the Web3 ecosystem.&lt;/p&gt;

&lt;p&gt;My thoughts on web3? I have some doubts but I am thrilled to see what it has for all of us developers. &lt;/p&gt;

&lt;p&gt;I took a break and what I saw when I almost made a come back was that everyone was talking about web3, so I did what a sensible (and smart) developer would do. I signed up for the Goa conference, thanks to &lt;a href="https://twitter.com/FrancescoCiull4"&gt;Francesco's&lt;/a&gt; &lt;a href="https://twitter.com/FrancescoCiull4/status/1536233556086767617?s=20&amp;amp;t=SSaFUDLGckj0LDyE2A-dZA"&gt;giveaway&lt;/a&gt;. Are you joining? Drop a DM. &lt;/p&gt;

&lt;p&gt;The last six months have been excitingly good. By the end of 2021, I planned to travel this year and that’s what I did. &lt;/p&gt;

&lt;p&gt;Not only traveling in the &lt;strong&gt;real world&lt;/strong&gt; - &lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XpvBMQKq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/FLoE5M6XwAUCUUc.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZgzmWdFP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1475024890918883330/8CZ0u2Kd_normal.jpg" alt="Chakit profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Chakit
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/arorachakit"&gt;@arorachakit&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Breaks are important!&lt;br&gt;&lt;br&gt;I am taking a 10 days break, to work while travelling for a change! &lt;br&gt;&lt;br&gt;In Jaipur today! &lt;br&gt;&lt;br&gt;Will be travelling to Jaisalmer and Jodhpur next week! &lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/DigitalBanjara"&gt;#DigitalBanjara&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      09:04 AM - 15 Feb 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1493511612912869376" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1493511612912869376" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1493511612912869376" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;but also in the tech world - joined &lt;strong&gt;Storyblok as a DevRel.&lt;/strong&gt; &lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f2uzf1cZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/FMHwUMoWUAQKqPj.png" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZgzmWdFP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1475024890918883330/8CZ0u2Kd_normal.jpg" alt="Chakit profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Chakit
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/arorachakit"&gt;@arorachakit&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Life Update -&lt;br&gt;&lt;br&gt;Super happy to tell you all that I will be working as a Developer Relations Engineer 🥑  at &lt;a href="https://twitter.com/storyblok"&gt;@storyblok&lt;/a&gt; from the next month! &lt;br&gt;&lt;br&gt;I am super excited to work with the team.&lt;br&gt;All set for the new journey 🚀&lt;br&gt;&lt;a href="https://twitter.com/hashtag/DevRel"&gt;#DevRel&lt;/a&gt;&lt;br&gt;&lt;br&gt;Thank you all for always supporting me.&lt;br&gt;(dm for pizzas) 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      12:42 PM - 21 Feb 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1495740783751749635" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1495740783751749635" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1495740783751749635" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;A secret - I have plans to travel more in the real world, to do some more adventures, and also to meet amazing people I got connected with over the months. &lt;/p&gt;

&lt;p&gt;By the way - This Rajasthan trip was my &lt;strong&gt;first solo trip&lt;/strong&gt;. I encourage everyone to travel solo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Made a lot of friends &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stayed in hostels&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Made and captured a lot of memories. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visited - Jaipur, Jaisalmer, and Jodhpur!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Even camped in &lt;strong&gt;Thar Dessert&lt;/strong&gt;!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I went to Rajasthan before starting as a DevRel. Let’s talk a little about DevRel as well.&lt;/p&gt;

&lt;p&gt;A lot of you have asked me in the DM about &lt;strong&gt;the role of DevRel&lt;/strong&gt; and well, you are in luck. &lt;/p&gt;

&lt;p&gt;I am back with all the answers (hopefully) and this is the first question I’ll be replying to. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is even DevRel?
&lt;/h2&gt;

&lt;p&gt;The google definition describes it as a marketing body but we are way more than that. From understanding all the features of the product to being a connector between the developers and the product, from making tutorials to giving demos, from writing articles to managing the documentation, we do all of it. &lt;/p&gt;

&lt;p&gt;A DevRel does a lot of tasks which vary according to the organization they are working with. Some of them are similar for all of us which are -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Managing community.&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hosting and participating in the conferences to make it easy for the developers working on the product.&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enhancing engagement between the external users or developers.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With the addition of the above-mentioned, work has gotten interesting which inspired me to explore some other frameworks that I normally don’t use &lt;strong&gt;like React, and Next.js - yes, yes, Vue is still my favorite.&lt;/strong&gt; Since as a developer, you can never stop exploring what I already mentioned in one of my blogs - &lt;a href="https://hashnode.chakitarora.com/full-stack-web-journey-simplified"&gt;How to become a full-stack developer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A few days ago, I watched Panchayat Season 2, and well, nothing. It was a nice series and a much-needed break from reality. Traveling, meeting new people, new work roles, trips, and traveling again do get a little overwhelming. &lt;/p&gt;

&lt;h2&gt;
  
  
  Let me share the list of things I did:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I was invited as a &lt;strong&gt;guest speaker&lt;/strong&gt; at a webinar hosted by &lt;a href="https://twitter.com/girlcodeitpune?s=20&amp;amp;t=SSaFUDLGckj0LDyE2A-dZA"&gt;@girlcodeitpune&lt;/a&gt; on Full stack developer journey. &lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aBC4nU5J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/FQWv6bUagAEgjHz.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--wKt4CQSe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1489542622289215488/6M-AgjRd_normal.jpg" alt="Girl Code It - Pune profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Girl Code It - Pune
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @girlcodeitpune
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Heyy folks👀&lt;br&gt;&lt;br&gt;Hope you all are doing amazing:))💫&lt;br&gt;&lt;br&gt;Are you interested to learn web development?👩‍💻&lt;br&gt;&lt;br&gt;Don't know where to start? 🤷🏼‍♀️&lt;br&gt;&lt;br&gt;Don't know what path you should follow for learning web development?🤷🏼‍♀️ 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      03:38 AM - 15 Apr 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1514810272208207878" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1514810272208207878" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1514810272208207878" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;ul&gt;
&lt;li&gt;It was the first online webinar I attended where I was the guest speaker - an exciting experience for me on an individual level. &lt;/li&gt;
&lt;li&gt;I gave my input about how one can start their journey, how management is necessary, how spending too much time is not necessary, why one should explore and try to build more projects, and how it is a never-ending journey. &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;I planned a trip to Kedarnath&lt;/strong&gt; - a little difficult but mostly fun adventure. And yes, I covered a couple of other places during this journey like Rishikesh, Mussoorie, and Dehradun. Visited a couple of holy places as well. Look at this tweet. &lt;br&gt;&lt;/p&gt;

&lt;blockquote class="ltag__twitter-tweet"&gt;
    &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__two-pics"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rhw5w5zH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/FS1k3MWVIAAIgNi.jpg" alt="unknown tweet media content"&gt;
    &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZgzmWdFP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1475024890918883330/8CZ0u2Kd_normal.jpg" alt="Chakit profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Chakit
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/arorachakit"&gt;@arorachakit&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Dropping some trip pictures! 🛣🏔&lt;br&gt;&lt;br&gt;Picture 1 and 2 - Rishikesh &lt;br&gt;Picture 3 - Devprayag&lt;br&gt;Picture 4 - Sitapur (Near Sonprayag)&lt;br&gt;&lt;br&gt;🕉 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      23:49 PM - 15 May 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1525986785141985280" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1525986785141985280" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1525986785141985280" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Attended #ngindia&lt;/strong&gt; conference and spoke about Storyblok right after coming from the Mountains.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I got prepared for it under 2 hours in a cab journey - like I said exciting adventures. &lt;/li&gt;
&lt;li&gt;I met colleagues from Storyblok &amp;amp; some people from Twitter. &lt;/li&gt;
&lt;li&gt;It was a thrilling experience - it took a little time to get my screen displayed (we all know the connection issues during the conferences) but overall, it went well obviously.
&lt;blockquote class="ltag__twitter-tweet"&gt;
    &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__two-pics"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0G4ddzix--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/FT2Iv1xVEAE62Pj.jpg" alt="unknown tweet media content"&gt;
    &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZgzmWdFP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1475024890918883330/8CZ0u2Kd_normal.jpg" alt="Chakit profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Chakit
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/arorachakit"&gt;@arorachakit&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Got a chance the speak about &lt;a href="https://twitter.com/storyblok"&gt;@storyblok&lt;/a&gt; at &lt;a href="https://twitter.com/hashtag/ngindia"&gt;#ngindia&lt;/a&gt;. It was an amazing experience 😁&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/geeknineseven"&gt;@geeknineseven&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      12:42 PM - 28 May 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1530529857955737600" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1530529857955737600" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1530529857955737600" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;
 &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I attended a few other meetups like &lt;strong&gt;HackThisFall&lt;/strong&gt; and met online friends. &lt;br&gt;&lt;/p&gt;

&lt;blockquote class="ltag__twitter-tweet"&gt;
    &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__two-pics"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--URwvJ9wb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/FT-kgFYUUAAq6Vc.jpg" alt="unknown tweet media content"&gt;
    &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZgzmWdFP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1475024890918883330/8CZ0u2Kd_normal.jpg" alt="Chakit profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Chakit
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/arorachakit"&gt;@arorachakit&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      The weekend was great, attended &lt;a href="https://twitter.com/hashtag/hackthisfall"&gt;#hackthisfall&lt;/a&gt; Delhi on Saturday. It was a very fun and interactive meetup. &lt;br&gt;&lt;br&gt;And it was super awesome to meet and interact with new and old tech friends.&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/siddharth_hacks"&gt;@siddharth_hacks&lt;/a&gt; kudos to you for building such an amazing community! 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      04:00 AM - 30 May 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1531123279192174592" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1531123279192174592" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1531123279192174592" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I recorded a &lt;strong&gt;podcast with Azure Developer Community&lt;/strong&gt; about &lt;strong&gt;DevRel journey&lt;/strong&gt; and what are the &lt;strong&gt;general skills required to be a DevRel&lt;/strong&gt;. &lt;br&gt;&lt;/p&gt;

&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--iyceujh_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1397084002389876737/lhwjdniv_normal.jpg" alt="Azure Developer Community profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Azure Developer Community
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @azdevindia
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Welcome to the Azure Developer Community's Tech podcast series&lt;br&gt;In this podcast Chakit Arora talking about his journey to working as Developer Advocate Engineer.&lt;br&gt;&lt;br&gt;Listen this podcast at: &lt;a href="https://t.co/D72aSTH062"&gt;bit.ly/azdevcast&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/tech"&gt;#tech&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/azure"&gt;#azure&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/youtube"&gt;#youtube&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/podcast"&gt;#podcast&lt;/a&gt; &lt;a href="https://t.co/ej3Gfxpnfl"&gt;lnkd.in/d-FWhQWc&lt;/a&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      14:08 PM - 23 Jun 2022
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1539973794332217346" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1539973794332217346" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1539973794332217346" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just to add - I stayed in Delhi for a while and met a lot more online friends. This was one of the new years resolutions as well - to meet a lot of online friends. &lt;/p&gt;

&lt;p&gt;And it doesn't end here, I even went to Pune. Too much travel in such a short span! Met more friends there! &lt;/p&gt;

&lt;p&gt;The best thing that happened was that I felt more productive than ever. My productivity has increased over the months. With all the travel, I now like working from cafes and co-working spaces. Even now after coming back from all the trips &amp;amp; traveling, I go to a cafe thrice a week to work, to have a walk around, and it does help more than you think. I'd recommend you to give it a try as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are my upcoming plans?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Awesome threads - I’ll be sharing &lt;strong&gt;my journey&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Blogs.&lt;/li&gt;
&lt;li&gt;A lot of stories that I am excited to share.&lt;/li&gt;
&lt;li&gt;Don’t worry, I haven’t forgotten about the Youtube channel - preparing a lot for that too. Stay tuned and subscribe if you haven’t already. Here is the &lt;a href="https://www.youtube.com/user/arorachakit"&gt;link&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Going to attend conferences - might join &lt;strong&gt;React India Conference&lt;/strong&gt; as well. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What’s up with you all?
&lt;/h2&gt;

</description>
      <category>devrel</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why javascript is a badass?</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Tue, 28 Jun 2022 05:58:20 +0000</pubDate>
      <link>https://dev.to/arorachakit/why-javascript-is-a-badass-3p5a</link>
      <guid>https://dev.to/arorachakit/why-javascript-is-a-badass-3p5a</guid>
      <description>&lt;p&gt;Javascript has been making the web crazy and is a very essential part of our daily lives. It is already doing great stuff for a long time. If you are a web developer you have probably used nothing else more than javascript. But it is not limited, the future is very interesting.&lt;/p&gt;

&lt;p&gt;Javascript was not meant to do all the stuff which we see it doing. It was just supposed to run in the browser. Frontend development itself evolved a lot. All the cool frameworks we see use a lot of javascript. And if you're a frontend developer, it's everything for you!&lt;/p&gt;

&lt;p&gt;Nowadays, we see javascript running on the server-side. You probably know about node, which is around for a while now. Node helped developers to just know one language and code both frontend and backend. You can easily be a full-stack developer if you know javascript.&lt;/p&gt;

&lt;p&gt;And this is a lot in demand. MERN, MEVN, and MEAN are quite popular and you can see a lot of people doing those. This has become the new basic, and we can see many major companies hiring for this. A huge number of projects depend on javascript!&lt;/p&gt;

&lt;p&gt;This is something that is very common, but there is a lot more happening with javascript. This is all because of the popularity it gained over the years. Javascript is not limited to just the web. You can do a lot and lot more now!&lt;/p&gt;

&lt;p&gt;Native Development: There are a lot of frameworks evolving that allow you to develop native android and ios applications. React native and vue native are examples of that. This makes it very easy for a web developer to even switch to native anytime.&lt;/p&gt;

&lt;p&gt;You can even convert an existing web application to a native one with the help of Cordova and Ionic framework. This is really interesting and a lot of fun. You don't need to know java or Kotlin for making an Android or IOS app!&lt;/p&gt;

&lt;p&gt;AR/VR: There is a lot going in this domain, it has been in hot topics for a while. And yes, it is possible with javascript. There is a lot of improvement happening every moment. The support is increasing day by day. So if you know javascript, you can probably try this too!&lt;/p&gt;

&lt;p&gt;ML/AI: We have come far in this domain. TensorFlow js is a great and a very popular library for Machine Learning in javascript! There is a lot of new stuff happening in this domain as well, and very frequently.&lt;/p&gt;

&lt;p&gt;It seems like a person can do many things and explore other popular domains with javascript. It's great to learn and again the scope is not limited. With all this happening, it can be assumed that the future of javascript is going to be great and very exciting.&lt;/p&gt;

&lt;p&gt;Thank you so much for reading, I hope you liked it.&lt;br&gt;
If you have any questions or suggestions, please leave a comment below or feel free to reach out.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What and Why - Moment.js?</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Sat, 30 Apr 2022 12:43:43 +0000</pubDate>
      <link>https://dev.to/arorachakit/what-and-why-momentjs-3g0a</link>
      <guid>https://dev.to/arorachakit/what-and-why-momentjs-3g0a</guid>
      <description>&lt;p&gt;Moment js is a very significant javascript library and you're definitely gonna use it! If you're a javascript developer, this is for sure.&lt;/p&gt;

&lt;p&gt;Let's take a look at what this library does and why is it important.&lt;/p&gt;

&lt;p&gt;Moment js is used to parse, validate, manipulate and display date/time. In short, it's the way you can play with dates in javascript. Whenever I start a new project I make sure to install moment. It solves the problem of reading different sorts of stamps and display accordingly. &lt;/p&gt;

&lt;p&gt;You can download moment directly if you're not using any package manager or you can use yarn or npm for adding it to the dependencies. It gives a lot of things to play with. Let's look at a few of them. &lt;/p&gt;

&lt;p&gt;You can import moment like other dependencies and use it accordingly. Moment js creates a wrapper for the Date object. To get this wrapper object, simply call "moment()" and this will give a new object with the current date config.&lt;/p&gt;

&lt;p&gt;You can pass different sorts of parameters to parse and get the object. For example moment("2021-10-25"), or maybe something like moment("10-25-2021", "MM-DD-YYYY") and so on. There are different use cases for every time. You can even parse the timestamps.&lt;/p&gt;

&lt;p&gt;Now to get the information out of that object, there are a lot of things we can do. You can access even the milliseconds if in the object. Then there obviously day, month, hour, day and so on!&lt;/p&gt;

&lt;p&gt;You can even manipulate the dates, which means that you can add or subtract the dates. Maybe add delivery time to current time and see by which time the food is gonna get delivered. This is just a use-case but this should give an idea of how powerful and useful it is.&lt;/p&gt;

&lt;p&gt;We also have a lot of different ways in which we can display od see the dates. As there are different date formats and different use cases there are different ways. Maybe you want to show 25th October 2021, or October 25th, and so on! &lt;/p&gt;

&lt;p&gt;We can even show the time passed, for example in a chat application we need to show when the recent message is delivered - a minute ago, a few seconds ago, and so on. Or in any other application where you wanna see the files uploaded time, as in a day ago, 10 days ago, and so on!&lt;/p&gt;

&lt;p&gt;Moment can also be used for performing other operations which might be useful, like calculating the difference between 2 dates.&lt;br&gt;
There can be a lot of places where this and similar stuff is useful.&lt;/p&gt;

&lt;p&gt;Moment also helps in querying. There are different methods available to do this. For example isBefore, isAfter, isLeapYear, and so on! The names are self-explanatory. You can compare dates and use these kinds of different methods to get the other required information.&lt;/p&gt;

&lt;p&gt;Moment can also help with the locale, you can change the dates you're using and get every other thing according to the country and timezone! This is a great advantage when you're building for multiple places. &lt;br&gt;
There is a lot more! So make sure to check the documentation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading, I hope you liked it.
&lt;/h3&gt;

&lt;p&gt;If you have any questions or suggestions, please leave a comment below or feel free to reach out.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>JWT, access token, and refresh token</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Sat, 30 Apr 2022 12:41:39 +0000</pubDate>
      <link>https://dev.to/arorachakit/jwt-access-token-and-refresh-token-54nd</link>
      <guid>https://dev.to/arorachakit/jwt-access-token-and-refresh-token-54nd</guid>
      <description>&lt;p&gt;There is always a need for Authentication when building an application. And if you're a developer, you know how painful the authentication part can get. It takes a significant amount of effort to build this part if you're starting from scratch. Also, it is a little difficult to understand how it works at once. I still struggle every time I try to implement it.&lt;/p&gt;

&lt;p&gt;Let's look at a way of implementing an access token and refresh token system using JWT. &lt;/p&gt;

&lt;p&gt;JWT stands for JSON web token, and it consists of three main parts. A header, payload, and a signature.  For a valid one, we need these three parts to be present in it. Usually, these tokens are created by using a library, be it for javascript or python.&lt;/p&gt;

&lt;p&gt;Generally, during the creating of one token, we need to specify three things - The payload, a secret key, and the algorithm to create the token. The payload is the data we need in the token. There are a few general keys like 'sub', 'iat' (issued at), etc but it can be customized.&lt;/p&gt;

&lt;p&gt;We need to specify the algorithm because there can be multiple of those, which can be used for the creation. The important thing is the secret key. Anyone can create a token with the same payload and algorithm. So to verify that it is created by our server, we need the key. &lt;/p&gt;

&lt;p&gt;Now, let's see how the access token and refresh token works. So, once the user login we create a jwt as discussed above which works as an access token. It contains the user information in the payload. We send this to the front-end and store the access token there.&lt;/p&gt;

&lt;p&gt;It can either be stored in localStorage or your store (redux, vuex or whatever). Now we send this token along with the requests to the backend, and for every secured route (the one which we need the user to be logged in) on our backend, we check this access token on our backend.&lt;/p&gt;

&lt;p&gt;We check the expiry for that token on the frontend itself before sending the request to the backend. It can be set by us while creating. This part can be customized. This is generally intercepting your own request and checking. The access token is also added to the request in this step.&lt;/p&gt;

&lt;p&gt;Now, for checking this access token on the backend, as mentioned before we decode it with the help of our secret key. Now if everything goes well, we allow that request. If it doesn't that means the token has been tampered with. We throw the user out in this case.&lt;/p&gt;

&lt;p&gt;A refresh token is also created during the login, but we don't usually create a jwt for that. You can create it by any library or even use a simple uuid to create a unique token string. We store this along with the expiry of the refresh token in our database along with the user. &lt;/p&gt;

&lt;p&gt;This refresh token is also sent to the frontend and usually store as a cookie, so it is by default sent to the backend with the requests. If the access token is expired (during the interception), we use this refresh token and validate with what is stored in our database.&lt;/p&gt;

&lt;p&gt;We send the request to a refresh route created by us to check if it is a user's refresh token and not expired. If it is not expired we generate a new access token for that user as we did during the login and the process is the same again. &lt;br&gt;
If it is expired, we log the user out.&lt;/p&gt;

&lt;p&gt;So, most of the time we are using the access token to verify if the user is authenticated. But if the access token is expired, we use our refresh token to create a new access token. &lt;br&gt;
There can be multiple approaches to this according to the need and comfort.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading, I hope you liked it.
&lt;/h3&gt;

&lt;p&gt;If you have any questions or suggestions, please leave a comment below or feel free to reach out.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>security</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>1 week of using Github Copilot</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Sat, 30 Apr 2022 12:39:27 +0000</pubDate>
      <link>https://dev.to/arorachakit/1-week-of-using-github-copilot-9d4</link>
      <guid>https://dev.to/arorachakit/1-week-of-using-github-copilot-9d4</guid>
      <description>&lt;p&gt;Recently a lot of people got access to Github Copilot, I was one of those who got it. I was on the waiting list for a very long time, and trust me I was dying to use it after all the good stuff already heard.&lt;/p&gt;

&lt;p&gt;Github Copilot is an AI pair programmer developed by Github and OpenAI. The deep neural network model for Copilot is trained on public code repositories on GitHub. &lt;br&gt;
It helps you by giving suggestions for the code you might wanna write. &lt;/p&gt;

&lt;p&gt;I am seriously amazed by the performance, it is just amazing. It is really smart and exactly knows what do you wanna write most of the time. You can just write a comment, hit enter and it will suggest you the code. &lt;br&gt;
I am using it for over a week now and I find it really great. It picks up your coding style, your variables, and your way of writing. So, I was entering mock data into the database with a script. And I was hardcoding the data for it. I was making objects for the entries.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L4EUUWum--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1636220257324/eReFid3I5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L4EUUWum--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1636220257324/eReFid3I5.jpeg" alt="pexels-andrea-piacquadio-3760809.jpg" width="880" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was inserting those objects to MongoDB. Then using the inserted ones for further data. And I was shocked at how fast Copilot picked everything. After a few lines, I wasn't writing. I was just hitting tab, I was changing the variables name a few times. But that didn't bother me.&lt;/p&gt;

&lt;p&gt;The other thing is that it was evening changing the numbers, if I had a cost somewhere for a certain size and I tried to change the size in another object, it automatically changed the cost. It was even suggesting me the units. &lt;br&gt;
I was writing some pipelines for MongoDB, and I was using FastAPI. It even suggested to me the complete pipelines, with insertion, retrieval, and whatnot. This made me cry, haha! &lt;/p&gt;

&lt;p&gt;The crazy thing is there were situations that require me to Google usually for the syntax because I don't remember the syntax but, it suggested me such a good piece of code using my variables and my style that didn't Google. This is such a great thing,&lt;/p&gt;

&lt;p&gt;It even helped me with improving my own code, the suggested code was great and after a few suggestions, I had so much faith that I wasn't even checking the code thoroughly. I trust Github Copilot now and it is seriously reducing my efforts and making my work significantly faster.&lt;/p&gt;

&lt;p&gt;Now the question arises, if this is a good thing or not. This is tricky, but I think it is good. People can have a lot of different perspectives. Some say creativity might end, that can happen. I am not really sure. &lt;br&gt;
But one thing I am certain of is, it is a beginning of a new era. I wasn't believing this before using it, but I feel the power it has after using it. There are great things coming in near future and the future is bright! &lt;/p&gt;

&lt;p&gt;Thank you for reading! Let me know if you liked it.&lt;/p&gt;

</description>
      <category>github</category>
      <category>webdev</category>
      <category>programming</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Add a headless CMS to React in 5 minutes</title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Fri, 08 Apr 2022 10:39:23 +0000</pubDate>
      <link>https://dev.to/storyblok/add-a-headless-cms-to-react-in-5-minutes-2355</link>
      <guid>https://dev.to/storyblok/add-a-headless-cms-to-react-in-5-minutes-2355</guid>
      <description>&lt;p&gt;In this short tutorial, we’ll look at how we can integrate Storyblok into a React application with the help of the new &lt;a href="https://github.com/storyblok/storyblok-react" rel="noopener noreferrer"&gt;@storyblok/react&lt;/a&gt;, the official Storyblok React SDK.  We will see how we get the data from Storyblok and how we enable &lt;a href="https://www.storyblok.com/docs/Guides/storyblok-latest-js" rel="noopener noreferrer"&gt;Storyblok Bridge&lt;/a&gt; to preview live changes in the Visual Editor.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;HINT: You can find the final code for this tutorial in &lt;a href="https://github.com/storyblok/storyblok-react-boilerplate" rel="noopener noreferrer"&gt;this repo&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;Here are a few requirements to follow this tutorial: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic understanding of React and Javascript.&lt;/li&gt;
&lt;li&gt;Node.js LTS version (npm or yarn installed).&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://app.storyblok.com/" rel="noopener noreferrer"&gt;Storyblok App&lt;/a&gt; account for creating project in Storyblok.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Project Setup
&lt;/h2&gt;

&lt;p&gt;Start by creating a new React Project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-react-app storyblok-react-boilerplate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install the package &lt;a href="https://github.com/storyblok/storyblok-react" rel="noopener noreferrer"&gt;@storyblok/react&lt;/a&gt;. This is the only package needed for this tutorial.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd storyblok-react-boilerplate
npm install @storyblok/react
# yarn add @storyblok/react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The package @storyblok/react allows us to set up everything. It helps us get the data from Storyblok, loads &lt;a href="https://www.storyblok.com/docs/Guides/storyblok-latest-js" rel="noopener noreferrer"&gt;Storyblok Bridge&lt;/a&gt; for real-time visual updates, and provides us with a storyblokEditable function to link editable components to the Storyblok &lt;a href="https://www.storyblok.com/docs/guide/essentials/visual-editor" rel="noopener noreferrer"&gt;Visual Editor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once the packages are installed we can start our development server.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run start
# yarn start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should open a tab in the browser automatically with the url &lt;code&gt;http://localhost:3000&lt;/code&gt;, or we can manually go to the url after the project starts running. You should see this screen.&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%2Fuqu2nwlwt7cub2w3ez3p.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%2Fuqu2nwlwt7cub2w3ez3p.png" alt="React App Landing Page" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re using Storyblok V2, you will need to setup the dev server with an HTTPS proxy. We will use port 3010, so the url to access the website will become &lt;code&gt;https://localhost:3010/&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;HINT: If you don’t know how to setup an HTTPS proxy on macOS, read &lt;a href="https://www.storyblok.com/faq/setup-dev-server-https-proxy" rel="noopener noreferrer"&gt;this guide&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Space Configuration
&lt;/h2&gt;

&lt;p&gt;Now create a new space in the Storyblok App by clicking "+ Create New". Select the first option to start from scratch &lt;strong&gt;{1}&lt;/strong&gt; and then give it a name &lt;strong&gt;{2}&lt;/strong&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%2Fwhop0o7jyf4jur6101ap.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%2Fwhop0o7jyf4jur6101ap.png" alt="New Space Creation" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We will get a space with sample content already created for us. After this, we need to configure our Visual Editor to get the live preview of our website. For this, go to &lt;strong&gt;Settings {1}&lt;/strong&gt; &amp;gt; &lt;strong&gt;Visual Editor {2}&lt;/strong&gt;, and set the &lt;strong&gt;Location (default environment) {3}&lt;/strong&gt; to &lt;code&gt;https://localhost:3010/&lt;/code&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%2Ffcoa12hxn6ch37ktmmoy.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%2Ffcoa12hxn6ch37ktmmoy.png" alt="Adding Location to Visual Editor" width="800" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now go to the Home Page from the Content section. You should already see our React app. Click on the &lt;strong&gt;Entry Configuration {1}&lt;/strong&gt; and set the &lt;strong&gt;Real Path {2}&lt;/strong&gt; to “/”. This will be useful later when we get the data depending upon the slug.&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%2Fg2axgfitsbp6owuago24.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%2Fg2axgfitsbp6owuago24.png" alt="Visual Editor" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can also see some of the components created for us on the right-hand side, which we will create later in our app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect React to Storyblok
&lt;/h2&gt;

&lt;p&gt;Connect the React Application to Storyblok with the help of the SDK. We use two things from the package in the &lt;code&gt;index.js&lt;/code&gt; file &lt;a href="https://github.com/storyblok/storyblok-react#initialization" rel="noopener noreferrer"&gt;storyblokInit&lt;/a&gt; and &lt;a href="https://github.com/storyblok/storyblok-react#getting-started" rel="noopener noreferrer"&gt;apiPlugin&lt;/a&gt;. We need to add the following code to the &lt;code&gt;index.js&lt;/code&gt; file.&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;// index.js&lt;/span&gt;
&lt;span class="p"&gt;...&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;storyblokInit&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;apiPlugin&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;@storyblok/react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;storyblokInit&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;YOUR_PREVIEW_TOKEN&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;use&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;apiPlugin&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="na"&gt;components&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="p"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;storyblokInit&lt;/code&gt; allows us to set up the connection with the space and also loads the Storyblok Bridge, which helps us to see the real-time changes when editing the content. The &lt;code&gt;apiPlugin&lt;/code&gt; here helps us get the data. If you don't want to use &lt;code&gt;apiPlugin&lt;/code&gt;, you can use your preferred method or function to fetch your data.&lt;/p&gt;

&lt;p&gt;We have a components key here to declare all the React components that we need to create, according to the ones we have in our space. These components are dynamically rendered with the &lt;a href="https://github.com/storyblok/storyblok-react#2-listen-to-storyblok-visual-editor-events" rel="noopener noreferrer"&gt;StoryblokComponent&lt;/a&gt; which we will see in a bit. We need to keep the names the same at both places for it to work while creating the components.&lt;/p&gt;

&lt;p&gt;Get the preview token and replace the value at accessToken. To do this, go to &lt;strong&gt;Settings {1}&lt;/strong&gt; &amp;gt; &lt;strong&gt;Access Tokens {2}&lt;/strong&gt;, and copy the &lt;code&gt;Preview&lt;/code&gt; access token.&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%2Fh29li6756wzd9bxkmnrn.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%2Fh29li6756wzd9bxkmnrn.png" alt="Getting Access Token" width="800" height="490"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To get data and dynamically load it, change the code of app.js to the following:&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;// App.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useStoryblok&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;StoryblokComponent&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;@storyblok/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;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;slug&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;
    &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pathname&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&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;home&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pathname&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&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="p"&gt;);&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;story&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useStoryblok&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;draft&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;story&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;story&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;content&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Loading&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;;
&lt;/span&gt;  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;StoryblokComponent&lt;/span&gt; &lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;story&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="err"&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;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we use &lt;a href="https://github.com/storyblok/storyblok-react#2-listen-to-storyblok-visual-editor-events" rel="noopener noreferrer"&gt;useStoryblok&lt;/a&gt; after getting the slug, which helps us get the new story every time we change anything in the editor. It has three parameters, the first one being the slug. The second parameter is the &lt;code&gt;apiOptions&lt;/code&gt; where we have all of the API options for getting the data, and the third one is the &lt;code&gt;bridgeOptions&lt;/code&gt; which is optional for configuring the bridge.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;slug*&lt;/td&gt;
&lt;td&gt;The first parameter of type string. Slug of the required story&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;apiOptions*&lt;/td&gt;
&lt;td&gt;The second parameter of type object, for configuring the API options&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bridgeOptions&lt;/td&gt;
&lt;td&gt;This is an optional parameter of type object, for customizing the bridge options.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;We also see &lt;code&gt;StoryblokComponent&lt;/code&gt; in action here. It can be used anywhere in the code to render the React components we created according to our space. We can pass the content for a story with &lt;code&gt;blok&lt;/code&gt; prop. For this to work, it’s important to list them in &lt;code&gt;storyblokInit&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In Storyblok, the content is structured as components. As we already have some components created in our space, let’s create those in our React app. This allows us to reuse the components dynamically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Components
&lt;/h2&gt;

&lt;p&gt;When we create a new space, the default components are: &lt;code&gt;Page&lt;/code&gt;, &lt;code&gt;Teaser&lt;/code&gt;, &lt;code&gt;Grid&lt;/code&gt; and &lt;code&gt;Feature&lt;/code&gt;. Now create the mentioned components in our app.&lt;/p&gt;

&lt;p&gt;In the components folder:&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;// Page.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;StoryblokComponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;storyblokEditable&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;@storyblok/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;Page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;blok&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;main&lt;/span&gt; &lt;span class="p"&gt;{...&lt;/span&gt;&lt;span class="nf"&gt;storyblokEditable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blok&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;blok&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;
      &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&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;blok&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;StoryblokComponent&lt;/span&gt; &lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;_uid&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&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="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/main&lt;/span&gt;&lt;span class="err"&gt;&amp;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;Page&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We also use a &lt;a href="https://github.com/storyblok/storyblok-react#3-link-your-components-to-storyblok-visual-editor" rel="noopener noreferrer"&gt;storyblokEditable&lt;/a&gt; function from the SDK. It allows us to mark the react component editable in the Visual Editor. With the help of this function, we can click the components in the Visual Editor and easily edit them. Hence we will use this for all the Storyblok components.&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;// Page.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;storyblokEditable&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;@storyblok/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;Teaser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;blok&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt; &lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="na"&gt;textAlign&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;center&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="nf"&gt;storyblokEditable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blok&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;blok&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;headline&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&amp;gt;&lt;/span&gt;&lt;span class="err"&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;Teaser&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Grid.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;StoryblokComponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;storyblokEditable&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;@storyblok/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;Grid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;blok&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;justifyContent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;space-around&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="nf"&gt;storyblokEditable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;grid&lt;/span&gt;&lt;span class="dl"&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;blok&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;columns&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;blok&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;StoryblokComponent&lt;/span&gt; &lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;_uid&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="p"&gt;))}&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&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;Grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Feature.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;storyblokEditable&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;@storyblok/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;Feature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;blok&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="p"&gt;{...&lt;/span&gt;&lt;span class="nf"&gt;storyblokEditable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blok&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;column feature&lt;/span&gt;&lt;span class="dl"&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;blok&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;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;Feature&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, just add these components in &lt;code&gt;storyblokInit&lt;/code&gt;. It should look something like this:&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;// index.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;storyblokInit&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;apiPlugin&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;@storyblok/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;Page&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./components/Page&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Grid&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./components/Grid&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Feature&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./components/Feature&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Teaser&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./components/Teaser&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="nf"&gt;storyblokInit&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;YOUR_PREVIEW_TOKEN&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;use&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;apiPlugin&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="na"&gt;components&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;page&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Page&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;teaser&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Teaser&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;feature&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Feature&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Grid&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;p&gt;And that’s all! You should be able to see your content in the Visual Editor, now that you’ve unlocked the power of live editing. You can start playing with the content and see live changes. It should look something like this:&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%2Ft3u8e6p7l5bvptuumn7y.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%2Ft3u8e6p7l5bvptuumn7y.png" alt="Live Editing" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;In this tutorial, you saw an overview of how to create and integrate a React Application with Storyblok with the help of the official React SDK. Additionally, you learned how to use the data and enable the real-time Visual Editor.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Demo Repository&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/storyblok/storyblok-react-boilerplate" rel="noopener noreferrer"&gt;https://github.com/storyblok/storyblok-react-boilerplate&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React Docs&lt;/td&gt;
&lt;td&gt;&lt;a href="https://reactjs.org/docs/getting-started.html" rel="noopener noreferrer"&gt;https://reactjs.org/docs/getting-started.html&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storyblok React SDK&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/storyblok/storyblok-react" rel="noopener noreferrer"&gt;https://github.com/storyblok/storyblok-react&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storyblok Visual Editor&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.storyblok.com/docs/guide/essentials/visual-editor" rel="noopener noreferrer"&gt;https://www.storyblok.com/docs/guide/essentials/visual-editor&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storyblok JS Bridge&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.storyblok.com/docs/Guides/storyblok-latest-js" rel="noopener noreferrer"&gt;https://www.storyblok.com/docs/Guides/storyblok-latest-js&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storyblok React Hub&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.storyblok.com/tc/react" rel="noopener noreferrer"&gt;https://www.storyblok.com/tc/react&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>opensource</category>
      <category>headlesscms</category>
    </item>
    <item>
      <title>Node js behind the scenes! </title>
      <dc:creator>Chakit</dc:creator>
      <pubDate>Tue, 22 Feb 2022 15:59:47 +0000</pubDate>
      <link>https://dev.to/arorachakit/node-js-behind-the-scenes-3e7c</link>
      <guid>https://dev.to/arorachakit/node-js-behind-the-scenes-3e7c</guid>
      <description>&lt;p&gt;Let's see how Node js works behind the scenes. &lt;/p&gt;

&lt;p&gt;There are a few things that we need to understand before diving deeper about node js. &lt;/p&gt;

&lt;p&gt;Node js is a javascript runtime, that helps us to run javascript code on the server-side. It helps us to build largely scalable network applications.&lt;/p&gt;

&lt;p&gt;Unlike other models, node is single-threaded. So, whatever request comes to the application, it is handled by just one thread. Being single-threaded, node js is still very much efficient and can handle concurrent requests. Let's look at what is blocking and non-blocking first.&lt;/p&gt;

&lt;p&gt;Blocking and non-blocking - Generally, if we talk about other languages if anything comes to a thread, that thread is responsible for executing that complete operation. But, they are multi-threaded. So, every request goes to a new thread depending upon the number of threads.&lt;/p&gt;

&lt;p&gt;Now, consider we have 5 threads in the system, and there are 6 requests. So the one request (the 6th one) will have to wait for a thread to get free. So, it is getting blocked because a thread can only be engaged to one operation at a time.&lt;/p&gt;

&lt;p&gt;And node is single-thread. So every request has to be handled with that thread only. Node is event-driven and works on 2 concepts - &lt;br&gt;
a. Non-blocking I/O&lt;br&gt;
b. Asynchronous &lt;/p&gt;

&lt;p&gt;Non-blocking I/O means that the main thread won't be blocked in any I/O operations and the server can handle concurrent requests.&lt;br&gt;
Asynchronous means the use of callbacks. This is because we don't know the time any task will take. We will look at callbacks in a while.&lt;/p&gt;

&lt;p&gt;Node js uses an event loop as it is event-driven, and it is literally the heart of node.&lt;br&gt;
Now, this loop has different phases for different types of operations and functions. &lt;/p&gt;

&lt;p&gt;And there is an event queue for registering callbacks associated with the phases.&lt;/p&gt;

&lt;p&gt;When a request comes to the server, the single thread is responsible for communicating with the event loop and registering callbacks. Consider getting a request which needs to read a file from OS and another one that goes on another server or database.&lt;/p&gt;

&lt;p&gt;Now, the thread first receives a request, a callback is registered and the thread is free for the other request. So instead of performing the actual operations, it queues and registers the callbacks. &lt;br&gt;
Once the operation is completed the callbacks are called and the thread knows that the operation is completed. It sends back the response. It is not blocked by one request.&lt;/p&gt;

&lt;p&gt;The question is what is responsible for performing the operations as the event loop is single-threaded?&lt;/p&gt;

&lt;p&gt;Node uses a library called libuv. It is built in C and works with the OS and kernel. And this uses multiple threads accordingly and is responsible for performing a task.&lt;/p&gt;

&lt;p&gt;So after the execution, be it file read or communicating to other server or database, callback is called!!&lt;/p&gt;

&lt;p&gt;This is great for I/O tasks. This is very fast and super awesome when the stuff is asynchronous and not CPU intensive. Consider there is some operation that involves calculations, at this time the main thread is blocked. &lt;/p&gt;

&lt;p&gt;But there is one more thing. With the event loop, node also manages a thread pool. And it contains worker threads. They are useful for performing CPU-intensive JavaScript operations. There are by deault 4 of those and that can be changed.&lt;/p&gt;

&lt;p&gt;But, this is the major reason why it is not preferred for CPU-intensive operations. If there are requirements where we have a lot of CPU-intensive tasks, where we use complex algorithms we use languages like Java, Python, etc. We need multiple threads in these situations.&lt;/p&gt;

&lt;p&gt;Node is very much effective for I/O like reading/writing files, reading/waiting for network data, etc. Node is easy to learn and helps in building highly scalable servers. Scalability is a true jewel of node environment.&lt;/p&gt;

&lt;p&gt;Node is one of the most popular things people are learning. And node is used in building a lot of great products and applications. There are a lot of frameworks getting used with Node like Express, Loopback, Fastify, Nest, etc. &lt;/p&gt;

&lt;p&gt;That's all for this blog, this was an overview of how it works behind the scenes. But you don't need to worry about this a lot as it is all happening behind the scenes.&lt;br&gt;
Do check this blog if you want to set up a basic node and express server - &lt;a href="https://hashnode.chakitarora.com/how-to-start-a-basic-node-and-express-server" rel="noopener noreferrer"&gt;https://hashnode.chakitarora.com/how-to-start-a-basic-node-and-express-server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can find it in this thread as well -&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1485215377072214016-991" src="https://platform.twitter.com/embed/Tweet.html?id=1485215377072214016"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1485215377072214016-991');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1485215377072214016&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thank you for reading. Let me know if you find it useful. &lt;br&gt;
You can find me on &lt;a href="https://twitter.com/arorachakit" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;. I am quite active there and keep sharing my journey.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>node</category>
    </item>
  </channel>
</rss>
