<?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: Utsav bhattarai</title>
    <description>The latest articles on DEV Community by Utsav bhattarai (@utsavbhattarai007).</description>
    <link>https://dev.to/utsavbhattarai007</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F855726%2F6dde684e-06dd-4148-bb52-0a2148096ce4.png</url>
      <title>DEV Community: Utsav bhattarai</title>
      <link>https://dev.to/utsavbhattarai007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/utsavbhattarai007"/>
    <language>en</language>
    <item>
      <title>I Won an Arduino UNO Q at a Hack Day. Now I'm Building a Device to Help Me Touch Grass</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Sun, 11 Oct 2026 17:52:28 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/i-won-an-arduino-uno-q-at-a-hack-day-now-im-building-a-device-to-help-me-touch-grass-k68</link>
      <guid>https://dev.to/utsavbhattarai007/i-won-an-arduino-uno-q-at-a-hack-day-now-im-building-a-device-to-help-me-touch-grass-k68</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Honestly, I didn't plan to work on hardware this week. 😅&lt;/p&gt;

&lt;p&gt;A little while ago, I attended an offline hack day in my city. I went there as an individual participant without a team. But I got to meet three other people, we connected, and we decided to build something together.&lt;/p&gt;

&lt;p&gt;We named our team &lt;strong&gt;Wasted Token&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We had around six hours to build a project. We decided to work on a tool that helps developers avoid accidentally pushing secrets into their Git commit history. The idea was to detect things like API keys, passwords, and access tokens before they become part of a commit.&lt;/p&gt;

&lt;p&gt;We spent those six hours building, debugging, and trying to get everything working. And luckily, we won the hack day.&lt;/p&gt;

&lt;p&gt;Along with some awesome swag, one of the prizes was an &lt;strong&gt;Arduino UNO Q&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That was the beginning of a completely new adventure for me.&lt;/p&gt;

&lt;p&gt;I'd heard about Arduino before, but I had no real experience with electronics or hardware development. Most of my experience was with software, web applications, and developer tools.&lt;/p&gt;

&lt;p&gt;So naturally, I got curious about what this board could do.&lt;/p&gt;

&lt;p&gt;I started reading the documentation, exploring the examples, and trying things out on the device. The more I explored, the more I realized how much there was to experiment with.&lt;/p&gt;

&lt;p&gt;The UNO Q combines a Linux-capable processor for running applications and AI with a microcontroller for interacting with hardware. It even has a built-in LED matrix!&lt;/p&gt;

&lt;p&gt;Then I came across the &lt;strong&gt;Hacktoberfest Open-Source AI Challenge: Week 1 — Touch Grass&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The challenge was about building something with open-source AI that encourages people to spend less time on screens and more time in the real world.&lt;/p&gt;

&lt;p&gt;I started thinking: &lt;em&gt;What if I used this device to build something that helps me take better breaks from my own devices?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And that's how &lt;strong&gt;Outmark&lt;/strong&gt; started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Outmark
&lt;/h2&gt;

&lt;p&gt;Outmark is a screen-free break companion built around a simple idea: make a promise to yourself, step away from your screen, and keep a record of the activities you complete.&lt;/p&gt;

&lt;p&gt;We all know how this goes. You sit down to study or code, spend hours staring at a screen, and eventually decide to take a break. Somehow, that break turns into scrolling through social media or watching random videos.&lt;/p&gt;

&lt;p&gt;I wanted to experiment with a different approach.&lt;/p&gt;

&lt;p&gt;Outmark helps you make small commitments to spend time away from your screen. It might be taking a short walk, sitting outside, observing your surroundings, or simply taking a few minutes away from your desk.&lt;/p&gt;

&lt;p&gt;Here's how it works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Choose an activity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Outmark uses a locally running open-weight AI model to suggest a practical outdoor or screen-free activity. You can accept the suggestion or reject it and request another one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Make a promise&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you accept an activity, the timer starts. If you choose five minutes, you cannot mark the commitment as kept before the full five minutes have elapsed.&lt;/p&gt;

&lt;p&gt;You don't need to keep staring at the webpage. The session continues even after you close it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Report what happened&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When the timer ends, you can report whether you kept your promise or didn't manage to complete it. You can also record a short reflection about your experience.&lt;/p&gt;

&lt;p&gt;Outmark doesn't pretend to know what you did while you were away. Without additional sensors, it cannot verify whether you actually went outside. The point is personal accountability, not surveillance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. See your offline activity on the device&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where the Arduino UNO Q becomes an important part of the project.&lt;/p&gt;

&lt;p&gt;The board's built-in LED matrix displays a visual record of your recent activities. Instead of using the display just for decoration, I'm using it as a tiny activity monitor.&lt;/p&gt;

&lt;p&gt;The goal is to make your screen-free habits visible without needing to open another dashboard every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Arduino UNO Q?
&lt;/h2&gt;

&lt;p&gt;This is probably my favorite part of the project.&lt;/p&gt;

&lt;p&gt;I could have built Outmark as a normal web application, but then I wouldn't really be exploring what makes the UNO Q interesting.&lt;/p&gt;

&lt;p&gt;I wanted the hardware to play a meaningful role in the product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Linux side handles the intelligence.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It runs the local AI model, generates activities, manages commitments and timers, and stores activity history. The core application is designed to work without relying on a cloud AI service once everything has been installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The microcontroller handles the physical experience.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The STM32 side manages the LED matrix and its animations. The display responds to different moments in the user's workflow.&lt;/p&gt;

&lt;p&gt;When a commitment is accepted, the matrix can show a confirmation animation. While the timer is running, it can show progress. When the timer expires, it can display a different pattern. After the user reports the outcome, the activity monitor updates to reflect the recorded activity.&lt;/p&gt;

&lt;p&gt;The display can also show a rolling &lt;strong&gt;13-day activity chart&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The matrix is only 8 × 13 pixels, which means it has just 104 blue LEDs. It isn't suitable for detailed illustrations or paragraphs of text.&lt;/p&gt;

&lt;p&gt;Instead of fighting that limitation, I'm trying to make the small display useful through simple pixel patterns, visual states, and purposeful animations.&lt;/p&gt;

&lt;p&gt;I think that's one of the most interesting parts of building for this hardware: figuring out how to create a useful experience within its physical limitations.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the Activity Monitor Works
&lt;/h2&gt;

&lt;p&gt;The activity monitor is designed to show eight categories of screen-free activities across thirteen days.&lt;/p&gt;

&lt;p&gt;For example, the categories can include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Walking and movement&lt;/li&gt;
&lt;li&gt;Nature observation&lt;/li&gt;
&lt;li&gt;Quiet outdoor time&lt;/li&gt;
&lt;li&gt;Social connection&lt;/li&gt;
&lt;li&gt;Outdoor care or helping&lt;/li&gt;
&lt;li&gt;Exploring a new place&lt;/li&gt;
&lt;li&gt;Creative observation&lt;/li&gt;
&lt;li&gt;Other offline activities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each row represents an activity category, and each column represents a day.&lt;/p&gt;

&lt;p&gt;When a user reports keeping a commitment, Outmark records the activity in the appropriate category and updates the visual chart.&lt;/p&gt;

&lt;p&gt;The webpage shows the category names, dates, and more detailed information. The physical matrix displays the pattern itself.&lt;/p&gt;

&lt;p&gt;This makes the display useful without trying to squeeze too much information into 104 pixels.&lt;/p&gt;

&lt;p&gt;The activity history is based on what the user reports. Outmark doesn't claim to automatically track or verify physical activity.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I'm Building It
&lt;/h2&gt;

&lt;p&gt;I'm approaching the project with a relatively simple architecture.&lt;/p&gt;

&lt;p&gt;For the application and session management, I'm using Python with a lightweight local web interface. The application handles commitments, validates timer completion, stores reports, and updates the activity history.&lt;/p&gt;

&lt;p&gt;For the hardware, I'm using Arduino sketches to control the LED matrix and communicate with the Linux application through Arduino Bridge.&lt;/p&gt;

&lt;p&gt;For AI, I'm exploring a compact open-weight language model that can run locally on the UNO Q's 4 GB RAM variant. My current candidate is Qwen2.5-0.5B-Instruct in a quantized format, using a compatible local inference runtime.&lt;/p&gt;

&lt;p&gt;The AI has a focused job: generate practical activities based on the user's available time and preferences, then use recent activity history to avoid suggesting the same things repeatedly.&lt;/p&gt;

&lt;p&gt;I don't need a huge model or a complicated agent framework for this. I'd rather use a small model for one useful task than add a chatbot that doesn't contribute much to the experience.&lt;/p&gt;

&lt;p&gt;The timer and completion rules are handled by normal application logic. The AI doesn't decide whether a commitment has been completed or directly control the hardware.&lt;/p&gt;

&lt;p&gt;I'm also keeping activity history and reflections local. Once the model and dependencies are installed, the core experience should work without cloud AI APIs.&lt;/p&gt;

&lt;p&gt;Since this is my first serious experiment with the UNO Q, I'm learning as I build. I've been exploring the documentation, running examples, and figuring out how the Linux application and microcontroller can work together.&lt;/p&gt;

&lt;p&gt;It's been a fun change from my usual workflow!&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For me, open-source AI isn't just about using a model with an interesting name.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's about having control over the experience.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I want Outmark to work without sending every activity request or personal reflection to an external AI service. Local inference lets the model run on hardware I control, and the activity history can stay on the device.&lt;/p&gt;

&lt;p&gt;Using an open-weight model also means I'm not locked into one proprietary API. I can experiment with other models, inspect their licenses, change the prompts, and replace the inference runtime when it makes sense.&lt;/p&gt;

&lt;p&gt;There is also a practical benefit: no mandatory per-request AI bill.&lt;/p&gt;

&lt;p&gt;Of course, local models have limitations. A small model won't necessarily perform as well as a much larger hosted model, and it still needs enough memory and processing power to run comfortably. That's why I'm keeping the AI task narrow and using deterministic application logic for things like timers and activity records.&lt;/p&gt;

&lt;p&gt;The hardware side follows the same philosophy. I can explore the code, change the matrix animations, and experiment with how the Linux and microcontroller sides communicate.&lt;/p&gt;

&lt;p&gt;For me, this challenge is an opportunity to explore how open AI can be useful beyond chatbots and developer tools. It can also be part of a small, physical device that encourages people to spend less time using their devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm Learning Along the Way
&lt;/h2&gt;

&lt;p&gt;The biggest part of this project has been stepping outside my usual comfort zone.&lt;/p&gt;

&lt;p&gt;I went to an offline hack day, met three people, formed a team, and built a developer security tool in six hours. Winning the event and getting the UNO Q gave me a reason to explore a completely new area.&lt;/p&gt;

&lt;p&gt;Now I'm learning about embedded development, local AI inference, the communication between two computing environments, and how to design an interface for a display with only 104 pixels.&lt;/p&gt;

&lt;p&gt;I'm also thinking more carefully about the product itself. The challenge isn't simply to make an LED matrix light up. It's to make sure the hardware has a real purpose, the timer behaves correctly, the activity history is accurate, and the AI contributes something useful.&lt;/p&gt;

&lt;p&gt;I'm still exploring, but that's what makes this project exciting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/oNggCFdoli4" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/utsavdotdev" rel="noopener noreferrer"&gt;
        utsavdotdev
      &lt;/a&gt; / &lt;a href="https://github.com/utsavdotdev/outmark" rel="noopener noreferrer"&gt;
        outmark
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An open-source, local-AI-powered break companion that encourages screen-free activities and visualizes your offline habits on the Arduino UNO Q's LED matrix.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Outmark&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Outmark is a self-accountability companion for the Arduino UNO Q. You choose a few minutes and a kind of time outside, get one activity from a model running on the board, step away, and later say whether you kept the promise. A kept report lights one cell on the 8×13 LED matrix.&lt;/p&gt;
&lt;p&gt;The mark is your report. Outmark does not track your location, take a photo, or decide for you. The timer ending does not count as kept. You do.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How it works&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;The page is the whole interaction.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pick &lt;strong&gt;5, 10, or 15 minutes&lt;/strong&gt; and one of eight categories.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Suggest an activity.&lt;/strong&gt; The on-board model writes one. &lt;strong&gt;Another suggestion&lt;/strong&gt; throws it out and asks again. Nothing is timed until you accept.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accept and start.&lt;/strong&gt; The ring counts down from the board, so closing the browser does not stop it.&lt;/li&gt;
&lt;li&gt;When the time is up, the page asks how…&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/utsavdotdev/outmark" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;p&gt;Best use of Arduino&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I started this journey because I won a development board at a hack day. I kept exploring because I wanted to understand what it could do. And now I'm using it to experiment with a problem I experience myself.&lt;/p&gt;

&lt;p&gt;That's what I enjoy about hackathons: you sometimes go in to build one thing and come out with an entirely new direction to explore.&lt;/p&gt;

&lt;p&gt;Outmark is a learning experience for me, especially on the hardware side. But I hope it becomes a useful little companion for people who want to take better breaks and spend more time away from their screens.&lt;/p&gt;

&lt;p&gt;Sometimes the best thing technology can do is help us put it away for a while.&lt;/p&gt;

&lt;p&gt;Thanks for reading! &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Introducing Snapshot - A high quality screenshot clicker</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Fri, 20 Oct 2023 08:12:17 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/introducing-snapshot-a-high-quality-screenshot-clicker-2jki</link>
      <guid>https://dev.to/utsavbhattarai007/introducing-snapshot-a-high-quality-screenshot-clicker-2jki</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;Snapshot is an MIT Licensed open-source solution, designed for effortless high-quality screenshot captures. Input the website URL you want to capture, tweak a few advanced settings if you fancy, and you're set! Plus, for registered users, there's the added convenience of saving and organizing these screenshots.&lt;/p&gt;

&lt;h1&gt;
  
  
  At a glance
&lt;/h1&gt;

&lt;p&gt;Designed with user experience in mind, Snapshot presents:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Home page
&lt;/h3&gt;

&lt;p&gt;The simple yet effective entry point to our tool.&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%2Fufd38gen9hxvvjopfwmw.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%2Fufd38gen9hxvvjopfwmw.png" alt="a1" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Auth Page
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsndvu1abjh90huwl1yk.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%2Fdsndvu1abjh90huwl1yk.png" alt="a2" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Screenshot Preview
&lt;/h3&gt;

&lt;p&gt;Instantly view the screenshot you've just taken.&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%2Ft2qhhaa8dhpytegrsvau.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%2Ft2qhhaa8dhpytegrsvau.png" alt="a3" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Your Screenshot Collection page
&lt;/h3&gt;

&lt;p&gt;For registered users, manage your saved screenshots with ease. Download or delete as per your preference.&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%2Fpsaxo2pn8bdhgw8h1sz4.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%2Fpsaxo2pn8bdhgw8h1sz4.png" alt="a4" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Advanced Options
&lt;/h3&gt;

&lt;p&gt;For those who like a little more control over their captures.&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%2Fj0ygatvofot89y222vbe.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%2Fj0ygatvofot89y222vbe.png" alt="a5" width="583" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Behind the Scenes: Tech Stack 👨‍💻
&lt;/h1&gt;

&lt;p&gt;Keeping things streamlined and effective, Snapshot employs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reactjs with vite&lt;/strong&gt;: Driving our user-friendly frontend.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://amplication.com" rel="noopener noreferrer"&gt;Amplication&lt;/a&gt;&lt;/strong&gt; : Powering our backend operations. If you're new to Amplication, it's a fantastic platform that simplifies backend development, offering a versatile suite of tools to enhance and speed up the development process. It's particularly favored for its intuitive handling of data models and ease of integration.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  How It Works ⚙️
&lt;/h1&gt;

&lt;p&gt;I am not going to explain all of the technical stuff here. Instead, I will take you quick work through the web app.&lt;/p&gt;

&lt;p&gt;At first, You need to enter the URL of the website where you want to take screenshots then, as per your requirement fill up or tick the advanced option and just hit the Take a shot button. then you are redirected to the image viewing page and there will be a download button by clicking it you can download the image. You get one more button to save the image if you are logged in. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;But Sometimes, The Download button doesn't work. So, you have to right-click on the image and click on save as option to download it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can also access the collection of your saved screenshots by clicking on the button My collection on the top-right side of the navbar. At last, You can download or delete the saved screenshot by hovering them. &lt;/p&gt;

&lt;h1&gt;
  
  
  What I learned ?
&lt;/h1&gt;

&lt;p&gt;Every project brings new lessons, and Snapshot was no different. Here’s a dive into the specifics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mastering Styling with Custom CSS&lt;/strong&gt;:&lt;br&gt;
While working on Snapshot, my skills with custom CSS grew leaps and bounds. I experimented with layouts, played with colors, and ensured the tool was as visually appealing as it was functional.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Discovering Amplication&lt;/strong&gt;:&lt;br&gt;
This was my first rendezvous with Amplication, and it's safe to say I'm impressed. It wasn’t just about learning a new backend service; it was about understanding its unique features and capabilities. The seamless data handling, intuitive setup, and scalability options were particularly eye-opening. I've been familiar with other backend platforms before, but Amplication stood out with its user-friendly approach and robust functionality. I can definitely see myself integrating it into future project.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Links
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Source code&lt;/strong&gt;: &lt;a href="https://github.com/utsavbhattarai007/snapshot-amplication" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amplication Docs&lt;/strong&gt;: &lt;a href="https://docs.amplication.com/" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For the authentication using amplication, I got reference from tutorials provided by amplication. &lt;a href="https://docs.amplication.com/tutorials/react-todos/" rel="noopener noreferrer"&gt;Click here&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Building Snapshot during Hacktoberfest was a unique blend of challenges and discoveries.&lt;/p&gt;

&lt;p&gt;Hacktoberfest, as we know, is a celebration of open-source contributions. Engaging with the open-source community during this event made the creation of Snapshot even more enlightening. Not only was I navigating my own learning curve, but I was also incorporating feedback, ideas, and sometimes even code from contributors worldwide.&lt;/p&gt;

&lt;p&gt;Discovering Amplication amidst Hacktoberfest was like hitting a jackpot. I was already in the thick of coding and collaboration, and adding a new tool was challenging. But as I dug deep into Amplication, the community's support and shared experiences made the journey smoother and more insightful.&lt;/p&gt;

</description>
      <category>hacktoberfest23</category>
      <category>amplication</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>DevHub - Twitter for developer (Dev + Linode Hackathon)</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Mon, 20 Feb 2023 19:18:01 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/devhub-twitter-for-developer-dev-linode-hackathon-3h92</link>
      <guid>https://dev.to/utsavbhattarai007/devhub-twitter-for-developer-dev-linode-hackathon-3h92</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;For the hackathon submission, I built a web application called DevHub. DevHub is a platform that allows developers to connect with each other and stay informed about ongoing hackathons, as well as centralize all the resources on a single platform.&lt;/p&gt;

&lt;p&gt;In addition to the features previously mentioned, DevHub has a web scraper that allows it to collect and display popular tech blog posts from around the internet. This feature makes it easy for developers to stay informed about the latest technology news and trends.&lt;/p&gt;

&lt;p&gt;DevHub also offers an API that allows users to embed their "Devits" (tweets on DevHub) into their own websites. This feature makes it easy for developers to showcase their work and engage with their audience directly from their own website.&lt;/p&gt;

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

&lt;p&gt;Integration Innovators&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://devhubs.tech"&gt;DevHub&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Hero section&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f-rayMTS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pdvfhrauluz8w3dl2xub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f-rayMTS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pdvfhrauluz8w3dl2xub.png" alt="s1" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Features section&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--drL5KrOt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fdply0tjailep9uamn4c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--drL5KrOt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fdply0tjailep9uamn4c.png" alt="s2" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Signup / login Page&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Complete user profile page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HYQe4Vjb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6wh3zebvk8agmq8ouywb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HYQe4Vjb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6wh3zebvk8agmq8ouywb.png" alt="s4" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Home Page&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Discover page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--snhbJPg0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xroyyojxsvqjdoboc7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--snhbJPg0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xroyyojxsvqjdoboc7o.png" alt="s6" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hackathons Page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b0RG1EfX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gukt9e4aispxqy9n719.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b0RG1EfX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gukt9e4aispxqy9n719.png" alt="s7" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blogpost Page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3ob_UR9_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bl2h0kq8t5i4m2ul8dxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3ob_UR9_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bl2h0kq8t5i4m2ul8dxk.png" alt="s9" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DLIZ5DzM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/54yuvnoshkmd5ojizpeu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DLIZ5DzM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/54yuvnoshkmd5ojizpeu.png" alt="s10" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API and credentials page&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Specific Post&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zft7uc3o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h3wvnblwm74pxwbxvuvs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zft7uc3o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h3wvnblwm74pxwbxvuvs.png" alt="Image description" width="880" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;DevHub is a web application that allows developers to connect with each other and stay informed about ongoing hackathons. With its Twitter-inspired interface, DevHub offers features such as tweeting, retweeting, and following other users. In addition, DevHub can collect and display popular tech blog posts from around the internet and allows developers to embed their Devits into their own websites through its API. By providing a platform for developers to connect, stay informed, and showcase their work, DevHub is a valuable tool for anyone looking to improve their coding skills and build their online presence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools and Technologies
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React JS (Frontend)&lt;/li&gt;
&lt;li&gt;Node and Express (Backend)&lt;/li&gt;
&lt;li&gt;Mongo DB (Database)&lt;/li&gt;
&lt;li&gt;Linode (For serving the api and react app)&lt;/li&gt;
&lt;li&gt;playwright(for web scraping)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why we scrap a data ?
&lt;/h3&gt;

&lt;p&gt;In DevHub, we use tools like &lt;code&gt;Playwright&lt;/code&gt;, a Node.js library, to automate the web scraping process and make it more efficient. This helps us gather the information we need, such as popular blog posts from other platforms, to make it easier for developers to access the resources they need to stay up-to-date and grow their skills. Our goal is to provide a centralized platform for developers to find the information they need, and web scraping tools like Playwright are an important part of achieving that goal.&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/utsavbhattarai007"&gt;
        utsavbhattarai007
      &lt;/a&gt; / &lt;a href="https://github.com/utsavbhattarai007/twitter-for-developer"&gt;
        twitter-for-developer
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;h2&gt;
Introducing DebHub - Twitter for developer&lt;/h2&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/aedebe52eaadaa5747de50a3da6419a43679d2d89ee6a3813b3df0f179185575/68747470733a2f2f6d656469612e646973636f72646170702e6e65742f6174746163686d656e74732f313031363035363636383838343330333930332f313037373439383131383830343837333231362f646576687562735f323032332d322d32315431332d33362d34382e706e673f77696474683d373233266865696768743d343532"&gt;&lt;img src="https://camo.githubusercontent.com/aedebe52eaadaa5747de50a3da6419a43679d2d89ee6a3813b3df0f179185575/68747470733a2f2f6d656469612e646973636f72646170702e6e65742f6174746163686d656e74732f313031363035363636383838343330333930332f313037373439383131383830343837333231362f646576687562735f323032332d322d32315431332d33362d34382e706e673f77696474683d373233266865696768743d343532" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
Project Demo link&lt;/h2&gt;
&lt;p&gt;👉 &lt;a href="https:devhubs.tech"&gt;DevHub&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
Description&lt;/h3&gt;
&lt;p&gt;DevHub is a web application that allows developers to connect with each other and stay informed about ongoing hackathons. With its Twitter-inspired interface, DevHub offers features such as tweeting, retweeting, and following other users.&lt;/p&gt;
&lt;p&gt;In addition, DevHub can collect and display popular tech blog posts from around the internet and allows developers to embed their Devits into their own websites through its API. By providing a platform for developers to connect, stay informed, and showcase their work, DevHub is a valuable tool for anyone looking to improve their coding skills and build their online presence.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Why we scrap a data ?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;In DevHub, we use tools like Puppeteer, a Node.js library, to automate the web scraping process and make it more efficient. This helps us gather the information we need, such as popular blog posts from other platforms…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/utsavbhattarai007/twitter-for-developer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

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

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

&lt;p&gt;The inspiration behind building DevHub was to create a platform where all the resources needed for developers are centralized at a single place. "By 'resources', I mean hackathons, blog posts, and tech news that are relevant to developers and can help them stay informed and up-to-date in their field. With DevHub, we set out to create a platform that makes it easier for developers to stay informed, connect with other developers, and grow their skills.&lt;/p&gt;

&lt;p&gt;Our goal was not just to submit a hackathon project, but also to create a platform that would be useful for other developers as well. With DevHub, we hope to help other developers grow, share their insights, thoughts, and make connections with other developers in the community.&lt;/p&gt;

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

&lt;p&gt;I utilized Linode in two key ways while building DevHub. First, I used Linode to &lt;code&gt;deploy the application&lt;/code&gt;, which helped me ensure that the app was accessible to users around the world. Second, I used Linode for &lt;code&gt;DNS and domain configuration&lt;/code&gt; , which allowed me to manage the application's web address and ensure that it was easy to access.&lt;/p&gt;

&lt;p&gt;Along the way, I learned a great deal about working with Linode and gained new skills that I can use in the future. For example, I learned about &lt;code&gt;node balancing&lt;/code&gt; and how to optimize my application's performance. In addition, working with Linode helped me start my journey into the cloud, which is an important skill for developers in today's world.&lt;/p&gt;

&lt;p&gt;Overall, I found Linode to be a valuable tool for building and deploying DevHub, and I look forward to using it again in the future.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kLNRv0d2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ze836b8a0iucek6n5hk.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kLNRv0d2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ze836b8a0iucek6n5hk.JPG" alt="l1" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z1hiY4Ab--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wb4gzpfuz2krmkwvy811.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z1hiY4Ab--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wb4gzpfuz2krmkwvy811.JPG" alt="l2" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v7drIt7I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9vra15ir5j17irq2xa4f.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v7drIt7I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9vra15ir5j17irq2xa4f.JPG" alt="l3" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;p&gt;I worked on this project in collaboration with Rajesh Khadka, and I have credited him by including links to his dev and Twitter profiles.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/rajeshkhadka"&gt;Dev profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rajeshkhadka200"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linodehackathon</category>
    </item>
    <item>
      <title>This blog is posted via Easy blog</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Sat, 10 Dec 2022 08:47:37 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/this-blog-is-posted-via-easy-blog-6cd</link>
      <guid>https://dev.to/utsavbhattarai007/this-blog-is-posted-via-easy-blog-6cd</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Hi everyone, This blog is posted through &lt;a href="https://easyblogs.netlify.app" rel="noopener noreferrer"&gt;easy blog&lt;/a&gt; which is MIT licensed open source project which helps developer to post blogs in different blogging platform in just a few click.&lt;/p&gt;

</description>
      <category>test</category>
    </item>
    <item>
      <title>Introducing Devport - a mini portfolio maker</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Thu, 08 Dec 2022 15:33:34 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/mongodb-atlas-hackathon-2022-on-dev-8na</link>
      <guid>https://dev.to/utsavbhattarai007/mongodb-atlas-hackathon-2022-on-dev-8na</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I built the web app which is &lt;a href="https://devport.me" rel="noopener noreferrer"&gt;Devport&lt;/a&gt;, A stunning portfolio maker. It's help you specially developer to make the collection of their social media and showcase them with top notch customization. It has 7+ theme which you can try in your portfolio. &lt;/p&gt;

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

&lt;p&gt;Choose Your Own Adventure&lt;/p&gt;

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

&lt;p&gt;Devport 👉 &lt;a href="https://devport.me" rel="noopener noreferrer"&gt;devport.me&lt;/a&gt;&lt;/p&gt;

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

&lt;h4&gt;
  
  
  Home page
&lt;/h4&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%2F8h87z2aec9sy06emrwe8.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%2F8h87z2aec9sy06emrwe8.png" alt="Home page" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Feature page
&lt;/h4&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%2Fr4p54ar8oyfq8l9jqu0x.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%2Fr4p54ar8oyfq8l9jqu0x.png" alt="Feature page" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Dashboard Page(Set up Link)
&lt;/h4&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%2Fcwrnvmmi9hqvpkrudr6p.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%2Fcwrnvmmi9hqvpkrudr6p.png" alt="Dashboard Page(Set up Link)" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Customization page
&lt;/h4&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%2F132cdix13xqwaplvut11.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%2F132cdix13xqwaplvut11.png" alt="Customization page" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Profile page
&lt;/h4&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%2F0rymkjquz7xkmogzl7t4.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%2F0rymkjquz7xkmogzl7t4.png" alt="Profile page" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Search page
&lt;/h4&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%2Fhg9v768r64bhy9g8ab4v.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%2Fhg9v768r64bhy9g8ab4v.png" alt="Search page" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Portfolio page
&lt;/h4&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%2Fnx3lg6802y4ei1wvu16n.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%2Fnx3lg6802y4ei1wvu16n.png" alt="Portfolio page" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Automated mail
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhyiwl3m20zgv2dzuik2f.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%2Fhyiwl3m20zgv2dzuik2f.png" alt="mail" width="800" height="1438"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://devport.me" rel="noopener noreferrer"&gt;Devport&lt;/a&gt; is the MIT licensed open source project that helps you specially developer to make stunning dev portfolio with top notch customization and good looking UI. You can also switch the status of your portfolio to active or offline. And One last thing, You can also subscribe to our newsletter to get engagement update of your portfolio.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create Portfolio&lt;/strong&gt; - You can create your portfolio with your own information in just a few minutes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Top notch customization&lt;/strong&gt; - You can use any of the 7+ pre-built themes to customize your portfolio.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Active/Offline status&lt;/strong&gt; - You can switch the status of your portfolio to active or offline.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Newsletter&lt;/strong&gt; - You can subscribe to our newsletter to get engagement update of your portfolio. There is a automated auto running in server which track the views of every user whose newsletter is enable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SEO friendly&lt;/strong&gt; - This website is SEO friendly. You can easily rank your portfolio on google.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JWT based login system&lt;/strong&gt; - Devport is fully optimized by jwt due to which It has secure environment. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/utsavdotdev" rel="noopener noreferrer"&gt;
        utsavdotdev
      &lt;/a&gt; / &lt;a href="https://github.com/utsavdotdev/portfolio-maker" rel="noopener noreferrer"&gt;
        portfolio-maker
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A mini portfolio maker with full customization
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/95236817/491869239-55e91821-a7f0-489f-b91b-ba152136b1e9.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzAyNzk0NDgsIm5iZiI6MTc3MDI3OTE0OCwicGF0aCI6Ii85NTIzNjgxNy80OTE4NjkyMzktNTVlOTE4MjEtYTdmMC00ODlmLWI5MWItYmExNTIxMzZiMWU5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAyMDUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMjA1VDA4MTIyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA2M2MzNmRkYmMyN2RhYjdkZmY4OWVkZmEwMzE2YjI3MWZjNmMyZDFhZDJkZmY3ODYxYTMzMzYzMDJlYzA1ZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Axl-AfHNVfh_Jdck8iemLvrx_pTSccc2BA59EdCKj54"&gt;&lt;img width="1200" height="630" alt="Devport 1200x630" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F95236817%2F491869239-55e91821-a7f0-489f-b91b-ba152136b1e9.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzAyNzk0NDgsIm5iZiI6MTc3MDI3OTE0OCwicGF0aCI6Ii85NTIzNjgxNy80OTE4NjkyMzktNTVlOTE4MjEtYTdmMC00ODlmLWI5MWItYmExNTIxMzZiMWU5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAyMDUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMjA1VDA4MTIyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA2M2MzNmRkYmMyN2RhYjdkZmY4OWVkZmEwMzE2YjI3MWZjNmMyZDFhZDJkZmY3ODYxYTMzMzYzMDJlYzA1ZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Axl-AfHNVfh_Jdck8iemLvrx_pTSccc2BA59EdCKj54"&gt;&lt;/a&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Introduction&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://devport.me" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Devport&lt;/strong&gt;&lt;/a&gt; is the &lt;strong&gt;MIT licensed&lt;/strong&gt; open source project that helps you specially developer to make stunning dev portfolio with top notch customization and good looking UI. You can also switch the status of your portfolio to active or offline. And One last thing, You can also subscribe to our newsletter to get engagement update of your portfolio.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Features&lt;/h1&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create Portfolio&lt;/strong&gt; - You can create your portfolio with your own information in just a few minutes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Top notch customization&lt;/strong&gt; - You can use any of the 7+ pre-built themes to customize your portfolio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Active/Offline status&lt;/strong&gt; - You can switch the status of your portfolio to active or offline.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Newsletter&lt;/strong&gt; - You can subscribe to our newsletter to get engagement update of your portfolio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SEO friendly&lt;/strong&gt; - This website is SEO friendly. You can easily rank your portfolio on google.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Screenshots&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Home page&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b03a1f507764c4cc2d521e66821087f958f718843b0564010686b8af21325408/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f386838377a326165633973793036656d727765382e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/b03a1f507764c4cc2d521e66821087f958f718843b0564010686b8af21325408/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f386838377a326165633973793036656d727765382e706e67" alt="Home page"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Feature page&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/cf1a490eb3da20b0c42b34d466a20130c64493939685fdcbcb37b5e9c7a90369/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f72347035346172386f796671386c396a717530782e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/cf1a490eb3da20b0c42b34d466a20130c64493939685fdcbcb37b5e9c7a90369/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f72347035346172386f796671386c396a717530782e706e67" alt="Feature page"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Dashboard Page(Set up Link)&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/ac24d1b7e8840c829312f1e1fdd6b1c6293c8266a0acb676aa69cc9189746d50/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f6377726e766d6d6939687176706b7275647236702e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/ac24d1b7e8840c829312f1e1fdd6b1c6293c8266a0acb676aa69cc9189746d50/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f6377726e766d6d6939687176706b7275647236702e706e67" alt="Dashboard Page(Set up Link)"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Customization page&lt;/h3&gt;…&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/utsavdotdev/portfolio-maker" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Video
&lt;/h3&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/VAnqkfuUf04"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/utsavbhattarai007/portfolio-maker/blob/main/LICENSE" rel="noopener noreferrer"&gt;MIT&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I got inspiration from &lt;a href="https://linktr.ee/" rel="noopener noreferrer"&gt;Linktree&lt;/a&gt;, where user can make collection of their social media and showcase them to others but I don't like the classy design of linktree. So, I decided to make the one with modern design and top notch &lt;br&gt;
customization. In this way, &lt;strong&gt;Devport&lt;/strong&gt; has been immersed.&lt;/p&gt;

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

&lt;p&gt;I usually used Mongodb as the primary database and I love it. So, Using It as a hackathon project, enhance my backend skill. MongoDb database was my first non-sql database that I learned due to which it been easy to use it.&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%2Fsonu3ru7ndx60snxvqm4.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%2Fsonu3ru7ndx60snxvqm4.png" alt="mongo" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used the basic crud functionality of Mongodb to make the backend of the devport. There are 4 schema. They are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For user&lt;/li&gt;
&lt;li&gt;For portfolios&lt;/li&gt;
&lt;li&gt;For bot to count views&lt;/li&gt;
&lt;li&gt;For token (JWT)&lt;/li&gt;
&lt;/ol&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%2Fz927ghrtkysd0ogc0489.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%2Fz927ghrtkysd0ogc0489.png" alt="mongo1" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;MongoDb 👉 &lt;a href="https://www.mongodb.com/docs/" rel="noopener noreferrer"&gt;docs&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React js 👉 &lt;a href="https://reactjs.org/docs/getting-started.html" rel="noopener noreferrer"&gt;docs&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Authorization vs Authentication</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Tue, 25 Oct 2022 13:12:54 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/authorization-vs-authentication-4lof</link>
      <guid>https://dev.to/utsavbhattarai007/authorization-vs-authentication-4lof</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;When you are starting out in web development, you will likely hear the terms authorization and authentication all the time. They might sound similar but they are totally different from each other. In Simple words, Authentication is the process of verifying someone's identity, whereas Authorization is the way to provide permission to someone to access particular resources or information. &lt;/p&gt;

&lt;p&gt;They are essential and basic security terms that need to be understood thoroughly. So In this blog, We will discuss what authentication and authorization are and how they are differentiated from each other.&lt;/p&gt;

&lt;p&gt;Ok, Let's get started!&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%2Fhh9r7kw7bfrrtw72qgmu.gif" 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%2Fhh9r7kw7bfrrtw72qgmu.gif" alt="Let'SGetStartedGIF.gif" width="400" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  What is Authentication?
&lt;/h1&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%2Fzptnwqwgqtweeffa44wg.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%2Fzptnwqwgqtweeffa44wg.png" alt="authentication.png" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Authentication is the process of identifying or verifying someone's identity by assuring that the person is the same as what he is claiming for. It is used by both clients and servers. The server uses authentication when someone wants to access the information, and the server needs to know who is accessing the data. The client uses it when he wants to know that it is the same server that it claims to be.&lt;/p&gt;

&lt;p&gt;Authentication by the server is done mostly by using the username and password. Other ways of authentication by the server can also be done using cards, retina scans, voice recognition, and fingerprints. Authentication does not ensure what tasks one person can do, and what resources he can read and write. It only identifies who the person or system is actually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Methods of Authentication
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Single-factor Authentication
&lt;/h3&gt;

&lt;p&gt;Single-factor authentication is the simplest way of authentication. It just needs a username and password to allow a user to access a system. So, It is less secure and mainly used by beginner developers to develop their side projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Two-factor Authentication
&lt;/h3&gt;

&lt;p&gt;As the name suggests, It is a two-level authentication where the user needs to pass two-step verification to authenticate. It does not require only user name or password but also needs certain information that the authenticated user only knows such as birth date, favorite food, school name, and other information. Apart from this, it can also verify the user by sending the OTP or a unique link to the user's registered number or email address.&lt;/p&gt;

&lt;h3&gt;
  
  
  Multi-factor Authentication
&lt;/h3&gt;

&lt;p&gt;This is the most secure and advanced level of authorization. It requires two or more than two levels of security from different and independent categories. This type of authentication is usually used in financial organizations, banks, and law enforcement agencies. This type of authentication protects the system from data miners or hackers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Authentication techniques
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Password-based authentication
&lt;/h3&gt;

&lt;p&gt;It is the simplest way of authentication. It requires the password for the particular username. If the password matches the username and both details match the system's database, the user will be successfully authenticated.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Passwordless authentication
&lt;/h3&gt;

&lt;p&gt;In this technique, the user doesn't need any password; instead, he gets a unique OTP (One-time password) or link on his registered mobile number or phone number. It can also be said OTP-based authentication. It is used to enhance the user experience on the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Single Sign-on(SSO)
&lt;/h3&gt;

&lt;p&gt;Single Sign-on or SSO is a way to enable access to multiple applications with a single set of credentials. It allows the user to sign in once, and it will automatically be signed in to all other web apps from the same centralized directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Social Authentication
&lt;/h3&gt;

&lt;p&gt;Social authentication does not require additional security; instead, it verifies the user with the existing credentials for the available social network. It is mainly used authentication which is more secure and does not affect the user experience. Users can authenticate with one click. Mainly used and popular social media credentials(not passwords) are used for this type of authentication.&lt;/p&gt;

&lt;h1&gt;
  
  
  What is Authorization?
&lt;/h1&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%2Fh6bxmg9vanflnpviy3fv.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%2Fh6bxmg9vanflnpviy3fv.png" alt="authorization.png" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Authorization is the process of verifying that you're allowed to access an area of an application or perform specific actions, based on certain criteria and conditions put in place by the application. You may also hear it called access control or privilege control.&lt;br&gt;
The authorization usually works with authentication so that the system could know who is accessing the information.&lt;/p&gt;

&lt;p&gt;Authorization is not always necessary to access information available over the internet. Some data available over the internet can be accessed without any authorization, such as you can read blogs from &lt;a href="https://blog.utsavbhattarai.info.np/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Authorization techniques
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Role-based access control
&lt;/h3&gt;

&lt;p&gt;The role-based access control technique is given to users as per their role or profile in the organization. It can be implemented for system-system or user-to-system. It ensures the users on the basis of their roles or profile for accessing the particular area or resources of the system.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. JSON web token
&lt;/h3&gt;

&lt;p&gt;JSON web token or JWT is an open standard used to securely transmit the data between the parties in the form of the JSON object. The users are verified and authorized using the private/public key pair. It is used to access and refresh tokens to authorize the user to access the resources. &lt;/p&gt;
&lt;h3&gt;
  
  
  3. OAuth
&lt;/h3&gt;

&lt;p&gt;OAuth is an authorization protocol, which enables the API to authenticate and access the requested resources.&lt;/p&gt;
&lt;h3&gt;
  
  
  4. OpenID authorization
&lt;/h3&gt;

&lt;p&gt;It helps the clients to verify the identity of end-users on the basis of authentication.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. SAML
&lt;/h3&gt;

&lt;p&gt;SAML stands for Security Assertion Markup Language. It is an open standard that provides authorization credentials to service providers. These credentials are exchanged through digitally signed XML documents.&lt;/p&gt;
&lt;h1&gt;
  
  
  Differences between Authentication and Authorization
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Authentication&lt;/th&gt;
&lt;th&gt;Authorization&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Authentication is the process of identifying a user to provide access to a system.&lt;/td&gt;
&lt;td&gt;1. Authorization is the process of giving permission to access the resources.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2. It is usually performed before the authorization.&lt;/td&gt;
&lt;td&gt;2. It is usually done once the user is successfully authenticated.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3. It requires the login details of the user, such as user name &amp;amp; password, etc.&lt;/td&gt;
&lt;td&gt;3. It requires the user's privilege or security level.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4. Authentication credentials can be partially changed by the user as per the requirement.&lt;/td&gt;
&lt;td&gt;4. Authorization The permissions are given to a user by the owner/manager of the system, and he can only change it, User can't change.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5. &lt;strong&gt;Example&lt;/strong&gt;: Entering Login details is necessary for the employees to authenticate themselves to access the organizational emails or software.&lt;/td&gt;
&lt;td&gt;5. &lt;strong&gt;Example&lt;/strong&gt;: After employees successfully authenticate themselves, they can access and work on certain functions only as per their roles and profiles.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;Comparing these processes to a real-world example, when you go through security in an airport, you show your ID to authenticate your identity. Then, when you arrive at the gate, you present your boarding pass to the flight attendant, so they can authorize you to board your flight and allow access to the plane.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;
  
  
  Why Should You Implement Both Authentication and Authorization?
&lt;/h1&gt;

&lt;p&gt;As you can see, although authentication and authorization are very different, each plays an integral part in the security and integrity of the application or system.&lt;/p&gt;

&lt;p&gt;These processes go hand in hand, and without one the other is kind of meaningless. If you can gain access to the Admin area, but do whatever you want once in there, it could lead to big problems.&lt;/p&gt;

&lt;p&gt;On the other hand, you can't authorize individuals without knowing who they are! Which is why authentication always comes before authorization.&lt;/p&gt;
&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;As we discussed above, we can say Authentication verifies the user's identity, and Authorization verifies the user's access and permissions. If the user can't prove their identity, they cannot access the system. And if you are authenticated by proving the correct identity, but you are not authorized to perform a specific function, you won't be able to access that. However, both security methods are often used together.&lt;/p&gt;

&lt;p&gt;I hope this blog has been insightful and You have now a clearer view and understanding of this term.&lt;/p&gt;

&lt;p&gt;Feel free to get in touch via social media.&lt;br&gt;
You can mostly find me at 👉 &lt;a href="https://twitter.com/utsavbhatrai007" rel="noopener noreferrer"&gt;@utsavbhatrai007&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading🔥&lt;/p&gt;

&lt;p&gt;Just a minute👇&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="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;Do&lt;/span&gt; &lt;span class="nx"&gt;you&lt;/span&gt; &lt;span class="nx"&gt;like&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;blog&lt;/span&gt;&lt;span class="err"&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;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Don't forget to give reactions and your views in the comments😉&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Thanks for reading💖&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Introducing Ideao - A web portal of exploring ideas.</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Mon, 29 Aug 2022 11:38:00 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/introducing-ideao-a-web-portal-of-exploring-ideas-18fk</link>
      <guid>https://dev.to/utsavbhattarai007/introducing-ideao-a-web-portal-of-exploring-ideas-18fk</guid>
      <description>&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;Ideao is a web platform of exploring, sharing the creativeness in the form of idea. It allows to search the idea which helps you to make awesome things.&lt;/p&gt;

&lt;p&gt;The idea behind this was to built a web portal which makes easy connection for idea seeker and idea provider. This project is built especially for the developer who are eagerly searching for ideas for hackathon or some other works.&lt;/p&gt;

&lt;p&gt;This project is crafted using &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ReactJs (For Frontend)&lt;/li&gt;
&lt;li&gt;Custom css (For styling)&lt;/li&gt;
&lt;li&gt;ViteJs (For Development tool)&lt;/li&gt;
&lt;li&gt;Redis Modules (Redis Om)

&lt;ul&gt;
&lt;li&gt;RedisJson (For database)&lt;/li&gt;
&lt;li&gt;RedisSearch (For searching)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Apart from that, I was just roaming around the internet and saw the announcement of Redis Hackathon Organized by dev.to. I was so excited to participate on it but my excitement went down when I can't think of awesome idea which can won the case prize (Just kidding🤣).Thinking of idea wasted my 2 3 days. But after the huge brainstorming I converted my problem into my idea called as &lt;a href="https://ideao.netlify.app/" rel="noopener noreferrer"&gt;Ideao&lt;/a&gt;.         &lt;/p&gt;

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

&lt;p&gt;This project is built upon on MEAN/MERN Mavericks&lt;/p&gt;

&lt;h3&gt;
  
  
  Video
&lt;/h3&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/YvnL2nkzs0A"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzseph001i9awp9rcjqcb.jpeg" 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%2Fzseph001i9awp9rcjqcb.jpeg" alt="Pic" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Language Used
&lt;/h3&gt;

&lt;p&gt;This project is built using &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Js/React&lt;/li&gt;
&lt;li&gt;NodeJs/ExpressJs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In general, This project is made up using RERN (Redis, Express, React, Node.js)&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/utsavdotdev" rel="noopener noreferrer"&gt;
        utsavdotdev
      &lt;/a&gt; / &lt;a href="https://github.com/utsavdotdev/ideao" rel="noopener noreferrer"&gt;
        ideao
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Ideao is the web portal for exploring the ideas.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Introducing Ideao - A web portal of exploring ideas&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Ideao is a web platform of exploring, sharing the creativeness in the form of idea. It allows to search the idea which helps you to make awesome things.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Overview video&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://youtu.be/YvnL2nkzs0A" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4188ce150ac62b678ee33a232cff95508b5e47a2495010d084282746ffcb74c1/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f31776a756f77673332393566757472733562306a2e706e67" alt="Watch the video"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How it works&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;At first, Ideao communicated with the api for retrieving the idea and user data, posting them to the backend server, Searching idea and delete the idea according to the user.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;How the data is stored:&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;The ideao's data is stored in JSON format based upon RediJSON. The overall mapping of data is configured by Redis Om Node js package.&lt;/p&gt;
&lt;p&gt;At first connection need to be established in redis cloud by:&lt;/p&gt;
&lt;div class="highlight highlight-source-js notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt; &lt;span class="pl-v"&gt;Client&lt;/span&gt; &lt;span class="pl-kos"&gt;}&lt;/span&gt; &lt;span class="pl-k"&gt;from&lt;/span&gt; &lt;span class="pl-s"&gt;"redis-om"&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
&lt;span class="pl-k"&gt;const&lt;/span&gt; &lt;span class="pl-s1"&gt;client&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-k"&gt;new&lt;/span&gt; &lt;span class="pl-v"&gt;Client&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
&lt;span class="pl-k"&gt;const&lt;/span&gt; &lt;span class="pl-s1"&gt;con&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-k"&gt;await&lt;/span&gt; &lt;span class="pl-s1"&gt;client&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;open&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;process&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-c1"&gt;env&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-c1"&gt;REDIS_URL&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
&lt;span class="pl-k"&gt;if&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s1"&gt;con&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;
  &lt;span class="pl-smi"&gt;console&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;log&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/utsavdotdev/ideao" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Website
&lt;/h3&gt;

&lt;p&gt;Visit it: &lt;a href="https://ideao.netlify.app/" rel="noopener noreferrer"&gt;Ideao&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;Home page&lt;br&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%2Ffxy18nva8e7f95zjogyi.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%2Ffxy18nva8e7f95zjogyi.png" alt="Home Pic " width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Main App&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%2Fsuidttmwxdpvxclo1x2q.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%2Fsuidttmwxdpvxclo1x2q.png" alt="Main Dashboard" width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Search page&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%2Flau5xs1ztchdkn0wvslp.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%2Flau5xs1ztchdkn0wvslp.png" alt="Search page" width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mobile view&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%2Ff799fly6k3nib2m3go2z.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%2Ff799fly6k3nib2m3go2z.png" alt="Mob view" width="650" height="650"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Check out &lt;a href="https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries" rel="noopener noreferrer"&gt;Redis OM&lt;/a&gt;, client libraries for working with Redis as a multi-model database.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Use &lt;a href="https://redis.info/redisinsight" rel="noopener noreferrer"&gt;RedisInsight&lt;/a&gt; to visualize your data in Redis.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sign up for a &lt;a href="https://redis.info/try-free-dev-to" rel="noopener noreferrer"&gt;free Redis database&lt;/a&gt;.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>redishackathon</category>
    </item>
    <item>
      <title>My first Blog - How to write 8log🙂🙂</title>
      <dc:creator>Utsav bhattarai</dc:creator>
      <pubDate>Thu, 02 Jun 2022 05:08:10 +0000</pubDate>
      <link>https://dev.to/utsavbhattarai007/my-first-blog-how-to-write-8log-1bk0</link>
      <guid>https://dev.to/utsavbhattarai007/my-first-blog-how-to-write-8log-1bk0</guid>
      <description>&lt;h2&gt;
  
  
  Let's start today's blog with the topic How to write Blog🔥
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Blogging&lt;/code&gt; is the best way to share your skill, experience, knowledge, mistake and many other things you have been learned throughout your journey to the new comers in your field. It help a lot to the beginners what to do and how to do and overcome you mistake.&lt;/p&gt;

&lt;p&gt;Today's world🌎 is advancing beyond we think. Small contribution to this world make one step far in advancement. The best way to do such thing is Blogging so place your finger in keyword and just write.&lt;/p&gt;

&lt;p&gt;This is also my first blog giving you the knowledge How to write Blog?? sound weird😄.&lt;br&gt;
But Giving you little much knowledge which helps you little bit that's sound better🙂.&lt;/p&gt;

&lt;p&gt;I wouldn't give you the best tip and do many mistake and You laugh😂 on it and you avoid mistake done by me. That's the thing I want. In this way, Mistake is passed as knowledge. This is the beauty of Blogging🙂.&lt;/p&gt;

&lt;p&gt;There are some tips that I will follow throughout my blogging journey. They are:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Just start to write anything that you think
&lt;/h2&gt;

&lt;p&gt;Starting to write is toughest, make it as easy as possible. I also hesitate to write but overcoming this fear I started it. To be honest, If you started to write blog , you will stop at the end of your blog. Something you will stop when brain stop to think what to write then you must take break and relaxed automatically new ideas will born as the word for your blog.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Title is everything
&lt;/h2&gt;

&lt;p&gt;We should name your blog in a descriptive and helpful way which makes reader to attract towards your blog.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Unique voice
&lt;/h2&gt;

&lt;p&gt;Always be unique to write. Rather than copying other write simple which makes feeling of &lt;strong&gt;This blog is written by me&lt;/strong&gt;. Get inspired by other content creator but don't forget what you are and who you are!&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Try to read your blog as reader
&lt;/h2&gt;

&lt;p&gt;Assume that you are reader and think🧐 what you want from this blog and write it.&lt;br&gt;
It help a lot to find the mistake and you can easily refactor it.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Consistently in blogging
&lt;/h2&gt;

&lt;p&gt;Blogging is the skill which is improved when we write blog again and again. &lt;br&gt;
It increases your productivity, perspective and confidence when you are consistent &lt;br&gt;
in blogging. Sharing my opinion, This is also my first blog I don't know what will be in future but there is a &lt;strong&gt;will&lt;/strong&gt; to do something today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Blogging is the skill of sharing and gaining the knowledge. It help you to be what you want. New ideas and concept are born automatically in this field. Just it need practice like as other work. In blogging, Our improvement are easily detectable. It gives awesome refreshment when we read our blog.&lt;/p&gt;

&lt;p&gt;Thanks for reading🔥&lt;br&gt;
Giving your precious time to read it. &lt;code&gt;Its awesome😎&lt;/code&gt;&lt;/p&gt;

</description>
      <category>blogging</category>
    </item>
  </channel>
</rss>
