<?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: Raagul N</title>
    <description>The latest articles on DEV Community by Raagul N (@beyondtheinferno).</description>
    <link>https://dev.to/beyondtheinferno</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%2F381424%2Fba6eece1-3289-4211-9563-312ae439d63b.jpeg</url>
      <title>DEV Community: Raagul N</title>
      <link>https://dev.to/beyondtheinferno</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/beyondtheinferno"/>
    <language>en</language>
    <item>
      <title>Minimalist Porfolio - Submission</title>
      <dc:creator>Raagul N</dc:creator>
      <pubDate>Mon, 11 Jan 2021 07:29:37 +0000</pubDate>
      <link>https://dev.to/beyondtheinferno/minimalist-porfolio-submission-4jbl</link>
      <guid>https://dev.to/beyondtheinferno/minimalist-porfolio-submission-4jbl</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Here is my clutter free, minimal portfolio as a part of the DO Hackathon. No distractions in the background by some fancy graphics, no unnecessary interactions required. Click on &lt;code&gt;tl;dr&lt;/code&gt; section to get to know me in a couple of minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;Personal Portfolio&lt;/p&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;Custom domain - &lt;a href="https://beyondtheinferno.me/" rel="noopener noreferrer"&gt;https://beyondtheinferno.me&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DO domain - &lt;a href="https://beyondtheinferno-v-2-7czxf.ondigitalocean.app/" rel="noopener noreferrer"&gt;https://beyondtheinferno-v-2-7czxf.ondigitalocean.app&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpcdyxwi2kq0hpziku6br.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpcdyxwi2kq0hpziku6br.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Falvp5nxcn9eevzwkqdd1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Falvp5nxcn9eevzwkqdd1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkutcbka35wqhijhuctik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkutcbka35wqhijhuctik.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The landing page needs all the details you need to get to know me in the professional formats - LinkedIn, Github etc.&lt;/li&gt;
&lt;li&gt;tldr; section - an elevator pitch of myself, using kinetic typography using DOM nodes&lt;/li&gt;
&lt;li&gt;Fully responsive animations with fluid typography&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/beyondtheinferno/beyondtheinferno-v2" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;MIT license&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;Summary can be found in previous posts&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;Summary can be found in previous posts&lt;/p&gt;

</description>
      <category>dohackathon</category>
      <category>webdev</category>
      <category>react</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>Minimalist Portfolio - Wrapping up</title>
      <dc:creator>Raagul N</dc:creator>
      <pubDate>Mon, 11 Jan 2021 07:12:27 +0000</pubDate>
      <link>https://dev.to/beyondtheinferno/minimalist-portfolio-wrapping-up-4p2e</link>
      <guid>https://dev.to/beyondtheinferno/minimalist-portfolio-wrapping-up-4p2e</guid>
      <description>&lt;p&gt;So, development was done. Time to submit? Not yet.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;The major issue was that everything was powered by react-spring, so JS was handling all the animation. Which was causing the fans to go crazy. So, I switched the circles animation on landing page to plain CSS animations, and performance increased by a lot.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All the elements on the landing page need to be clearly visible in both the modes. I ended up switching the icons in dark mode and changed the hover color for GitHub as it was not very easily distinguished from the dark mode's background&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WiK4iKEX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/stgngs4933gxfngiwxdm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WiK4iKEX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/stgngs4933gxfngiwxdm.png" alt="Alt Text" width="598" height="214"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using react-spring to switch between the two routes &lt;code&gt;/&lt;/code&gt; and &lt;code&gt;/summary&lt;/code&gt;, I noticed that each time, there was a varied difference in different browsers and different devices. So, I added a play button and removed the auto start so that irrespective of load time, users can view the tldr; when they are ready and not miss a thing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;While testing across different browsers / different devices, I realised I had missed to put a overflow on the parent container for the Languages section in &lt;code&gt;summary&lt;/code&gt;, which had resulted in a really big container being rendered in mobile views. Testing is important indeed.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5u2Zxr6c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/c0pg8010aku55cp5a8e5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5u2Zxr6c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/c0pg8010aku55cp5a8e5.png" alt="Alt Text" width="880" height="500"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Found this beautiful &lt;a href="https://metatags.io/"&gt;website&lt;/a&gt; that handles all meta tags for the major social media sites for the link preview. Also added a dynamic favicon that will change color when the OS' preferred color scheme changes.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cW7uAWah--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6hkrpo2xj4t6oa4ze0l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cW7uAWah--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6hkrpo2xj4t6oa4ze0l8.png" alt="Alt Text" width="338" height="80"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZYqV-hhy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yhjirviwjvdrp5hvlaw9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZYqV-hhy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yhjirviwjvdrp5hvlaw9.png" alt="Alt Text" width="340" height="84"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Finally, Deployment
&lt;/h3&gt;

&lt;p&gt;What better way to check if DO really were true to their word about quick account creation and quicker deployments than to start the entire process the night of the deadline? 😂 But super hassle free deployment and a really good experience overall. Coming from a role where you are constantly filtering out old StackOverflow solutions from 2010 so that you don't end up using outdated solutions, it was a welcome sight to not have to go beyond the one DO article page that helped me get all my doubts clarified.&lt;/p&gt;

&lt;p&gt;And that's a wrap, submission in the next post.&lt;/p&gt;

</description>
      <category>dohackathon</category>
      <category>react</category>
      <category>webdev</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>Minimalist Portfolio - tl;dr section</title>
      <dc:creator>Raagul N</dc:creator>
      <pubDate>Mon, 11 Jan 2021 06:51:32 +0000</pubDate>
      <link>https://dev.to/beyondtheinferno/minimalist-portfolio-tldr-section-3plg</link>
      <guid>https://dev.to/beyondtheinferno/minimalist-portfolio-tldr-section-3plg</guid>
      <description>&lt;p&gt;TBH I was pretty pleased with myself after the landing page came out so good. It was clean, to the point, and the user's focus was right where I needed it to be - on my name and on the icons.&lt;/p&gt;

&lt;p&gt;But I realised I wanted to do more than just create a portal for users to go to other sites. So came the idea of tl;dr section.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ideation and inspiration
&lt;/h3&gt;

&lt;p&gt;I was always fascinated by fancy typography and the lyrics music videos that made use of kinetic typography. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.creativebloq.com/typography/examples-kinetic-typography-11121304"&gt;This&lt;/a&gt; website had a collection of good examples, had them as my source&lt;/li&gt;
&lt;li&gt;Who could forget Apple's &lt;a href="https://www.youtube.com/watch?v=jk6sz25OZgw"&gt;Don't Blink&lt;/a&gt;? I knew from the start I was going to keep it simple and clean like this&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, I decided to make one, but not as a video, but in a website format with actual DOM elements. Why? Because I am a web developer, and also because I can :)&lt;/p&gt;

&lt;p&gt;Some mental notes I made to myself before development - &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Time the words in a bit relaxed fashion so that even people who don't speak English as their first language could follow and read.&lt;/li&gt;
&lt;li&gt;It needed to be short, it was after all a tl;dr&lt;/li&gt;
&lt;li&gt;Syncing the text to music would be impossible, so no background music&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Pre-development
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.react-spring.io/"&gt;react-spring&lt;/a&gt; was the perfect choice for animation as the spring based animation would make it more realistic and like the entire thing is a video without audio. The hooks and the docs made it easy to stop the animation at any time, chain animations together and configure each animation separately without any hassles.&lt;/p&gt;

&lt;p&gt;The story I wanted to tell - &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Intro section&lt;/li&gt;
&lt;li&gt;What I do &lt;em&gt;(with proof)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;A quick overview of technologies I knew&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Major Hurdle
&lt;/h3&gt;

&lt;p&gt;Figuring out how to make the text appear smoothly and glide over to the left while also not disturbing the centering was tough.&lt;/p&gt;

&lt;p&gt;My initial idea was to render an invisible node and let it render the &lt;em&gt;(n+1)th&lt;/em&gt; step while the real node was rendering the &lt;em&gt;(n)th&lt;/em&gt; step and I could use the width of the invisible node to calculate the position of the real node and &lt;code&gt;transform: translate()&lt;/code&gt; it. But I soon realized that making that calculation and updating the value in the state from which the real node could use it before the next animation in the chain of animation happens, was difficult.&lt;/p&gt;

&lt;p&gt;I ended up trading a bit of horizontal alignment for the smooth glide to the left. After all, it was just a couple of pixels, and it didn't seem to look skewed to the left / right in any device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Desktop version&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KJ67Wg1p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1yq8ikcfaaod6efssph3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KJ67Wg1p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1yq8ikcfaaod6efssph3.png" alt="Alt Text" width="880" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mobile version&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oboKNqZ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/59qt58p97xu17pepw0n3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oboKNqZ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/59qt58p97xu17pepw0n3.png" alt="Alt Text" width="820" height="1452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And with this section ready, it was time to put up a tl;dr button right next to dark mode toggle in the landing page.&lt;/p&gt;

</description>
      <category>dohackathon</category>
      <category>react</category>
      <category>webdev</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>Minimalist Portfolio - Landing Page</title>
      <dc:creator>Raagul N</dc:creator>
      <pubDate>Mon, 11 Jan 2021 06:15:39 +0000</pubDate>
      <link>https://dev.to/beyondtheinferno/minimalist-portfolio-landing-page-286e</link>
      <guid>https://dev.to/beyondtheinferno/minimalist-portfolio-landing-page-286e</guid>
      <description>&lt;p&gt;So, ideation and brainstorming phase was done, requirements for the site were ready. Next step would be designing right?&lt;/p&gt;

&lt;p&gt;Well...&lt;/p&gt;

&lt;p&gt;I decided to go straight to development with the idea I had without trying it out in a designing tool like Figma first. It's almost never a good move, but in my case it helped me discover &lt;code&gt;mix-blend-mode&lt;/code&gt; and &lt;code&gt;background-blend-mode&lt;/code&gt; in CSS.&lt;/p&gt;

&lt;h3&gt;
  
  
  The main attraction in the landing page
&lt;/h3&gt;

&lt;p&gt;The idea from the start was to have an SVG &lt;code&gt;text&lt;/code&gt; element of my name with a &lt;code&gt;clipPath&lt;/code&gt; &amp;amp; gentle gradient at the center of the page. Social media icons below the text and a dark mode toggle at the top right corner. But because of the discovery of blend mode and some cool examples like &lt;a href="https://ishadeed.com/article/blending-modes-css/"&gt;this&lt;/a&gt; and &lt;a href="https://alligator.io/css/exploring-blend-modes/"&gt;this&lt;/a&gt;, I decided to remove the gradient and put in small circles in a packed layout that would be masked by the clip path.&lt;/p&gt;

&lt;p&gt;Changes I ended up making - &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Made the circle radius to vary between 1 to 7 randomly to increase the effect on blend mode&lt;/li&gt;
&lt;li&gt;Used mix-blend-mode &lt;code&gt;screen&lt;/code&gt; and knew I would be using &lt;code&gt;multiply&lt;/code&gt; for the dark mode&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Without blend mode&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IIx0wL1F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/v5jvoyit5l7i7mu66ndn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IIx0wL1F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/v5jvoyit5l7i7mu66ndn.png" alt="Without blend mode" width="342" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With blend mode&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MoVGu8Cv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fmmvy8iy20olmiqn93uf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MoVGu8Cv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fmmvy8iy20olmiqn93uf.png" alt="With blend mode" width="338" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The icons
&lt;/h3&gt;

&lt;p&gt;Development of icons section was pretty straighforward, a responsive SVG image to depict the social media / website it stood for, and a hover state to help users know that it was an interactible element with action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--08yAykDT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fr3v8ixssbscqke72os0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--08yAykDT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fr3v8ixssbscqke72os0.png" alt="Alt Text" width="588" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Icons with the hover state&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mMJPVwH5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p306qr0l246ydce79g6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mMJPVwH5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p306qr0l246ydce79g6j.png" alt="Alt Text" width="548" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dark mode
&lt;/h3&gt;

&lt;p&gt;Even before researching, from a user's perspective, I already knew all the necessities to create a good dark mode toggle by using them in other websites - &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Should respect OS' color scheme&lt;/li&gt;
&lt;li&gt;User should be able to toggle the mode&lt;/li&gt;
&lt;li&gt;User should not have to re-assign his preference after quitting the website and re-opening it the next time &lt;em&gt;(local storage)&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I had started implementation using Theme Context when I discovered &lt;a href="https://github.com/donavon/use-dark-mode"&gt;use-dark-mode&lt;/a&gt;. They had all my requirements in a single hook, so why re-invent the wheel?&lt;/p&gt;

&lt;h3&gt;
  
  
  Preview
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Light mode&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p-7wkGoz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h8tes8d5ux0e0vt19g1q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p-7wkGoz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h8tes8d5ux0e0vt19g1q.png" alt="Alt Text" width="880" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dark mode&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0GWmNLLV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/crawrb9qjcknqvw4b33v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0GWmNLLV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/crawrb9qjcknqvw4b33v.png" alt="Alt Text" width="880" height="501"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With that, my portfolio was a wrap.&lt;/p&gt;

&lt;p&gt;Wait, that's it? Find out in the next post :)&lt;/p&gt;

</description>
      <category>dohackathon</category>
      <category>webdev</category>
      <category>portfolio</category>
      <category>react</category>
    </item>
    <item>
      <title>Minimalist Portfolio - Preface</title>
      <dc:creator>Raagul N</dc:creator>
      <pubDate>Sun, 10 Jan 2021 22:34:29 +0000</pubDate>
      <link>https://dev.to/beyondtheinferno/minimalist-portfolio-preface-43km</link>
      <guid>https://dev.to/beyondtheinferno/minimalist-portfolio-preface-43km</guid>
      <description>&lt;p&gt;Last time I worked on my personal portfolio, I was working from a not-so-color-perfect display, with very less knowledge on web development and responsiveness.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FNcuwxi6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/meon43cn4wisy2wd7ptd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FNcuwxi6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/meon43cn4wisy2wd7ptd.png" alt="Alt Text" width="880" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This one's different, way different.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Plan
&lt;/h2&gt;

&lt;h3&gt;
  
  
  My Layout Preferences
&lt;/h3&gt;

&lt;p&gt;An ideal website in my opinion would be a no clutter, clean and minimal layout.  I also loved presenting data in the form of beautiful visualizations, and realised I could somehow bring these two concepts into my portfolio.&lt;/p&gt;

&lt;h3&gt;
  
  
  Initial Ideation
&lt;/h3&gt;

&lt;p&gt;I already had a vague idea that I would be majorly having a single focus point on the landing page, either my name in some fancy font / visualisation integration or a well edited image of me with some cool blend / mix effects. Latter was ruled out pretty quickly as I realized these two points - &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I did not want the viewers of the website to be fascinated by my &lt;code&gt;object-fit: contain&lt;/code&gt; skills&lt;/li&gt;
&lt;li&gt;My photoshop skills were very basic&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So cool + minimal visualisation with my name was decided.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design Inspirations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://notion.so"&gt;Notion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://super.so/"&gt;Super&lt;/a&gt; - which had a amazing showcase section with super minimal but effective layouts&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.covid19india.org/"&gt;Covid-19 Tracker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Planned Functionalities
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Dark mode toggle &lt;em&gt;(a necessity in all websites in 2021 in my opinion)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Buttons to redirect to social media&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Planned Tech Stack
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;React - been using it for more than a year now, loving it&lt;/li&gt;
&lt;li&gt;d3.js - didn't go for any charting / visualisation libraries as this gave me more power to customise everything&lt;/li&gt;
&lt;li&gt;react-spring - spring based animations felt so much more natural than timing based animation&lt;/li&gt;
&lt;li&gt;CSS modules - needed scoping so that I didn't have to worry about naming conventions, but didn't want to go for JS styling libraries as I didn't want any unneseccary overhead.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With all that decided, I started developing the landing page.&lt;/p&gt;

</description>
      <category>dohackathon</category>
      <category>portfolio</category>
      <category>design</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
