CINXE.COM

9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow | HackerNoon

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow | HackerNoon</title><meta name="description" content="Discover 9 open-source projects to enhance your cloud workflow, project management, user feedback, automation, and more."/><meta property="og:title" content="9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow | HackerNoon"/><meta property="og:description" content="Discover 9 open-source projects to enhance your cloud workflow, project management, user feedback, automation, and more."/><meta name="image" property="og:image" content="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg"/><meta property="twitter:title" content="9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow | HackerNoon"/><meta property="twitter:description" content="Discover 9 open-source projects to enhance your cloud workflow, project management, user feedback, automation, and more."/><meta property="twitter:image" content="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@hackernoon"/><link rel="canonical" href="https://hackernoon.com/9-open-source-projects-every-developer-needs-to-bookmark-for-their-workflow"/><script type="application/ld+json">{"@context":"http://schema.org","@type":"Article","name":"9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow","headline":"9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow","author":{"@type":"Person","name":"Madza"},"datePublished":"2024-11-20","image":"https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg","articleSection":"web-development","articleBody":"In today&apos;s tech world with fierce competition and tight deadlines, it is useful to explore new and exciting tools to improve the workflow. Open-source tools are there to help; with some significant advantages over other tools - they&apos;re customizable, offer more control, and are community-driven. I decided to handpick 9 powerful open-source projects that will enhance your cloud workflow, project management, user feedback, automation, and more. Whether you are a beginner or a seasoned developer there should be something for everyone to elevate your toolkit and inspire your next big project. Let’s dive in and hopefully, you will find some tools that you can use in the future! 1. StackQL – Manage cloud services with SQL StackQL offers a revolutionary approach to deploy, query, and interact with cloud services and resources using Structured query language (SQL). That means you no longer need to learn different APIs for each provider. StackQL parses your SQL statements and transpiles them into API requests that all your favorite major cloud providers would understand. Some of the best features include: SQL-based querying: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently.\n\n\nMulti-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface.\n\n\nSeveral usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file).\n\n\nPowerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more.\n\n\nAvailable for various OS: available to download for Windows, MacOS, and Linux. Ready to reduce setup times and simplify your cloud configurations? Try StackQL yourself and explore all the awesome features it comes with! ⭐ Star StackQL on GitHub: github.com/stackql/stackql 🌎 Website: stackql.io Thanks to the StackQL team for sponsoring this article. 2. Flagsmith – Feature flag management Flagsmith is an open-source feature flag management tool. You can use hosted API, deploy to your private cloud, or run as on-premise software. It enables gradual feature rollouts for safer deployments and easier A/B testing, reducing the risk of bugs and ensuring faster iteration cycles. 👨‍💻 GitHub Repository: https://github.com/Flagsmith/flagsmith 🌎 Website: flagsmith.com 3. Formbricks – User feedback and analytics Formbricks is an open-source tool for collecting user feedback and form analytics. It helps devs understand user behavior, allowing them to improve performance, reduce friction, and enhance the overall UX. 👨‍💻 GitHub Repository: https://github.com/formbricks/formbricks 🌎 Website: formbricks.com 4. Dub – URL shortener with analytics Dub is an open-source URL shortener with built-in analytics. It simplifies link management for websites, marketing, and projects. By allowing developers to manage and analyze shortened URLs, Dub streamlines project workflows, making link tracking and data gathering much easier. 👨‍💻 GitHub Repository: https://github.com/dubinc/dub 🌎 Website: dub.co 5. AppFlowy – Project &amp; notes management AppFlowy is an open-source, privacy-focused alternative to Notion. It provides a flexible workspace for managing tasks, notes, and general knowledge. AppFlowy offers teams control over their data and customizations, allowing them to create a tailored workspace while benefiting from privacy and scalability. 👨‍💻 GitHub Repository: https://github.com/AppFlowy-IO/AppFlowy 🌎 Website: appflowy.io 6. APITable – Visual database for collaborative apps APITable combines the ease of spreadsheets with the power of databases. It helps teams collaborate on data-driven projects with visual and interactive tables. APITable simplifies data management and collaboration, allowing developers to organize and automate workflows with minimal setup and technical knowledge. 👨‍💻 GitHub Repository: https://github.com/apitable/apitable 🌎 Website: aitable.ai 7. Flowise – Build LLM workflows with flowcharts Flowise is an open-source visual tool that simplifies building workflows for large language models (LLMs). It’s designed to integrate AI with apps easily. Flowise allows developers to visually manage complex LLM workflows, speeding up the integration of AI into their applications without deep coding knowledge. 👨‍💻 GitHub Repository: https://github.com/FlowiseAI/Flowise 🌎 Website: flowiseai.com 8. Jan – Use AI with full control and privacy Jan is an open-source tool; a ChatGPT alternative that runs 100% offline on your device but with more control, flexibility, and no privacy concerns. Jan enhances productivity by allowing you to ask questions, brainstorm, and learn from the AI running on your device to be more productive. 👨‍💻 GitHub Repository: https://github.com/janhq/jan 🌎 Website: jan.ai 9. Docsify – Documentation site generator Docsify is an open-source documentation site generator that creates beautiful, responsive docs from markdown files. It simplifies the process of generating documentation, making it easy for developers to maintain and update their docs without complex builds. 👨‍💻 GitHub Repository: https://github.com/docsifyjs/docsify 🌎 Website: docsify.js.org Did you like the resources? Here is more 👇 Join 6000+ others to receive the best DEV resources, tools, productivity tips, and career growth advice I discover by subscribing to my newsletter! Also, connect with me on Twitter, LinkedIn, and GitHub! Writing has always been my passion and it gives me pleasure to help and inspire people. If you want to get featured or partner up, feel free to get in touch! Also, published here. In today&apos;s tech world with fierce competition and tight deadlines, it is useful to explore new and exciting tools to improve the workflow. Open-source tools are there to help; with some significant advantages over other tools - they&apos;re customizable, offer more control, and are community-driven. I decided to handpick 9 powerful open-source projects that will enhance your cloud workflow, project management, user feedback, automation, and more. Whether you are a beginner or a seasoned developer there should be something for everyone to elevate your toolkit and inspire your next big project. Let’s dive in and hopefully, you will find some tools that you can use in the future! 1. StackQL – Manage cloud services with SQL StackQL StackQL offers a revolutionary approach to deploy, query, and interact with cloud services and resources using Structured query language (SQL). That means you no longer need to learn different APIs for each provider. StackQL parses your SQL statements and transpiles them into API requests that all your favorite major cloud providers would understand. Some of the best features include: Some of the best features include: SQL-based querying: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently. Multi-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface. Several usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file). Powerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more. Available for various OS: available to download for Windows, MacOS, and Linux. SQL-based querying: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently. SQL-based querying : unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently. SQL-based querying Multi-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface. Multi-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface. Multi-cloud support: Several usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file). Several usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file). Several usage modes: Powerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more. Powerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more. Powerful operations: Available for various OS: available to download for Windows, MacOS, and Linux. Available for various OS : available to download for Windows, MacOS, and Linux. Available for various OS Ready to reduce setup times and simplify your cloud configurations? Try StackQL yourself and explore all the awesome features it comes with! ⭐ Star StackQL on GitHub: github.com/stackql/stackql Star StackQL on GitHub: github.com/stackql/stackql github.com/stackql/stackql 🌎 Website: stackql.io 🌎 Website: stackql.io stackql.io Thanks to the StackQL team for sponsoring this article. 2. Flagsmith – Feature flag management Flagsmith Flagsmith is an open-source feature flag management tool. You can use hosted API, deploy to your private cloud, or run as on-premise software. It enables gradual feature rollouts for safer deployments and easier A/B testing, reducing the risk of bugs and ensuring faster iteration cycles. 👨‍💻 GitHub Repository: https://github.com/Flagsmith/flagsmith GitHub Repository: https://github.com/Flagsmith/flagsmith 🌎 Website: flagsmith.com 🌎 Website: flagsmith.com 3. Formbricks – User feedback and analytics Formbricks Formbricks is an open-source tool for collecting user feedback and form analytics. It helps devs understand user behavior, allowing them to improve performance, reduce friction, and enhance the overall UX. 👨‍💻 GitHub Repository: https://github.com/formbricks/formbricks GitHub Repository: https://github.com/formbricks/formbricks 🌎 Website: formbricks.com 🌎 Website: formbricks.com 4. Dub – URL shortener with analytics Dub Dub is an open-source URL shortener with built-in analytics. It simplifies link management for websites, marketing, and projects. By allowing developers to manage and analyze shortened URLs, Dub streamlines project workflows, making link tracking and data gathering much easier. 👨‍💻 GitHub Repository: https://github.com/dubinc/dub GitHub Repository: https://github.com/dubinc/dub 🌎 Website: dub.co 🌎 Website: dub.co 5. AppFlowy – Project &amp; notes management AppFlowy AppFlowy is an open-source, privacy-focused alternative to Notion. It provides a flexible workspace for managing tasks, notes, and general knowledge. AppFlowy offers teams control over their data and customizations, allowing them to create a tailored workspace while benefiting from privacy and scalability. 👨‍💻 GitHub Repository: https://github.com/AppFlowy-IO/AppFlowy GitHub Repository: https://github.com/AppFlowy-IO/AppFlowy 🌎 Website: appflowy.io 🌎 Website: appflowy.io 6. APITable – Visual database for collaborative apps APITable APITable combines the ease of spreadsheets with the power of databases. It helps teams collaborate on data-driven projects with visual and interactive tables. APITable simplifies data management and collaboration, allowing developers to organize and automate workflows with minimal setup and technical knowledge. 👨‍💻 GitHub Repository: https://github.com/apitable/apitable GitHub Repository: https://github.com/apitable/apitable 🌎 Website: aitable.ai 🌎 Website: aitable.ai 7. Flowise – Build LLM workflows with flowcharts Flowise Flowise is an open-source visual tool that simplifies building workflows for large language models (LLMs). It’s designed to integrate AI with apps easily. Flowise allows developers to visually manage complex LLM workflows, speeding up the integration of AI into their applications without deep coding knowledge. 👨‍💻 GitHub Repository: https://github.com/FlowiseAI/Flowise GitHub Repository: https://github.com/FlowiseAI/Flowise 🌎 Website: flowiseai.com 🌎 Website: flowiseai.com 8. Jan – Use AI with full control and privacy Jan Jan is an open-source tool; a ChatGPT alternative that runs 100% offline on your device but with more control, flexibility, and no privacy concerns. Jan enhances productivity by allowing you to ask questions, brainstorm, and learn from the AI running on your device to be more productive. 👨‍💻 GitHub Repository: https://github.com/janhq/jan GitHub Repository: https://github.com/janhq/jan 🌎 Website: jan.ai 🌎 Website: jan.ai 9. Docsify – Documentation site generator Docsify Docsify is an open-source documentation site generator that creates beautiful, responsive docs from markdown files. It simplifies the process of generating documentation, making it easy for developers to maintain and update their docs without complex builds. 👨‍💻 GitHub Repository: https://github.com/docsifyjs/docsify GitHub Repository: https://github.com/docsifyjs/docsify 🌎 Website: docsify.js.org 🌎 Website: docsify.js.org Did you like the resources? Here is more 👇 Join 6000+ others to receive the best DEV resources, tools, productivity tips, and career growth advice I discover by subscribing to my newsletter ! my newsletter Also, connect with me on Twitter , LinkedIn , and GitHub ! Twitter LinkedIn GitHub Writing has always been my passion and it gives me pleasure to help and inspire people. If you want to get featured or partner up, feel free to get in touch ! get in touch Also, published here . here"}</script><meta name="next-head-count" content="14"/><meta name="google-site-verification" content="xSsN5mRM5xbHVI00M8uekCnuJ47Da0ER2mYuGhaPM9o"/><link rel="preload" href="/fonts/HackerNoonFont/font-hackernoon.css"/><meta name="slack-app-id" content="A017MMBC29Z"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-ECJJ2Q2SJQ"></script><script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-ECJJ2Q2SJQ'); </script><link rel="preload" href="/_next/static/css/985f52c40de94e27.css" as="style"/><link rel="stylesheet" href="/_next/static/css/985f52c40de94e27.css" data-n-g=""/><link rel="preload" href="/_next/static/css/d36117609742e1ad.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d36117609742e1ad.css" data-n-p=""/><link rel="preload" href="/_next/static/css/6d530d6069fd563f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/6d530d6069fd563f.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="https://accounts.google.com/gsi/client" defer="" data-nscript="beforeInteractive"></script><script defer="" src="/_next/static/chunks/2876.ccc6b4101344acd3.js"></script><script defer="" src="/_next/static/chunks/ee759108-51af8ccea7c8c9cb.js"></script><script defer="" src="/_next/static/chunks/834.4796ceba7d773010.js"></script><script defer="" src="/_next/static/chunks/5459-17af4b1e2650ddc3.js"></script><script defer="" src="/_next/static/chunks/8554.5fd0b3b20b52c3c9.js"></script><script src="/_next/static/chunks/webpack-ebded3bf194d45c1.js" defer=""></script><script src="/_next/static/chunks/framework-79bce4a3a540b080.js" defer=""></script><script src="/_next/static/chunks/main-d795fc49073f04a3.js" defer=""></script><script src="/_next/static/chunks/pages/_app-40a0df12e6948921.js" defer=""></script><script src="/_next/static/chunks/8673774c-63882bf0fd5758b6.js" defer=""></script><script src="/_next/static/chunks/29107295-4a69275373f23f88.js" defer=""></script><script src="/_next/static/chunks/75fc9c18-55217e80064ded2b.js" defer=""></script><script src="/_next/static/chunks/e4405247-b92cad2245dc32a9.js" defer=""></script><script src="/_next/static/chunks/ad7f724d-c783309ff8720dc6.js" defer=""></script><script src="/_next/static/chunks/8783-f3b27c5ae7196adb.js" defer=""></script><script src="/_next/static/chunks/901-862ff83563c7d2b8.js" defer=""></script><script src="/_next/static/chunks/9907-cfe637080b71795b.js" defer=""></script><script src="/_next/static/chunks/7553-106c3af9acfd5cd0.js" defer=""></script><script src="/_next/static/chunks/4804-0be234a5b629b212.js" defer=""></script><script src="/_next/static/chunks/2456-5afe200ce6aa3025.js" defer=""></script><script src="/_next/static/chunks/6421-ce7d08d4f83a76a4.js" defer=""></script><script src="/_next/static/chunks/6926-05c35b3603000e30.js" defer=""></script><script src="/_next/static/chunks/4257-644b16204fcaa739.js" defer=""></script><script src="/_next/static/chunks/5518-7b061f7a77a116d1.js" defer=""></script><script src="/_next/static/chunks/4008-7f09bb3951f5fc5b.js" defer=""></script><script src="/_next/static/chunks/2136-708f81a76b654df6.js" defer=""></script><script src="/_next/static/chunks/2374-241ae82c0f555222.js" defer=""></script><script src="/_next/static/chunks/3233-9972e85b955716e3.js" defer=""></script><script src="/_next/static/chunks/6995-08f50a1f8dd32474.js" defer=""></script><script src="/_next/static/chunks/pages/%5Bslug%5D-fe2e440779149ec8.js" defer=""></script><script src="/_next/static/GXEZgbYLxHfUJ5ZniNe4H/_buildManifest.js" defer=""></script><script src="/_next/static/GXEZgbYLxHfUJ5ZniNe4H/_ssgManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.11">html{line-height:1.15;-webkit-text-size-adjust:100%;}/*!sc*/ body{margin:0;}/*!sc*/ main{display:block;}/*!sc*/ h1{font-size:2em;margin:0.67em 0;}/*!sc*/ hr{box-sizing:content-box;height:0;overflow:visible;}/*!sc*/ pre{font-family:monospace,monospace;font-size:1em;}/*!sc*/ a{background-color:transparent;}/*!sc*/ abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}/*!sc*/ b,strong{font-weight:bolder;}/*!sc*/ code,kbd,samp{font-family:monospace,monospace;font-size:1em;}/*!sc*/ small{font-size:80%;}/*!sc*/ sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}/*!sc*/ sub{bottom:-0.25em;}/*!sc*/ sup{top:-0.5em;}/*!sc*/ img{border-style:none;}/*!sc*/ button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}/*!sc*/ button,input{overflow:visible;}/*!sc*/ button,select{text-transform:none;}/*!sc*/ button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}/*!sc*/ button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}/*!sc*/ button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}/*!sc*/ fieldset{padding:0.35em 0.75em 0.625em;}/*!sc*/ legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}/*!sc*/ progress{vertical-align:baseline;}/*!sc*/ textarea{overflow:auto;}/*!sc*/ [type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}/*!sc*/ [type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}/*!sc*/ [type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}/*!sc*/ [type="search"]::-webkit-search-decoration{-webkit-appearance:none;}/*!sc*/ ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}/*!sc*/ details{display:block;}/*!sc*/ summary{display:list-item;}/*!sc*/ template{display:none;}/*!sc*/ [hidden]{display:none;}/*!sc*/ data-styled.g1[id="sc-global-ecVvVt1"]{content:"sc-global-ecVvVt1,"}/*!sc*/ .ekysAR{position:relative;height:46px;background:#f5ec43;font-family:'IBM Plex Mono',monospace;font-weight:bold;font-size:1.2rem;z-index:100;padding-left:10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .ekysAR .daLink{width:100%;}/*!sc*/ @media screen and (min-width:870px){.ekysAR{font-size:1.6rem;}}/*!sc*/ .ekysAR a:not(.icon){color:#666105;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .ekysAR img{margin-right:10px;width:100px;object-fit:contain;border-radius:2px;}/*!sc*/ .ekysAR a.daLink > span{margin-right:10px !important;}/*!sc*/ .ekysAR a.daLink > span > img{border-radius:2px;}/*!sc*/ .ekysAR .icon{position:absolute;top:10px;left:6px;-webkit-transition:opacity 0.3s ease-out;transition:opacity 0.3s ease-out;opacity:0;pointer-events:none;}/*!sc*/ .ekysAR .logo img{width:180px;position:absolute;top:10px;left:6px;-webkit-transition:opacity 0.3s ease-out;transition:opacity 0.3s ease-out;opacity:0;pointer-events:none;}/*!sc*/ .ekysAR .colorPickerIcon{position:absolute;right:0;-webkit-filter:brightness(20%);filter:brightness(20%);font-size:3rem;-webkit-transition:filter 0.3s;transition:filter 0.3s;margin-right:15px;}/*!sc*/ @media screen and (max-width:1000px){.ekysAR .colorPickerIcon{display:none;}}/*!sc*/ .ekysAR .colorPickerIcon:hover{cursor:pointer;}/*!sc*/ data-styled.g7[id="sc-e2e8d9af-0"]{content:"ekysAR,"}/*!sc*/ .byYhvg{height:45px;background-color:#fff;display:none;z-index:99;box-shadow:0 0 15px rgba(0,0,0,0.15);font-family:"IBM Plex Mono",monospace;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;opacity:0;pointer-events:none;}/*!sc*/ .byYhvg .copyToClipboard{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px;margin:0 auto;}/*!sc*/ .byYhvg .copyToClipboard:hover{cursor:pointer;}/*!sc*/ .byYhvg.hide{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);opacity:1;pointer-events:initial;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ .byYhvg .icon{height:24px;margin-right:10px;}/*!sc*/ .byYhvg a.profile{padding:0;background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,0.35) calc(50% - 9px), rgba(0,255,0,0.35) 100% );-webkit-transition:background-position 120ms ease-in-out,padding 120ms ease-in-out;transition:background-position 120ms ease-in-out,padding 120ms ease-in-out;background-size:100% 200%;background-position:0 0;word-break:break-word;margin-left:10px;margin-right:1rem;}/*!sc*/ .byYhvg .profile-img{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .byYhvg .profile-img img{border-radius:50%;cursor:pointer;}/*!sc*/ @media screen and (min-width:640px){.byYhvg .profile-img{display:none;}}/*!sc*/ .byYhvg a.profile:hover{background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,1) calc(50% - 9px), rgba(0,255,0,1) 100% );background-position:0 100%;}/*!sc*/ .byYhvg .icon img{height:24px;}/*!sc*/ .byYhvg .title{padding-left:10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;overflow:hidden;font-size:16px;font-weight:bold;}/*!sc*/ .byYhvg .title,.byYhvg .title a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}/*!sc*/ .byYhvg .st-last{display:inline-block !important;}/*!sc*/ .byYhvg a.next{font-size:16px;border:2px solid #ccc;padding:1px 10px;}/*!sc*/ .byYhvg .sharing{position:relative;padding-right:20px;white-space:nowrap;overflow:hidden;height:45px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .byYhvg .sharing .audio-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:35px;min-height:35px;background:#000;border-radius:50%;border:none;outline:none;color:#10ff00;border:2px solid;cursor:pointer;font-size:15px;padding:0px;}/*!sc*/ .byYhvg .sharing .audio-btn svg{height:18px;width:18px;}/*!sc*/ .byYhvg .sharing .audio-btn:hover{background:#0c3c00;}/*!sc*/ .byYhvg .sharing .st-inline-share-buttons{display:-webkit-box !important;display:-webkit-flex !important;display:-ms-flexbox !important;display:flex !important;height:45px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .byYhvg .sharing .st-btn{background-color:transparent !important;background-size:contain;background-repeat:no-repeat;background-position:center;height:20px !important;width:20px;margin:0 0 0 4px;padding:0 !important;border-radius:0 !important;}/*!sc*/ .byYhvg .sharing .st-total{margin-right:7px;}/*!sc*/ .byYhvg .sharing .st-btn[data-network="twitter"]{background-image:url(https://hackernoon.imgix.net/social-icons/twitter-new.png) !important;-webkit-transform:translateX(2px);-ms-transform:translateX(2px);transform:translateX(2px);}/*!sc*/ .byYhvg .sharing .st-btn[data-network="facebook"]{display:none !important;}/*!sc*/ @media screen and (min-width:640px){.byYhvg .sharing .st-btn[data-network="facebook"]{background-image:url(https://hackernoon.imgix.net/social-icons/facebook-new.png) !important;display:block !important;}}/*!sc*/ .byYhvg .sharing .st-btn[data-network="linkedin"]{background-image:url(https://hackernoon.imgix.net/social-icons/linkedin-new.png) !important;}/*!sc*/ .byYhvg .sharing .st-btn[data-network="email"]{background-image:url(https://hackernoon.imgix.net/social-icons/email-new.png) !important;-webkit-transform:translateY(3px);-ms-transform:translateY(3px);transform:translateY(3px);}/*!sc*/ .byYhvg .sharing .st-btn img{display:none !important;}/*!sc*/ .byYhvg .st-btn:hover{opacity:1 !important;top:0 !important;}/*!sc*/ @media screen and (max-width:640px){.byYhvg .title,.byYhvg .sharing{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;}.byYhvg .profile{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.byYhvg .sharing{padding-right:10px;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}.byYhvg .story-title{display:none;}}/*!sc*/ data-styled.g8[id="sc-9de06f04-0"]{content:"byYhvg,"}/*!sc*/ .jECpNX{background-color:transparent;color:#212428;border:2px solid #212428;border-radius:2px;font-size:1.6rem;font-weight:600;padding:0.6rem 1.2rem;display:inline-block;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative;outline:none;line-height:1.3;}/*!sc*/ .jECpNX svg,.jECpNX i{font-size:1.6rem;}/*!sc*/ .jECpNX svg + span,.jECpNX i + span{margin-left:5px;margin-top:0;}/*!sc*/ .jECpNX:hover{background-color:#62ff86;}/*!sc*/ .jECpNX:active{background-color:#0f0;border-color:#212428;color:#212428;}/*!sc*/ .jECpNX:active,.jECpNX:focus{outline:none;}/*!sc*/ .jECpNX[disabled]{opacity:0.75;cursor:not-allowed;background-color:transparent;}/*!sc*/ .jECpNX[disabled]:hover{box-shadow:none;}/*!sc*/ .jECpNX.email-preview-button{border-radius:0;color:#0f0;min-width:151px;cursor:pointer;border:4px solid #d5d5d5;}/*!sc*/ .jECpNX.newsletter-form-button{color:#0f0;background-color:#212428;margin-bottom:0;margin-top:10px;border:4px solid #d5d5d5;cursor:pointer;min-width:151px;height:38px;font-size:16px;line-height:21px;font-weight:normal;border-radius:0;margin:0 2.5px;}/*!sc*/ @media (min-width:576px){.jECpNX.newsletter-form-button{margin-top:0;}}/*!sc*/ .jECpNX.newsletter-form-button:hover{background-color:#3c3c3b;}/*!sc*/ data-styled.g9[id="sc-b3d23cc4-0"]{content:"jECpNX,"}/*!sc*/ .FSbgW{display:grid;max-width:1200px;width:100%;margin:1.5rem auto 4.5rem;grid-gap:3rem 2.5rem;grid-template-columns:minmax(0,1fr);padding:0 1rem;word-break:break-word;margin-bottom:0px;}/*!sc*/ .FSbgW > h1{margin-bottom:0;margin-top:0;grid-column:1 / -1;}/*!sc*/ @media screen and (min-width:768px){.FSbgW > h1{text-align:center;}}/*!sc*/ .FSbgW section > h2,.FSbgW section > h3,.FSbgW section > h4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;grid-column:1 / -1;font-weight:900;font-size:24px;text-transform:uppercase;}/*!sc*/ .FSbgW section > h2:before,.FSbgW section > h3:before,.FSbgW section > h4:before,.FSbgW section > h2:after,.FSbgW section > h3:after,.FSbgW section > h4:after{content:"";-webkit-flex:1;-ms-flex:1;flex:1;border-bottom:3px solid #3c3c3b;}/*!sc*/ .FSbgW section > h2:before,.FSbgW section > h3:before,.FSbgW section > h4:before{margin-right:30px;}/*!sc*/ .FSbgW section > h2:after,.FSbgW section > h3:after,.FSbgW section > h4:after{margin-left:30px;}/*!sc*/ .FSbgW .image-credit span,.FSbgW .image-credit a{font-size:1.2rem;}/*!sc*/ .FSbgW .image-credit a{font-weight:bold;color:gray;}/*!sc*/ .FSbgW .image-credit a:hover{color:#138A36;}/*!sc*/ @media screen and (max-width:320px){.FSbgW{margin:0;}}/*!sc*/ @media screen and (max-width:767px){.FSbgW .markdown-editor{max-width:95vw;}}/*!sc*/ @media screen and (min-width:950px){.FSbgW{grid-template-columns:1fr 8fr 1fr;grid-gap:2.5rem 25px;margin-top:25px;}.FSbgW .markdown-editor{max-width:800px;}.FSbgW > *{grid-column:2 / -2;}}/*!sc*/ .FSbgW > pre{overflow-x:scroll;max-width:100%;overflow:hidden;}/*!sc*/ .FSbgW .annot{background-color:#FFFF00;color:#212428;-webkit-transition:background-color .3s;transition:background-color .3s;}/*!sc*/ .FSbgW .annot:hover{background-color:#FFFF99;cursor:pointer;}/*!sc*/ .FSbgW pre code,.FSbgW .ql-syntax{white-space:pre;overflow-x:scroll;width:904px;display:block;}/*!sc*/ @media screen and (max-width:1000px){.FSbgW pre code,.FSbgW .ql-syntax{max-width:95vw;}}/*!sc*/ .FSbgW .previewWarning,.FSbgW .previewWarning > a{color:#a09a00;text-align:center;margin-bottom:10px;}/*!sc*/ .FSbgW ul,.FSbgW ol{padding-left:20px;margin:0;word-break:break-word;}/*!sc*/ .FSbgW ol ol{list-style:lower-alpha;}/*!sc*/ .FSbgW ol ol ol{list-style:lower-roman;}/*!sc*/ .FSbgW .edit-story{text-align:center;margin:-40px 0 0 0;}/*!sc*/ .FSbgW > figure{margin:0 auto;}/*!sc*/ .FSbgW > figure > figcaption{font-size:1rem;}/*!sc*/ .FSbgW figure,.FSbgW .image-container{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;justify-self:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;max-width:90vw;}/*!sc*/ .FSbgW figure img,.FSbgW .image-container img{cursor:pointer;max-width:90vw;}/*!sc*/ .FSbgW figure span,.FSbgW .image-container span{position:initial !important;}/*!sc*/ .FSbgW figure.feat,.FSbgW .image-container.feat{grid-column:1 / -1;min-width:100%;border-radius:5px;background-color:rgb(75 129 179 / 70%);}/*!sc*/ @media screen and (min-width:768px){.FSbgW figure.feat .react-loading-skeleton,.FSbgW .image-container.feat .react-loading-skeleton{height:450px !important;}}/*!sc*/ .FSbgW .left-50,.FSbgW .right-50{width:50%;margin-bottom:1em;clear:initial;}/*!sc*/ .FSbgW .left-50{float:left;margin-right:2em;}/*!sc*/ .FSbgW .right-50{float:right;margin-left:2em;}/*!sc*/ .FSbgW .image-caption{line-height:0;display:block;margin:0;border:0px;display:block;font-size:13px;font-style:italic;font-weight:normal;color:rgb(78,92,110);padding:2px 0px;line-height:16px;text-align:center;min-height:1em;outline:none;background:none;resize:none;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:text;}/*!sc*/ .FSbgW .youtube-container{position:relative;padding-bottom:56.25%;padding-top:25px;height:0;}/*!sc*/ .FSbgW .youtube-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;}/*!sc*/ .FSbgW .embed-hn-story{box-shadow:#b9ffb9 0px 0.2em,#b9ffb9 0px -0.2em,#b9ffb9 0.2em 0px,#b9ffb9 -0.2em 0px,#0f0 0.2em 0.4em,#0f0 0.4em 0.2em,#005e00 0.4em 0.6em,#005e00 0.6em 0.4em;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 auto;max-width:450px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ .FSbgW .embed-hn-story .card-image-container img{height:100%;width:100%;object-fit:contain;}/*!sc*/ .FSbgW .embed-hn-story .card-info h4{margin:0 5px;}/*!sc*/ .FSbgW .embed-hn-story .card-info span{display:-webkit-box;font-size:13px;margin:5px;height:2.6em;max-height:2.6em;margin-top:0.32333em;line-height:1.3em;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;}/*!sc*/ .FSbgW .codepen-container,.FSbgW .codesandbox-container{grid-column:1 / -1;}/*!sc*/ .FSbgW .codepen-container iframe,.FSbgW .codesandbox-container iframe{border:none;border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,0.1);width:100%;height:500px;}/*!sc*/ .FSbgW > blockquote{font-size:2rem;word-break:break-word;font-style:italic;margin-left:0;margin-right:0;padding:2rem 0;text-align:left;}/*!sc*/ @media screen and (min-width:768px){.FSbgW > blockquote{font-size:2.5rem;}}/*!sc*/ .FSbgW .paragraph{min-width:0;margin:0 0 25px 0;word-wrap:break-word;}/*!sc*/ .FSbgW .line-space{margin:0 !important;}/*!sc*/ .FSbgW h2{font-size:1.5em;}/*!sc*/ .FSbgW .reactions{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:6px;}/*!sc*/ .FSbgW .paragraph a,.FSbgW .slogging a,.FSbgW blockquote a,.FSbgW p a,.FSbgW .h2 a,.FSbgW .h3 a,.FSbgW .h4 a,.FSbgW ul li a,.FSbgW ol li a,.FSbgW h1 a,.FSbgW h2 a,.FSbgW h3 a{color:black;padding:2px 0 1px 0;background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,0.35) calc(50% - 9px), rgba(0,255,0,0.35) 100% );-webkit-transition:background-position 120ms ease-in-out,padding 120ms ease-in-out;transition:background-position 120ms ease-in-out,padding 120ms ease-in-out;background-size:100% 200%;background-position:0 0;word-break:break-word;}/*!sc*/ .FSbgW .paragraph a:hover,.FSbgW .slogging a:hover,.FSbgW blockquote a:hover,.FSbgW p a:hover,.FSbgW .h2 a:hover,.FSbgW .h3 a:hover,.FSbgW .h4 a:hover,.FSbgW ul li a:hover,.FSbgW ol li a:hover,.FSbgW h1 a:hover,.FSbgW h2 a:hover,.FSbgW h3 a:hover{background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,1) calc(50% - 9px), rgba(0,255,0,1) 100% );background-position:0 100%;}/*!sc*/ .FSbgW .paragraph a:focus,.FSbgW .slogging a:focus,.FSbgW blockquote a:focus,.FSbgW p a:focus,.FSbgW .h2 a:focus,.FSbgW .h3 a:focus,.FSbgW .h4 a:focus,.FSbgW ul li a:focus,.FSbgW ol li a:focus,.FSbgW h1 a:focus,.FSbgW h2 a:focus,.FSbgW h3 a:focus{text-shadow:1px 1px 0 #0b0;}/*!sc*/ .FSbgW tr,.FSbgW th,.FSbgW td{border:1px solid;border-collapse:collapse;}/*!sc*/ .FSbgW th{width:300px;}/*!sc*/ .FSbgW table{border-spacing:0;}/*!sc*/ .FSbgW .tags{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ .FSbgW .skeleton.meta{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;}/*!sc*/ .FSbgW .skeleton.meta > div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .FSbgW .skeleton.meta > div:first-child{justify-self:start;}/*!sc*/ .FSbgW .skeleton.meta > div:last-child{justify-self:end;}/*!sc*/ .FSbgW footer .share{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:20px;font-size:1.6rem;}/*!sc*/ .FSbgW footer ~ section h4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;font-size:3rem;}/*!sc*/ .FSbgW footer ~ section h4:before,.FSbgW footer ~ section h4:after{content:"";-webkit-flex:1;-ms-flex:1;flex:1;border-bottom:2px solid #c2cad6;}/*!sc*/ .FSbgW footer ~ section h4:before{margin-right:0.5em;}/*!sc*/ .FSbgW footer ~ section h4:after{margin-left:0.5em;}/*!sc*/ .FSbgW .twitter-tweet{margin:0 auto;}/*!sc*/ .FSbgW .slack .mr-3 img{border-radius:6px;}/*!sc*/ .FSbgW .notice{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;background:#F5BE31;color:#212428;border-radius:4px;padding:8px 16px;margin:8px 0;}/*!sc*/ .FSbgW .notice a{color:#212428;}/*!sc*/ .FSbgW .notice a:not(.heading-name){-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .FSbgW .notice .content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;min-width:0;}/*!sc*/ .FSbgW .notice .icon{width:24px;height:24px;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;margin-right:4px;position:relative;top:1px;}/*!sc*/ .FSbgW .notice-warning{background:#FF5C80;color:white;}/*!sc*/ .FSbgW .notice-warning a{color:white;}/*!sc*/ .FSbgW .notice-tip{background:#62ff86;color:black !important;}/*!sc*/ .FSbgW .notice-tip a{color:black !important;}/*!sc*/ .FSbgW blockquote{margin:0;padding-left:1.5em;font-style:italic;overflow:hidden;position:relative;color:#aaa;}/*!sc*/ .FSbgW blockquote:before{content:"";display:inline-block;width:10px;border-radius:1px;position:absolute;margin-left:-1.5em;top:0;bottom:0;background:#0f0;}/*!sc*/ .FSbgW p{margin:0 0 0 0;}/*!sc*/ data-styled.g44[id="sc-d7dc08c8-0"]{content:"FSbgW,"}/*!sc*/ .fEEqoW{padding:10px;border:2px solid;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:#212428;color:lightgray;min-width:140px;border:0;border-radius:0 5px 5px 0;font-size:1.5rem;cursor:pointer;font-weight:800;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .fEEqoW i{margin-left:0.5rem;}/*!sc*/ @-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}/*!sc*/ @keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}/*!sc*/ .fEEqoW:hover{background:#138a36;color:white;}/*!sc*/ data-styled.g56[id="sc-9d94a5e5-2"]{content:"fEEqoW,"}/*!sc*/ .jtwMgp{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .jtwMgp .author-email-form{margin:0 auto;margin-right:auto;}/*!sc*/ .jtwMgp .subscribe-btn{font-size:15px;}/*!sc*/ .jtwMgp .subscribe-btn-tooltip{max-width:100px;}/*!sc*/ .jtwMgp .emailContainer{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:100%;}/*!sc*/ .jtwMgp .emailContainer input{width:100%;}/*!sc*/ @media screen and (max-width:400px){.jtwMgp{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}.jtwMgp .emailContainer{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.jtwMgp .emailContainer input,.jtwMgp .emailContainer button{border-radius:0px !important;}}/*!sc*/ .jtwMgp .subscribe-btn{width:100%;font-family:"IBM Plex Mono",monospace;font-weight:bold;color:white;background-color:#009900;border:1px solid #62ff86;cursor:pointer;border-radius:5px;padding:1rem 0.5rem;}/*!sc*/ .jtwMgp .subscribe-btn .icon{fill:#62ff86;}/*!sc*/ .jtwMgp .subscribe-btn:hover{color:#212428;background-color:#0f0;border:1px solid #212428;-webkit-transform:scale(1.02);-ms-transform:scale(1.02);transform:scale(1.02);-webkit-transition:all 100ms ease-in-out;transition:all 100ms ease-in-out;}/*!sc*/ .jtwMgp .subscribe-btn:hover .icon{fill:#212428;}/*!sc*/ @media screen and (max-width:1085px){.jtwMgp .subscribe-btn{width:100%;margin-top:1.5rem;}}/*!sc*/ .jtwMgp .subscribe_auth{margin:0 auto;width:100%;}/*!sc*/ @media screen and (max-width:1085px){.jtwMgp .subscribe_auth{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}}/*!sc*/ .jtwMgp .subscribe-tooltip{position:relative;display:inline-block;}/*!sc*/ .jtwMgp .subscribe-tooltip .tooltiptext{width:100%;visibility:hidden;background-color:white;text-align:center;padding:5px 5px;border-radius:6px;position:absolute;z-index:1;left:0;min-width:200px;bottom:4rem;font-family:"IBM Plex Mono",monospace;font-size:1.2rem;color:gray;font-weight:600;text-align:center;}/*!sc*/ .jtwMgp .tooltip .tooltipbadge{visibility:hidden;background-color:white;border:2px solid black;text-align:center;padding:5px 5px;border-radius:6px;position:absolute;bottom:6.5rem;left:-200px;z-index:1;width:500px;font-family:"IBM Plex Mono",monospace;font-size:1.2rem;color:gray;font-weight:600;text-align:center;}/*!sc*/ @media screen and (max-width:1085px){.jtwMgp .tooltip .tooltipbadge{width:200px;left:-50px;}}/*!sc*/ @media screen and (max-width:720px){.jtwMgp .tooltip .tooltipbadge{width:auto;left:-10px;font-size:12px;}}/*!sc*/ .jtwMgp .subscribe-tooltip:hover .tooltiptext{visibility:visible !important;}/*!sc*/ .jtwMgp .tooltip:hover .tooltipbadge{visibility:visible;}/*!sc*/ .jtwMgp .author-email-form{width:100%;margin:0 auto;}/*!sc*/ .jtwMgp .author-email-form .emailContainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:10px;}/*!sc*/ .jtwMgp .author-email-form .emailContainer > input{width:190px;padding:10px;border:0;color:black;background-color:rgba(255,255,255,1);border-radius:5px 0px 0px 5px;border:1px solid rgba(0,0,0,0.5);}/*!sc*/ @media screen and (max-width:400px){.jtwMgp .author-email-form .emailContainer > input{width:100%;margin-bottom:10px;}}/*!sc*/ .jtwMgp .author-email-form .emailContainer > input:focus-visible{border:2px solid red;}/*!sc*/ @media screen and (max-width:500px){.jtwMgp .author-email-form{padding-left:0;}.jtwMgp .author-email-form .emailContainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.jtwMgp .author-email-form .emailContainer > input{padding:10px 10px 10px 20px;font-size:1.5rem;border:0;background-color:lightgrey;border-radius:5px;}.jtwMgp .author-email-form .emailContainer > input:focus-visible{border:2px solid red;}}/*!sc*/ data-styled.g58[id="sc-9d94a5e5-4"]{content:"jtwMgp,"}/*!sc*/ .dGrQDi{background:whitesmoke;border-radius:1rem;padding:2rem;max-width:850px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:1.5rem;font-weight:lighter;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin:1rem auto 4rem auto;}/*!sc*/ @media screen and (max-width:850px){.dGrQDi{margin:5rem;wdith:100%;}}/*!sc*/ @media screen and (max-width:640px){.dGrQDi{margin:0rem 1rem;margin-bottom:3rem;wdith:100%;}}/*!sc*/ @media screen and (max-width:480px){.dGrQDi{margin:0rem 0rem;margin-bottom:3rem;wdith:100%;}}/*!sc*/ .dGrQDi h3{margin-top:0px;font-size:3rem;}/*!sc*/ @media only screen and (max-width:400px){.dGrQDi h3{font-size:2rem;}}/*!sc*/ .dGrQDi .row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media screen and (max-width:640px){.dGrQDi .row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/ .dGrQDi .row .avatar{margin-right:2rem;margin-bottom:auto;box-shadow:0 0.2em #c2cad6,0 -0.2em #c2cad6, 0.2em 0 #c2cad6,-0.2em 0 #c2cad6;position:relative;min-height:130px;min-width:130px;}/*!sc*/ @media screen and (max-width:640px){.dGrQDi .row .avatar{min-height:75px;min-width:75px;margin-right:auto;margin-bottom:1rem;}}/*!sc*/ .dGrQDi .row .brand{box-shadow:0 0.2em #f5ec43,0 -0.2em #f5ec43, 0.2em 0 #f5ec43,-0.2em 0 #f5ec43;}/*!sc*/ .dGrQDi .row .author-info{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-wrap:no-wrap;-ms-flex-wrap:no-wrap;flex-wrap:no-wrap;-webkit-transition:all 0.3s ease-in;transition:all 0.3s ease-in;width:100%;}/*!sc*/ .dGrQDi .row .author-name-handle{margin-right:3rem;}/*!sc*/ .dGrQDi .row .author-info-top{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .dGrQDi .row .author-info-top .subscribe-circle{margin-bottom:1rem;}/*!sc*/ .dGrQDi .row strong{font-weight:bold;margin-right:1rem;}/*!sc*/ .dGrQDi .row .handle a{color:gray;}/*!sc*/ .dGrQDi .row .bio{color:#82858a;font-style:italic;margin-top:1rem;max-width:100vw;overflow-wrap:anywhere;}/*!sc*/ .dGrQDi .row .author-cta-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ @media screen and (max-width:480px){.dGrQDi .row .author-cta-wrapper{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0rem;width:100%;}}/*!sc*/ .dGrQDi .row .bio-cta{margin:1rem 1rem 1rem 0;justify-self:flex-end;background-color:white;display:block;text-align:center;padding:0.5rem 1rem;text-transform:capitalize;border-radius:5px;border:2px solid transparent;font-weight:bold;color:gray;}/*!sc*/ .dGrQDi .row .bio-cta i{margin-right:0.5rem;}/*!sc*/ .dGrQDi .row .bio-cta:hover{background:#138A36;color:white;}/*!sc*/ @media screen and (max-width:480px){.dGrQDi .row .bio-cta{width:100%;}}/*!sc*/ data-styled.g59[id="sc-104e382f-0"]{content:"dGrQDi,"}/*!sc*/ .ghXAMP{padding:0.5rem 1.5rem;margin:0 1.5rem 1.5rem 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:transparent;color:black;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0.5rem;font-weight:bold;box-shadow:0 0 3px 0 lightgray;}/*!sc*/ .ghXAMP:hover{background:#138A36;color:white;}/*!sc*/ @media screen and (max-width:640px){.ghXAMP{font-size:1.2rem;padding:0.5rem 1rem;}}/*!sc*/ data-styled.g60[id="sc-bc42364f-0"]{content:"ghXAMP,"}/*!sc*/ .cdoWeI{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;background:#138a36;font-weight:bold;font-size:1.5rem;padding:0.5rem 1rem;margin:0 1rem 1rem 0;border-radius:0.5rem;height:35px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-shadow:0 0 3px 0 lightgray;}/*!sc*/ .cdoWeI img{margin-right:1rem;-webkit-filter:brightness(0) invert(1) grayscale(100%);filter:brightness(0) invert(1) grayscale(100%);}/*!sc*/ @media screen and (max-width:640px){.cdoWeI{font-size:1.2rem;padding:0.2rem 0.6rem;color:white;}}/*!sc*/ data-styled.g61[id="sc-29806bfb-0"]{content:"cdoWeI,"}/*!sc*/ .cNoPGb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;justify-items:start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;grid-column:1 / span 1 !important;grid-row:span 5;}/*!sc*/ @media screen and (max-width:1000px){.cNoPGb{display:none;}}/*!sc*/ .cNoPGb .nft{cursor:pointer;}/*!sc*/ @media screen and (max-width:768px){.cNoPGb{grid-gap:10px;}}/*!sc*/ .cNoPGb + *{margin-top:0;}/*!sc*/ .cNoPGb + blockquote,.cNoPGb + .code-container{grid-column:2 / -2 !important;}/*!sc*/ .cNoPGb > a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;background-color:white;}/*!sc*/ .cNoPGb .profileImageContainer{width:50px;height:50px;position:relative;cursor:pointer;border-radius:50%;box-shadow:0 0.2em #c2cad6,0 -0.2em #c2cad6, 0.2em 0 #c2cad6,-0.2em 0 #c2cad6;}/*!sc*/ .cNoPGb .profileImageContainer img{border-radius:50%;}/*!sc*/ @media only screen and (max-width:600px){.cNoPGb .profileImageContainer{margin:0 auto;}}/*!sc*/ .cNoPGb > a > .profileImage{max-width:50px;object-fit:cover;border-radius:50px;box-shadow:0 0.2em #c2cad6,0 -0.2em #c2cad6, 0.2em 0 #c2cad6,-0.2em 0 #c2cad6;}/*!sc*/ .cNoPGb .brand{box-shadow:0 0.2em #f5ec43,0 -0.2em #f5ec43, 0.2em 0 #f5ec43,-0.2em 0 #f5ec43;}/*!sc*/ .cNoPGb > a > .profileImage.rainbow{box-shadow:none;}/*!sc*/ .cNoPGb h3{margin:0 0 2rem;font-size:1.8rem;}/*!sc*/ .cNoPGb h3 small{display:block;margin-top:2rem;}/*!sc*/ .cNoPGb p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:1.6rem;font-style:italic;}/*!sc*/ .cNoPGb a.about-page-link{padding:2px 10px 0 0;border:2px dashed;background-color:#106a00;font-family:"HackerNoon";font-size:17px;color:#fff;}/*!sc*/ .cNoPGb a.about-page-link .new-sticker{background:yellow;-webkit-transform:rotate(-40deg);-ms-transform:rotate(-40deg);transform:rotate(-40deg);display:inline-block;padding:5px;margin-right:10px;color:#234a00;}/*!sc*/ .cNoPGb a.about-page-link:hover{background:#518d38;cursor:pointer;}/*!sc*/ .cNoPGb a.about-page-link i{font-size:16px;margin-right:7px;}/*!sc*/ .cNoPGb .profile_share_mobile{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:10px 0;}/*!sc*/ .cNoPGb .profile_share_mobile img{background:black;min-width:30px;height:30px;padding:5px;border-radius:50%;}/*!sc*/ @media screen and (max-width:1070px){.cNoPGb .profile_share_mobile{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}/*!sc*/ @media screen and (max-width:650px){.cNoPGb .profile_share_mobile{max-width:100%;}}/*!sc*/ .cNoPGb .superpeer-link{background:transparent;border:3px solid #212428;font-weight:900;font-size:14px;display:block;width:100%;text-align:center;padding:20px 0;margin-top:25px;font-family:"IBM Plex Mono",monospace;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all 120ms ease-in-out;transition:all 120ms ease-in-out;}/*!sc*/ .cNoPGb .superpeer-link i{font-size:34px;-webkit-transform:translateY(3px);-ms-transform:translateY(3px);transform:translateY(3px);line-height:1;margin-right:15px;}/*!sc*/ .cNoPGb .superpeer-link:hover{background:#0f0;}/*!sc*/ .cNoPGb .superpeer-link .book{font-size:16px;line-height:1.3;}/*!sc*/ .cNoPGb .superpeer-link .book .line{padding:2px 0 1px 0;cursor:pointer;background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,0.35) calc(50% - 9px), rgba(0,255,0,0.35) 100% );-webkit-transition:all 120ms ease-in-out;transition:all 120ms ease-in-out;background-size:100% 200%;background-position:0 0;word-break:break-word;}/*!sc*/ data-styled.g79[id="sc-2ecc4b5d-0"]{content:"cNoPGb,"}/*!sc*/ .hBTHee .circle-button-wrapper{width:20;height:20;position:relative;top:33px;left:33px;}/*!sc*/ .hBTHee .author-info{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:1rem;}/*!sc*/ .hBTHee .tooltip-title{color:black;margin:0px;font-size:1.5rem;}/*!sc*/ .hBTHee p{font-size:1.2rem;color:gray;}/*!sc*/ .hBTHee .author-img{width:50px;height:50px;border-radius:50%;margin-right:1rem;}/*!sc*/ .hBTHee img{width:25px;height:25px;margin-right:1rem;}/*!sc*/ .hBTHee .__react_component_tooltip{pointer-events:auto !important;cursor:pointer;opacity:1 !important;max-width:500px;border:1px solid lightgray;box-shadow:0rem 0rem 1rem lightgray;}/*!sc*/ data-styled.g80[id="sc-2ecc4b5d-1"]{content:"hBTHee,"}/*!sc*/ .evreGv{max-width:280px;padding:1rem;text-align:left;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:1.5rem;}/*!sc*/ @media screen and (max-width:750px){.evreGv{max-width:320px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/ @media screen and (max-width:850px){.evreGv{min-width:0px;width:100%;max-width:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;margin-bottom:0px;}}/*!sc*/ .evreGv .articles-wrapper{max-width:300px;}/*!sc*/ .evreGv .date{font-size:1rem;color:gray;}/*!sc*/ .evreGv .img{margin:auto;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;border-radius:1rem;margin-bottom:1rem;}/*!sc*/ .evreGv .img img{object-fit:cover;min-height:150px;}/*!sc*/ @media screen and (max-width:640px){.evreGv .img img{min-height:100px;}}/*!sc*/ .evreGv .text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-direction:column;-ms-flex-line-packalign-direction:column;align-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;min-height:105px;}/*!sc*/ @media screen and (max-width:850px){.evreGv .text{margin:10px 2rem;-webkit-flex:1;-ms-flex:1;flex:1;min-height:0px;}}/*!sc*/ .evreGv .divider-bullet{height:4px;width:4px;border-radius:50%;background:gray;margin:0 0.5rem;}/*!sc*/ @media screen and (max-width:640px){.evreGv .divider-bullet{height:2px;width:2px;}}/*!sc*/ .evreGv .related{background:#138A36;color:white;font-weight:bold;padding:0rem 0.5rem;border-radius:0.5rem;font-size:0.8rem;margin-left:auto;}/*!sc*/ @media screen and (max-width:850px){.evreGv .related{margin:0 2rem;min-height:0px;margin-right:auto;margin-left:0px;}}/*!sc*/ .evreGv .ad-tag{background:gold;color:black;}/*!sc*/ .evreGv .card-title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ @media screen and (max-width:640px){.evreGv .card-title{-webkit-box-pack:start;-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;}}/*!sc*/ .evreGv .card-info{margin-right:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ .evreGv .card-info .author-link{color:lightGray;font-size:1.2rem;}/*!sc*/ .evreGv .card-info .author-link:hover{color:#138A36;}/*!sc*/ @media screen and (max-width:640px){.evreGv .card-info .author-link{margin-right:1rem;}}/*!sc*/ .evreGv div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;}/*!sc*/ .evreGv strong{font-size:2rem;line-height:25px;margin-bottom:10px;}/*!sc*/ @media screen and (max-width:500px){.evreGv strong{fontsize:1.5rem;}}/*!sc*/ .evreGv span{font-size:1.2rem;}/*!sc*/ data-styled.g81[id="sc-65adb81b-0"]{content:"evreGv,"}/*!sc*/ .PcGLU{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform 0.3s ease-in-out;-webkit-transition:transform 0.3s ease-in-out;transition:transform 0.3s ease-in-out;height:100vh;position:fixed;top:0px;left:0;width:400px;background:#131513;}/*!sc*/ @media (max-width:869px){.PcGLU{width:100%;}}/*!sc*/ .PcGLU .close-nav-img{background:#0f0;padding:2px;border-radius:50%;width:20px;height:20px;margin-left:2rem;cursor:pointer;}/*!sc*/ .PcGLU .ais-SearchBox-input{background:#131513;border:none;padding:10px 20px 10px 10px;border-radius:2px;font-size:1.6rem;font-weight:bold;-webkit-transition:all 120ms ease-in-out;transition:all 120ms ease-in-out;color:white;outline:none;}/*!sc*/ @media screen and (max-width:400px){.PcGLU .ais-SearchBox-input{max-width:50vw;}}/*!sc*/ @media screen and (max-width:350px){.PcGLU .ais-SearchBox-input{max-width:40vw;}}/*!sc*/ .PcGLU .ais-SearchBox-input::placeholder{color:lightGray;}/*!sc*/ @media screen and (max-width:400px){.PcGLU .ais-SearchBox-input::-webkit-input-placeholder{font-size:4vw;}.PcGLU .ais-SearchBox-input::-moz-placeholder{font-size:4vw;}.PcGLU .ais-SearchBox-input:-ms-input-placeholder{font-size:4vw;}.PcGLU .ais-SearchBox-input::placeholder{font-size:4vw;}}/*!sc*/ .PcGLU .ais-SearchBox-form button{display:none;}/*!sc*/ .PcGLU.active input{width:100%;}/*!sc*/ @media screen and (min-width:870px){.PcGLU.active input{max-width:100px;}}/*!sc*/ .PcGLU img.search{position:absolute;top:50%;right:20px;width:19px;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;-webkit-filter:grayscale(1);filter:grayscale(1);}/*!sc*/ .PcGLU img.result{object-fit:cover;background-color:transparent !important;width:10px;height:10px;cursor:pointer;}/*!sc*/ .PcGLU .avatar{width:50px;height:50px;padding:0px;}/*!sc*/ data-styled.g87[id="sc-f8930e2-0"]{content:"PcGLU,"}/*!sc*/ .bVfmlv{font-size:1.4rem;-webkit-transition:color 200ms ease;transition:color 200ms ease;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;grid-column:1 / -1 !important;}/*!sc*/ .bVfmlv .story-topLine{display:-webkit-box;display:-webkit-felx;display:-ms-felxbox;display:felx;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .bVfmlv .story-topLine .story-stats,.bVfmlv .story-topLine .story-admin{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .bVfmlv .story-topLine .story-admin a{margin-right:1rem;}/*!sc*/ .bVfmlv .story-topLine span{display:block;}/*!sc*/ .bVfmlv .story-title{font-size:2.5em;margin:1rem 0;}/*!sc*/ @media screen and (max-width:640px){.bVfmlv .story-title{font-size:2.5rem;}}/*!sc*/ .bVfmlv .title-bottom{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-jusitfy-content:space-between;-ms-flex-pack:justify;jusitfy-content:space-between;}/*!sc*/ @media screen and (max-width:640px){.bVfmlv .title-bottom{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/ .bVfmlv .title-bottom div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ @media screen and (max-width:640px){.bVfmlv .title-bottom div{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}}/*!sc*/ .bVfmlv .title-bottom .title-bottom-left{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ .bVfmlv .title-bottom .title-bottom-right{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:auto;}/*!sc*/ .bVfmlv .title-bottom .title-bottom-right span{margin-right:1rem;}/*!sc*/ @media screen and (max-width:640px){.bVfmlv .title-bottom .title-bottom-right{display:none;}}/*!sc*/ .bVfmlv .header-handle{padding:4px 0;font-size:1.8rem;cursor:pointer;color:gray;}/*!sc*/ .bVfmlv .header-handle a{font-weight:bold;}/*!sc*/ @media screen and (max-width:640px){.bVfmlv .header-handle{font-size:1.2rem;}}/*!sc*/ .bVfmlv .profile-tooltip{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:1rem 0px;}/*!sc*/ .bVfmlv .profile-tooltip .__react_component_tooltip{pointer-events:auto !important;cursor:pointer;}/*!sc*/ .bVfmlv .profile-tooltip .profile-tooltip-image{width:50px;height:50px;position:relative;box-shadow:0 0.2em #c2cad6,0 -0.2em #c2cad6, 0.2em 0 #c2cad6,-0.2em 0 #c2cad6;}/*!sc*/ .bVfmlv .profile-tooltip .profile-tooltip-top{margin-right:auto;}/*!sc*/ .bVfmlv .profile-tooltip .profile-tooltip-details{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-left:1rem;}/*!sc*/ .bVfmlv .profile-tooltip .profile-tooltip-details h2{margin:0;font-size:1.8rem;width:100%;color:#0f0;}/*!sc*/ .bVfmlv .profile-tooltip .profile-tooltip-details h3{margin:0;font-size:1.2rem;width:100%;color:#0f0;}/*!sc*/ .bVfmlv .profile-tooltip p{margin-top:5px;max-width:200px;}/*!sc*/ .bVfmlv .divider-bullet{height:4px;width:4px;border-radius:50%;background:gray;margin:0 1.5rem;}/*!sc*/ @media screen and (max-width:640px){.bVfmlv .divider-bullet{height:2px;width:2px;}}/*!sc*/ .bVfmlv .divider-line{border-top:1px solid rgba(0,0,0,0.1);margin:1rem 0 2rem 0;}/*!sc*/ .bVfmlv .reading-time,.bVfmlv .published-date{font-size:1.8rem;color:gray;}/*!sc*/ @media screen and (max-width:640px){.bVfmlv .reading-time,.bVfmlv .published-date{font-size:1.2rem;}}/*!sc*/ .bVfmlv .tldr-langs{display:-webkit-box;display:-webkit-felx;display:-ms-felxbox;display:felx;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;text-align:center;}/*!sc*/ .bVfmlv .tldr-content h2{margin:1rem 0 0 0;}/*!sc*/ .bVfmlv .tldr-no-show{height:0;width:0;overflow:hidden;}/*!sc*/ .bVfmlv .mentions-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .bVfmlv .mentions-container .mentions-box{background:whitesmoke;padding:1rem;border-radius:1rem;margin-top:1rem;margin-right:1rem;}/*!sc*/ .bVfmlv .mentions-container h3{font-size:1.5rem;margin:0px;color:gray;font-weight:500;}/*!sc*/ .bVfmlv .mentions-container .mentions-img-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:1rem;}/*!sc*/ .bVfmlv .metaContainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;row-gap:10px;}/*!sc*/ .bVfmlv .metaContainer:first-child a{border-radius:5px;-webkit-align-self:baseline;-ms-flex-item-align:baseline;align-self:baseline;}/*!sc*/ .bVfmlv .metaContainer:last-child{gap:15px;}/*!sc*/ .bVfmlv .viewMoreBtn{border:0;padding:10px;background-color:#073b00;color:#fff;border-radius:5px;cursor:pointer;}/*!sc*/ .bVfmlv .viewMoreBtn .arrowIcon{margin-left:30px;-webkit-transition:1s;transition:1s;}/*!sc*/ .bVfmlv .viewMoreBtn:hover .arrowIcon{-webkit-transform:rotate(365deg);-ms-transform:rotate(365deg);transform:rotate(365deg);}/*!sc*/ .bVfmlv .actionBtnContainer{position:absolute;border:1px solid #474747 !important;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border:2px solid;-webkit-transform:translate(0px,10px);-ms-transform:translate(0px,10px);transform:translate(0px,10px);background-color:#073b00;z-index:1;}/*!sc*/ .bVfmlv .actionBtnContainer span{padding:5px 10px;color:#fff;cursor:pointer;}/*!sc*/ .bVfmlv .actionBtnContainer span:hover{background-color:#03b044;-webkit-transition:0.5s;transition:0.5s;}/*!sc*/ .bVfmlv .story-rank{background:#f6f7f9;color:#3c3c3b;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-jusitfy-content:center;-ms-flex-pack:center;jusitfy-content:center;border-radius:0.5rem;padding:0.5rem 0.5rem;}/*!sc*/ .bVfmlv .story-rank:hover{cursor:pointer;}/*!sc*/ .bVfmlv .booster-btn{padding:4px 15px;margin-right:1rem;max-height:33.3px;border-radius:0.5rem;border:0px;background:#1e5500;color:#05ff00;font-weight:600;font-size:16px;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;}/*!sc*/ .bVfmlv .booster-btn svg path{fill:#05ff00;}/*!sc*/ .bVfmlv .story-stat{background:#f6f7f9;color:#3c3c3b;padding:4px;margin-right:1rem;max-height:33.3px;border-radius:0.5rem;}/*!sc*/ .bVfmlv .story-stat svg{fill:#3c3c3b;}/*!sc*/ @media only screen and (max-width:640px){.bVfmlv .story-stat{margin:0;}}/*!sc*/ @media only screen and (max-width:375px){.bVfmlv .bookmark{margin-left:0;}}/*!sc*/ .bVfmlv small{margin-right:10px;}/*!sc*/ @media only screen and (max-width:500px){.bVfmlv small{margin-right:0;}}/*!sc*/ .bVfmlv .vertical{width:0px;height:15px;border:1px solid #7e7e7e;}/*!sc*/ @media only screen and (min-width:640px){.bVfmlv .desktop-no-show{display:none !important;}}/*!sc*/ @media only screen and (max-width:640px){.bVfmlv .mobile-no-show{display:none !important;}}/*!sc*/ .bVfmlv .first-place,.bVfmlv .second-place,.bVfmlv .third-place{-webkit-animation:zoomInRotate 2s ease-in-out;animation:zoomInRotate 2s ease-in-out;}/*!sc*/ data-styled.g92[id="sc-f1bf4939-0"]{content:"bVfmlv,"}/*!sc*/ .jZPgiB{width:95px;height:31px;background-color:#00ff00;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;border:1px solid;padding:10px;font-weight:bold;cursor:pointer;background-color:#003a00;border-radius:10px;}/*!sc*/ .jZPgiB .tldr-arrow-animation{-webkit-transition:0.5s all;transition:0.5s all;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}/*!sc*/ .jZPgiB:hover{-webkit-transform:scale(1.1,1.1);-ms-transform:scale(1.1,1.1);transform:scale(1.1,1.1);}/*!sc*/ data-styled.g93[id="sc-f1bf4939-1"]{content:"jZPgiB,"}/*!sc*/ .fJeYzW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .fJeYzW .trendingStory{font-size:20px;color:#666105;}/*!sc*/ .fJeYzW .service-tooltip{width:800px;opacity:1 !important;}/*!sc*/ data-styled.g95[id="sc-f1bf4939-3"]{content:"fJeYzW,"}/*!sc*/ .fBrYVy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-right:15px;gap:10px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ @media screen and (max-width:610px){.fBrYVy{gap:5px;}}/*!sc*/ @media only screen and (max-width:375px){.fBrYVy{margin-right:0px;}}/*!sc*/ data-styled.g96[id="sc-f1bf4939-4"]{content:"fBrYVy,"}/*!sc*/ .gejnKI{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media screen and (max-width:666px){.gejnKI{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/ data-styled.g97[id="sc-f1bf4939-5"]{content:"gejnKI,"}/*!sc*/ .gOsVhx > pre{overflow-x:scroll;max-width:100%;overflow:hidden;}/*!sc*/ .gOsVhx .annot{background-color:#ffff00;color:#212428;-webkit-transition:background-color 0.3s;transition:background-color 0.3s;}/*!sc*/ .gOsVhx .annot:hover{background-color:#ffff99;cursor:pointer;}/*!sc*/ .gOsVhx pre code{white-space:pre;overflow-x:scroll;width:800px;display:block;}/*!sc*/ @media screen and (max-width:1000px){.gOsVhx pre code{max-width:95vw;}}/*!sc*/ .gOsVhx .previewWarning,.gOsVhx .previewWarning > a{color:#a09a00;text-align:center;margin-bottom:10px;}/*!sc*/ .gOsVhx ul,.gOsVhx ol{padding-left:20px;margin:0;word-break:break-word;}/*!sc*/ .gOsVhx ol ol{list-style:lower-alpha;}/*!sc*/ .gOsVhx ol ol ol{list-style:lower-roman;}/*!sc*/ .gOsVhx .edit-story{text-align:center;margin:-40px 0 0 0;}/*!sc*/ .gOsVhx > figure{margin:0 auto;}/*!sc*/ .gOsVhx > figure > figcaption{font-size:1rem;}/*!sc*/ .gOsVhx figure,.gOsVhx .image-container{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;justify-self:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;max-width:90vw;}/*!sc*/ .gOsVhx figure img,.gOsVhx .image-container img{cursor:pointer;max-width:90vw;}/*!sc*/ .gOsVhx figure span,.gOsVhx .image-container span{position:initial !important;}/*!sc*/ .gOsVhx figure.feat,.gOsVhx .image-container.feat{grid-column:1 / -1;min-width:100%;border-radius:5px;}/*!sc*/ @media screen and (min-width:768px){.gOsVhx figure.feat .react-loading-skeleton,.gOsVhx .image-container.feat .react-loading-skeleton{height:450px !important;}}/*!sc*/ .gOsVhx .left-50,.gOsVhx .right-50{width:50%;margin-bottom:1em;clear:initial;}/*!sc*/ .gOsVhx .left-50{float:left;margin-right:2em;}/*!sc*/ .gOsVhx .right-50{float:right;margin-left:2em;}/*!sc*/ .gOsVhx .image-caption{line-height:0;display:block;margin:0;border:0px;display:block;font-size:13px;font-style:italic;font-weight:normal;color:rgb(78,92,110);padding:2px 0px;line-height:16px;text-align:center;min-height:1em;outline:none;background:none;resize:none;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:text;}/*!sc*/ .gOsVhx .youtube-container{position:relative;padding-bottom:56.25%;padding-top:25px;height:0;}/*!sc*/ .gOsVhx .youtube-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;}/*!sc*/ .gOsVhx .embed-hn-story{box-shadow:#b9ffb9 0px 0.2em,#b9ffb9 0px -0.2em,#b9ffb9 0.2em 0px,#b9ffb9 -0.2em 0px,#0f0 0.2em 0.4em, #0f0 0.4em 0.2em,#005e00 0.4em 0.6em,#005e00 0.6em 0.4em;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 auto;max-width:450px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ .gOsVhx .embed-hn-story .card-image-container img{height:100%;width:100%;object-fit:contain;}/*!sc*/ .gOsVhx .embed-hn-story .card-info h4{margin:0 5px;}/*!sc*/ .gOsVhx .embed-hn-story .card-info span{display:-webkit-box;font-size:13px;margin:5px;height:2.6em;max-height:2.6em;margin-top:0.32333em;line-height:1.3em;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;}/*!sc*/ .gOsVhx .codepen-container,.gOsVhx .codesandbox-container{grid-column:1 / -1;}/*!sc*/ .gOsVhx .codepen-container iframe,.gOsVhx .codesandbox-container iframe{border:none;border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,0.1);width:100%;height:500px;}/*!sc*/ .gOsVhx > blockquote{font-size:2rem;word-break:break-word;font-style:italic;margin-left:0;margin-right:0;padding:2rem 0;text-align:left;}/*!sc*/ @media screen and (min-width:768px){.gOsVhx > blockquote{font-size:2.5rem;}}/*!sc*/ .gOsVhx .paragraph{min-width:0;margin:0 0 25px 0;word-wrap:break-word;}/*!sc*/ .gOsVhx .line-space{margin:0 !important;}/*!sc*/ .gOsVhx h2{font-size:1.5em;}/*!sc*/ .gOsVhx .reactions{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:6px;}/*!sc*/ .gOsVhx .paragraph a,.gOsVhx .slogging a,.gOsVhx blockquote a,.gOsVhx p a,.gOsVhx .h2 a,.gOsVhx .h3 a,.gOsVhx .h4 a,.gOsVhx ul li a,.gOsVhx ol li a,.gOsVhx h1 a,.gOsVhx h2 a,.gOsVhx h3 a{color:black;padding:2px 0 1px 0;background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,0.35) calc(50% - 9px), rgba(0,255,0,0.35) 100% );-webkit-transition:background-position 120ms ease-in-out,padding 120ms ease-in-out;transition:background-position 120ms ease-in-out,padding 120ms ease-in-out;background-size:100% 200%;background-position:0 0;word-break:break-word;}/*!sc*/ .gOsVhx .paragraph a:hover,.gOsVhx .slogging a:hover,.gOsVhx blockquote a:hover,.gOsVhx p a:hover,.gOsVhx .h2 a:hover,.gOsVhx .h3 a:hover,.gOsVhx .h4 a:hover,.gOsVhx ul li a:hover,.gOsVhx ol li a:hover,.gOsVhx h1 a:hover,.gOsVhx h2 a:hover,.gOsVhx h3 a:hover{background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,1) calc(50% - 9px), rgba(0,255,0,1) 100% );background-position:0 100%;}/*!sc*/ .gOsVhx .paragraph a:focus,.gOsVhx .slogging a:focus,.gOsVhx blockquote a:focus,.gOsVhx p a:focus,.gOsVhx .h2 a:focus,.gOsVhx .h3 a:focus,.gOsVhx .h4 a:focus,.gOsVhx ul li a:focus,.gOsVhx ol li a:focus,.gOsVhx h1 a:focus,.gOsVhx h2 a:focus,.gOsVhx h3 a:focus{text-shadow:1px 1px 0 #0b0;}/*!sc*/ .gOsVhx tr,.gOsVhx th,.gOsVhx td{border:1px solid;border-collapse:collapse;}/*!sc*/ .gOsVhx th{width:300px;}/*!sc*/ .gOsVhx table{width:100%;border-spacing:0;}/*!sc*/ .gOsVhx .tags{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ .gOsVhx .skeleton.meta{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;}/*!sc*/ .gOsVhx .skeleton.meta > div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .gOsVhx .skeleton.meta > div:first-child{justify-self:start;}/*!sc*/ .gOsVhx .skeleton.meta > div:last-child{justify-self:end;}/*!sc*/ data-styled.g101[id="sc-b3825269-0"]{content:"gOsVhx,"}/*!sc*/ .QdoCq{position:fixed;z-index:10;background-color:white;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#3c3c3b;border:1px solid white;border-radius:5px;}/*!sc*/ .QdoCq button{background-color:#3c3c3b;border:none;margin-left:10px;color:white;}/*!sc*/ .QdoCq button:hover{cursor:pointer;}/*!sc*/ data-styled.g109[id="sc-b3825269-8"]{content:"QdoCq,"}/*!sc*/ .bMIQeQ{width:20px;height:20px;position:absolute;bottom:-10px;left:30px;z-index:-1;background-color:#3c3c3b;border-bottom:1px solid white;border-right:1px solid white;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}/*!sc*/ data-styled.g110[id="sc-b3825269-9"]{content:"bMIQeQ,"}/*!sc*/ .bCtPus{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100vh;-webkit-transition:-webkit-transform 0.3s ease-in-out,opacity 0.3s ease-in-out;-webkit-transition:transform 0.3s ease-in-out,opacity 0.3s ease-in-out;transition:transform 0.3s ease-in-out,opacity 0.3s ease-in-out;position:fixed;top:0px;right:0;width:350px;display:none;pointer-events:none;background-color:#111;color:#fff;}/*!sc*/ .bCtPus .section-title{font-family:IBM Plex Mono;text-transform:uppercase;color:silver;font-size:2rem;word-spacing:5px;}/*!sc*/ .bCtPus .colorPickerIcon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media (max-width:869px){.bCtPus{width:100%;}}/*!sc*/ .bCtPus .mobile-header-left{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;min-height:40px;}/*!sc*/ .bCtPus .hackernoon-logo{background:#0f0;padding:3px;border-radius:5px;width:30px;height:30px;margin:0 1rem;}/*!sc*/ .bCtPus .header-icon{cursor:pointer;}/*!sc*/ .bCtPus .header-icon svg{fill:white;}/*!sc*/ .bCtPus .header-icon:hover{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);}/*!sc*/ .bCtPus .close-nav-img{background:#0f0;padding:2px;border-radius:50%;width:20px;height:20px;margin-left:2rem;cursor:pointer;}/*!sc*/ .bCtPus .mobile-header{color:white;padding:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#131513;}/*!sc*/ .bCtPus .mobile-header a{color:#0f0;}/*!sc*/ .bCtPus .mobile-header .mobile-auth{margin-right:1rem;border:1px solid white;padding:2px 5px;color:white;font-size:1.6rem;border-radius:3px;}/*!sc*/ .bCtPus .mobile-header .active-mobile-auth{background:#0f0;border:1px solid #0f0;color:#212428;font-weight:bold;}/*!sc*/ .bCtPus .profile-section,.bCtPus .noti-section,.bCtPus .color-section{background:#131513;height:95vh;}/*!sc*/ .bCtPus .profile-item{padding:1rem 2rem;font-family:HackerNoon;font-size:2.7rem;}/*!sc*/ .bCtPus .profile-item a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex:1;-ms-flex:1;flex:1;color:silver;}/*!sc*/ .bCtPus .profile-item a svg{fill:gold;display:none;}/*!sc*/ .bCtPus .profile-item a:hover{color:lightgreen;}/*!sc*/ .bCtPus .profile-item a:hover svg{display:block;}/*!sc*/ data-styled.g123[id="sc-1a5d171d-0"]{content:"bCtPus,"}/*!sc*/ .kudhnc{background:#131513;font-weight:bold;font-size:1.4rem;touch-action:auto;overflow-y:scroll;height:100vh;}/*!sc*/ .kudhnc::-webkit-scrollbar{width:0px;}/*!sc*/ .kudhnc::-webkit-scrollbar-track{background:#131513;}/*!sc*/ .kudhnc::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:6px;width:8px;}/*!sc*/ .kudhnc button{cursor:pointer;}/*!sc*/ .kudhnc .tab-close-img{margin-top:0.5rem;background:gold;padding:2px;border-radius:50%;width:15px;height:15px;margin-left:1rem;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}/*!sc*/ .kudhnc .tab-open-img{margin-top:1rem;background:rgba(255,255,255,0.2);padding:2px;border-radius:50%;width:15px;height:15px;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}/*!sc*/ .kudhnc button{border:0;background:transparent;color:white;font-weight:bold;}/*!sc*/ .kudhnc .mobile-main{background:#131513;padding:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:scroll;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;}/*!sc*/ .kudhnc .mobile-main::-webkit-scrollbar{display:none;}/*!sc*/ .kudhnc .main-wrapper{padding:0.5rem 1rem;border-radius:1rem;}/*!sc*/ .kudhnc .external-link{margin-left:1rem;}/*!sc*/ .kudhnc .external-link svg{margin-left:1rem;fill:lightgreen;}/*!sc*/ .kudhnc .external-link svg:hover{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);fill:#0f0;}/*!sc*/ .kudhnc .main-header-top{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:pointer;font-size:2rem;color:sliver;font:IBM Plex Mono;}/*!sc*/ .kudhnc .main-header-top svg{display:none;}/*!sc*/ .kudhnc .main-header-top:hover svg{margin-left:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .kudhnc .main-header-top button{-webkit-flex:1;-ms-flex:1;flex:1;text-align:end;height:40px;}/*!sc*/ .kudhnc .sub-wrapper{margin-left:1rem;color:white;}/*!sc*/ .kudhnc .sub-wrapper .sub-title-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .kudhnc .sub-wrapper .sub-title-wrapper svg{display:none;fill:gray;}/*!sc*/ .kudhnc .sub-wrapper .sub-title-wrapper:hover svg{display:block;margin-left:auto;fill:gray;}/*!sc*/ .kudhnc .sub-wrapper .sub-title-wrapper:hover .sub-link{color:lightgray;}/*!sc*/ .kudhnc .sub-wrapper .sub-open-button{-webkit-flex:1;-ms-flex:1;flex:1;color:#0b0;-webkit-transition:-webkit-transform 0.3s linear;-webkit-transition:transform 0.3s linear;transition:transform 0.3s linear;}/*!sc*/ .kudhnc .sub-wrapper .sub-link{padding-top:1rem;cursor:pointer;color:gray;font-size:2rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .kudhnc .sub-wrapper .sub-link a,.kudhnc .sub-wrapper .sub-link span{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .kudhnc .sub-wrapper .sub-link-active{margin-top:1rem;-webkit-transition:-webkit-transform 0.3s linear;-webkit-transition:transform 0.3s linear;transition:transform 0.3s linear;font-size:2rem;}/*!sc*/ .kudhnc .sub-wrapper .sub-link-active svg{fill:lightgreen;margin-left:0.5rem;}/*!sc*/ .kudhnc .sub-wrapper .sub-link-active svg:hover{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);fill:#0f0;}/*!sc*/ .kudhnc .sub-wrapper .sub-link-active a,.kudhnc .sub-wrapper .sub-link-active span{color:gold;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .kudhnc .link-wrapper{color:white;max-height:200px;overflow:scroll;border-radius:0.5rem;margin:1rem 0;background:rgba(0,0,0,0.2);-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;}/*!sc*/ .kudhnc .link-wrapper::-webkit-scrollbar{display:none;}/*!sc*/ .kudhnc .link-wrapper ul{list-style:none;padding:0px;margin:0px;}/*!sc*/ .kudhnc .link-wrapper ul span{min-width:200px;margin-top:0.5rem;}/*!sc*/ .kudhnc .link-wrapper .subsub-link{color:gray;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:100px;padding:0.5rem 0.5rem 0.2rem 1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:1.5rem;border-bottom:1px solid rgba(255,255,255,0.1);}/*!sc*/ .kudhnc .link-wrapper .subsub-link svg{display:none;fill:lightgreen;}/*!sc*/ .kudhnc .link-wrapper .subsub-link:hover{color:lightgray;}/*!sc*/ .kudhnc .link-wrapper .subsub-link:hover svg{display:block;}/*!sc*/ @media screen and (min-width:870px){}/*!sc*/ data-styled.g124[id="sc-1a5d171d-1"]{content:"kudhnc,"}/*!sc*/ .gryifz{position:-webkit-sticky;position:sticky;top:0;z-index:5;-webkit-transition:-webkit-transform 200ms ease-in-out;-webkit-transition:transform 200ms ease-in-out;transition:transform 200ms ease-in-out;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}/*!sc*/ @media screen and (min-width:870px){.gryifz{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}/*!sc*/ .gryifz .openSearch_btn{background:#212428;border:1px solid rgba(255,255,255,0.3);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:10px 20px 10px 10px;border-radius:5px;font-size:1.6rem;font-weight:bold;-webkit-transition:all 120ms ease-in-out;transition:all 120ms ease-in-out;color:white;outline:none;cursor:pointer;}/*!sc*/ .gryifz .openSearch_btn img{-webkit-filter:grayscale(1);filter:grayscale(1);margin-left:1rem;}/*!sc*/ .gryifz .bar-icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;margin-right:1rem;}/*!sc*/ .gryifz .noti-icon{width:25px;height:25px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:0 2rem 0 1rem;cursor:pointer;}/*!sc*/ @media screen and (max-width:700px){.gryifz .noti-icon{display:none;}}/*!sc*/ .gryifz .mobile-search-icon{display:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-right:2.5rem;cursor:pointer;}/*!sc*/ @media screen and (max-width:870px){.gryifz .mobile-search-icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}/*!sc*/ .gryifz .algolia{max-height:50px;padding:15px;float:right;}/*!sc*/ .gryifz .mainNav{background-color:#0f0;-webkit-transition:background-color 200ms ease;transition:background-color 200ms ease;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ .gryifz .mainNav .logo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;z-index:1;margin:1rem;}/*!sc*/ .gryifz .mainNav .logo img{image-rendering:pixelated;}/*!sc*/ .gryifz .mainNav .ukraineHeader{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media screen and (max-width:870px){.gryifz .mainNav .ukraineHeader{display:none;}}/*!sc*/ .gryifz .mainNav .ukraineHeader h2{font-size:24px;color:black;font-weight:normal;font-family:"HackerNoon";margin:0;padding:0;}/*!sc*/ .gryifz .mainNav .ukraineHeader img{width:40px;height:40px;}/*!sc*/ .gryifz .mainNav . .logo + form + div,.gryifz .mainNav > .profile,.gryifz .mainNav > .cta-button{display:none;margin-right:1rem;}/*!sc*/ @media screen and (min-width:870px){.gryifz .mainNav . .logo + form + div,.gryifz .mainNav > .profile,.gryifz .mainNav > .cta-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}/*!sc*/ .gryifz .mainNav .left-portion{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:1rem;display:none;}/*!sc*/ @media screen and (min-width:870px){.gryifz .mainNav .left-portion{min-width:335px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}/*!sc*/ .gryifz .mainNav .right-portion{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media screen and (min-width:1024px){.gryifz .mainNav .right-portion{min-width:345px;}}/*!sc*/ .gryifz .mainNav .search-container{color:black;position:relative;margin-right:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ .gryifz .mainNav .input-holder{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;outline:none;}/*!sc*/ .gryifz .mainNav > a:not(.logo):not(.cta-button):not(.profile){padding:0 10px;color:#003b00;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .gryifz .mainNav .profile-img-wrapper{cursor:pointer;}/*!sc*/ .gryifz .mainNav .profile .profileImage{display:block;box-shadow:0 0.15em , 0 -0.15em , 0.15em 0 , -0.15em 0;}/*!sc*/ .gryifz .mainNav .profile .profileImage:hover,.gryifz .mainNav .profile .profileImage:focus{box-shadow:0 0.15em , 0 -0.15em , 0.15em 0 , -0.15em 0;}/*!sc*/ .gryifz .mainNav .profile .profileImage:span{overflow:visible !important;}/*!sc*/ .gryifz .mainNav .profile .profileImage:span img{border-radius:var(--m);box-shadow:0 4px 16px 0 rgba(0,0,0,0.15);}/*!sc*/ .gryifz .mainNav > a > img{max-height:40px;}/*!sc*/ .gryifz .desktop{display:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .gryifz .mobile{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:870px){.gryifz .desktop{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.gryifz .mobile{display:none;}}/*!sc*/ .gryifz .react-loading-skeleton{position:relative;top:-7px;}/*!sc*/ data-styled.g125[id="sc-5c798089-0"]{content:"gryifz,"}/*!sc*/ .dCUCwc{margin-left:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .dCUCwc .auth-button{margin-left:1rem;font-family:'IBM Plex Mono',monospace;color:#212428 !important;background:#0f0 !important;border-color:#003b00 !important;}/*!sc*/ .dCUCwc .auth-button:hover{background:#003b00 !important;color:#e1fbcf !important;}/*!sc*/ @media screen and (max-width:700px){.dCUCwc{display:none;}}/*!sc*/ .dCUCwc > *{margin-left:10px;}/*!sc*/ data-styled.g126[id="sc-5c798089-1"]{content:"dCUCwc,"}/*!sc*/ html{box-sizing:border-box;font-size:10px;line-height:1.666;}/*!sc*/ *,*:before,*:after{box-sizing:inherit;}/*!sc*/ .spin{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:5000ms;animation-duration:5000ms;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear;}/*!sc*/ @-webkit-keyframes spin{from{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}/*!sc*/ @keyframes spin{from{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}/*!sc*/ body{padding:0;margin:0;font-size:1.75rem;font-family:'IBM Plex Sans',sans-serif;color:#3c3c3b;-webkit-transition:background-color 200ms ease;transition:background-color 200ms ease;-webkit-transition:color 200ms ease;transition:color 200ms ease;overflow-x:hidden;background:#FFFFFF;}/*!sc*/ body span.highlight{background:#9cffa3;}/*!sc*/ h1,h2,h3{-webkit-letter-spacing:0px;-moz-letter-spacing:0px;-ms-letter-spacing:0px;letter-spacing:0px;font-family:'IBM Plex Mono',monospace;line-height:1.4;margin-bottom:3rem;}/*!sc*/ h1{font-size:1.75em;}/*!sc*/ h2{font-size:1.5rem;}/*!sc*/ a,button{outline:none;}/*!sc*/ a{color:#3c3c3b;-webkit-transition:color 200ms ease;transition:color 200ms ease;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ a[disabled]{opacity:0.75;cursor:not-allowed;}/*!sc*/ input::-webkit-input-placeholder{font-style:italic;opacity:1;}/*!sc*/ input::-moz-placeholder{font-style:italic;opacity:1;}/*!sc*/ input:-ms-input-placeholder{font-style:italic;opacity:1;}/*!sc*/ input::placeholder{font-style:italic;opacity:1;}/*!sc*/ p code{background:#f5f2f0;}/*!sc*/ textarea{background:#ffffff;color:#000000;}/*!sc*/ .ReactModal__Overlay{z-index:5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .iub__us-widget{background:#131513;}/*!sc*/ .iub__us-widget a{color:unset !important;}/*!sc*/ body.dark-mode{background-color:#212428;color:#f6f7f9;}/*!sc*/ body.dark-mode input{background-color:#212428;background:#212428;color:#f6f7f9;}/*!sc*/ body.dark-mode input:not([type="checkbox"]),body.dark-mode textarea,body.dark-mode select{background-color:#212428;background:#212428;color:#f6f7f9;}/*!sc*/ body.dark-mode .badgeColors{background:#212428;}/*!sc*/ body.dark-mode .search{border:0px solid #0b0;}/*!sc*/ body.dark-mode .quote-header{background:black;}/*!sc*/ body.dark-mode .paragraph a,body.dark-mode .slogging a,body.dark-mode blockquote a,body.dark-mode p a,body.dark-mode .h2 a,body.dark-mode .h3 a,body.dark-mode .h4 a,body.dark-mode ul li a,body.dark-mode ol li a,body.dark-mode h1 a,body.dark-mode h2 a,body.dark-mode h3 a{color:#f6f7f9;}/*!sc*/ body.dark-mode .highlight{background:#0b0;color:#f6f7f9;}/*!sc*/ body.dark-mode .bg-white{background-color:#212428;}/*!sc*/ body.dark-mode .text-black{color:#f6f7f9;}/*!sc*/ body.dark-mode a{color:#f6f7f9;}/*!sc*/ body.dark-mode .coin-description a{color:#f6f7f9;}/*!sc*/ body.dark-mode mark a{color:#3c3c3b;}/*!sc*/ body.dark-mode li h2 a{color:#f6f7f9;}/*!sc*/ body.dark-mode a.edit-link{color:#8595ad;}/*!sc*/ body.dark-mode .paragraph code,body.dark-mode main > div > ul code{color:#c2cad6;background:black;}/*!sc*/ body.dark-mode pre{background:black;}/*!sc*/ body.dark-mode:not(pre)>code[class*=language-],body.dark-mode pre[class*=language-]{background:black;}/*!sc*/ body.dark-mode code{color:#c2cad6;background:black;}/*!sc*/ body.dark-mode .tags a,body.dark-mode .tag a{color:#c1cad4;}/*!sc*/ body.dark-mode .paragraph a:hover,body.dark-mode h1 a:hover,body.dark-mode h3 a:hover,body.dark-mode .paragraph a:focus,body.dark-mode h1 a:focus,body.dark-mode h3 a:focus{background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), rgba(0,255,0,1) calc(50% - 9px), rgba(0,255,0,1) 100% );color:#212428;}/*!sc*/ body.dark-mode .tooltip-title{color:white;}/*!sc*/ body.dark-mode .authorBio-section{background:rgba(0,0,0,0.2);}/*!sc*/ body.dark-mode .poll_comments{background:rgba(0,0,0,0.2);}/*!sc*/ body.dark-mode .ProseMirror{background:#212428 !important;color:white;}/*!sc*/ body.dark-mode .comment-block{background:#212428;color:white;}/*!sc*/ body.dark-mode .comment-block a{color:white;}/*!sc*/ body.dark-mode .comment-block p{color:white;}/*!sc*/ body.dark-mode .bio-cta{background:rgba(0,0,0,0.2) !important;color:lightGray !important;}/*!sc*/ body.dark-mode .fs-hn-cta{background:#138A36;}/*!sc*/ body.dark-mode .story-rank{background:#3c3c3b;color:#f6f7f9;}/*!sc*/ body.dark-mode .story-stat{background:#3c3c3b !important;color:#f6f7f9 !important;}/*!sc*/ body.dark-mode .lang{background-color:black;}/*!sc*/ body.dark-mode .story-stat svg{fill:#f6f7f9;}/*!sc*/ body.dark-mode header.tagged-header{background:black;}/*!sc*/ body.dark-mode header .lang-button,body.dark-mode header .purr-cat-button{background:black;border:2px solid white;}/*!sc*/ body.dark-mode header .lang-button:hover,body.dark-mode header .purr-cat-button:hover{background:darkGreen;color:white;}/*!sc*/ body.dark-mode header .lang-button:hover img,body.dark-mode header .purr-cat-button:hover img{background:lightGreen;}/*!sc*/ body.dark-mode header .lang-button img,body.dark-mode header .purr-cat-button img{margin-right:1rem;background:lightgreen;}/*!sc*/ body.dark-mode .mainNav{background-color:#0b0;}/*!sc*/ body.dark-mode .mainNav .tippy-box li a,body.dark-mode .mainNav .tippy-box button{background-color:#0b0;color:#f6f7f9;}/*!sc*/ body.dark-mode .mainNav .tippy-box li a:hover,body.dark-mode .mainNav .tippy-box button:hover{background-color:#62ff86;}/*!sc*/ body.dark-mode button.subscribe{color:#f6f7f9;border:2px solid #f6f7f9;}/*!sc*/ body.dark-mode .footer a{color:inherit;}/*!sc*/ body.dark-mode .story-nav{background:#3c3c3b;}/*!sc*/ body.dark-mode i.fa-bookmark{color:#c1cad4;}/*!sc*/ body.dark-mode .verified img{-webkit-filter:brightness(0.5) saturate(0.8);filter:brightness(0.5) saturate(0.8);}/*!sc*/ body.dark-mode .download-button{background:#020;}/*!sc*/ body.dark-mode .mint{background:#212428;border:2px solid #8595ad;box-shadow:#52627a 0.2em 0.2em;}/*!sc*/ body.dark-mode .mint:hover{background-color:#52627a;}/*!sc*/ body.dark-mode .chart{background:#212428;}/*!sc*/ body.dark-mode .chart .tooltip{background:#212428;}/*!sc*/ body.dark-mode .chart .chart-misc .date-pickers button{color:#8595ad;border:2px solid #8595ad;}/*!sc*/ body.dark-mode .powered img{-webkit-filter:invert(1);filter:invert(1);}/*!sc*/ body.dark-mode .OTDwrapper{background:#212428;}/*!sc*/ body.dark-mode .sectionTitle{background:#212428;}/*!sc*/ body.dark-mode .yearBtn{color:#52627a;}/*!sc*/ body.dark-mode .onthisdayLayout{background:#212428;}/*!sc*/ body.dark-mode .OnThisDay{background:black;}/*!sc*/ body.dark-mode .cloudyBottom{margin:auto;}/*!sc*/ body.dark-mode .cloudyBottom span{background:black !important;}/*!sc*/ body.dark-mode .rec-arrow{color:white !important;}/*!sc*/ body.dark-mode .rec-arrow:hover{background:#3c3c3b !important;}/*!sc*/ body.dark-mode button.rec-arrow:active,body.dark-mode button.rec-arrow:focus{background-color:black !important;color:white !important;}/*!sc*/ body.dark-mode small.date{color:whitesmoke;}/*!sc*/ body.dark-mode .rec-dot{box-shadow:0 0 1px 3px #3c3c3b;}/*!sc*/ body.dark-mode button.rec-dot_active{box-shadow:0 0 1px 3px #c2cad6;background:#c2cad6;}/*!sc*/ body.dark-mode .rec-carousel-wrapper{background:#212428;}/*!sc*/ body.dark-mode .page-header{background:#3c3c3b;border-bottom:1rem solid #0b0;}/*!sc*/ body.dark-mode .page-header span{background:#0b0;}/*!sc*/ body.dark-mode .storiesTitle{background:#0b0;}/*!sc*/ body.dark-mode .storiesTitle span{background:#0b0;color:#FFFFFF;}/*!sc*/ body.dark-mode .year-header{background:#3c3c3b;color:#62ff86;}/*!sc*/ body.dark-mode .addEventWrapper{background:rgba(0,187,0,0.6);}/*!sc*/ body.dark-mode .addEventWrapper .addEventBtn{color:#62ff86;}/*!sc*/ body.dark-mode .eventsContainer{background:rgba(0,187,0,.4);}/*!sc*/ body.dark-mode .eventCard{border:1px solid #003b00;background:rgba(0,187,0,0.6);}/*!sc*/ body.dark-mode .onthisdayModal{background:rgba(98,255,134,0.5);}/*!sc*/ body.dark-mode .onthisdayModal form .editCard{background:rgba(255,255,255,0.5);}/*!sc*/ body.dark-mode .onthisdayModal form .learnmoreBtn{color:#212428;}/*!sc*/ body.dark-mode .carousel-card{border:2px solid #3c3c3b;background:transparent;}/*!sc*/ body.dark-mode .profile_info_top,body.dark-mode .profile_info_bottom,body.dark-mode .author-stats,body.dark-mode .BadgesContainer,body.dark-mode .sub-btn{background:rgba(0,0,0,0.3) !important;}/*!sc*/ body.dark-mode .story-card{border:2px solid #3c3c3b;}/*!sc*/ @media screen and (max-width:768px){body.dark-mode .story-card{background:black;}}/*!sc*/ body.dark-mode .card-reactions .emojis{background:#3c3c3b;color:white;}/*!sc*/ body.dark-mode .card-reactions .emojis svg{fill:white;}/*!sc*/ body.dark-mode .story-card-alt{background:black;}/*!sc*/ body.dark-mode .ad-tag{color:black;border:1px solid black;}/*!sc*/ body.dark-mode .votingButton{background:#3c3c3b;color:#f6f7f9;}/*!sc*/ body.dark-mode .votingButton:hover{background:rgb(144,238,144);color:#3c3c3b;}/*!sc*/ body.dark-mode .classicFooterColor a{color:#00ff00 !important;}/*!sc*/ body.dark-mode .react-tabs ul li:last-child{border-right:3px solid transparent;}/*!sc*/ body.dark-mode .react-tabs ul .inactive:hover{background:#52627a;}/*!sc*/ body.dark-mode .react-tabs ul::before,body.dark-mode .react-tabs ul::after{border-bottom:3px solid #8595ad;}/*!sc*/ body.dark-mode .quoteBox{border:1px solid #52627a;}/*!sc*/ body.dark-mode .storyCards{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 auto;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-animation:fadein 1s;-moz-animation:fadein 1s;-ms-animation:fadein 1s;-o-animation:fadein 1s;-webkit-animation:fadein 1s;animation:fadein 1s;}/*!sc*/ @-webkit-keyframes fadein{0%{opacity:0;}100%{opacity:1;}}/*!sc*/ @keyframes fadein{0%{opacity:0;}100%{opacity:1;}}/*!sc*/ @media screen and (max-width:768px){body.dark-mode .storyCards{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;height:auto;}}/*!sc*/ body.dark-mode .card-wrapper{border:2px solid grey;}/*!sc*/ @media screen and (max-width:1000px) and (min-width:768px){body.dark-mode .timeNotFeatured div{background:#3c3c3b;}body.dark-mode .OTDwrapper{background:#212428;}body.dark-mode .sectionTitle{background:#212428;}body.dark-mode .yearBtn{color:#52627a;}@media screen and (max-width:1000px) and (min-width:768px){body.dark-mode .timeNotFeatured div{background:#3c3c3b;}}}/*!sc*/ body.dark-mode .ais-SearchBox-input{color:#212428;}/*!sc*/ body.dark-mode .search-container{border:none;margin-left:0px;}/*!sc*/ body.dark-mode .ais-SearchBox-form input{color:white !important;}/*!sc*/ body.dark-mode .ais-SearchBox-form input::-webkit-input-place-holder{margin-left:2rem;color:gray;}/*!sc*/ body.dark-mode .ais-SearchBox-form input::-moz-place-holder{margin-left:2rem;color:gray;}/*!sc*/ body.dark-mode .ais-SearchBox-form input:-ms-input-place-holder{margin-left:2rem;color:gray;}/*!sc*/ body.dark-mode .ais-SearchBox-form input::place-holder{margin-left:2rem;color:gray;}/*!sc*/ body.dark-mode .trending-tittle-wrapper{background:black;color:#c2cad6;margin-bottom:0.5rem;}/*!sc*/ body.dark-mode .trending-tittle-wrapper .trending-title a{background:none;color:#c2cad6;}/*!sc*/ body.dark-mode .trending-tittle-wrapper img{background:#c2cad6;width:25px;height:25px;border-radius:50%;padding:5px;}/*!sc*/ body.dark-mode .tag-title-link{color:#c2cad6;}/*!sc*/ body.dark-mode .trending-story-card{background:black;color:#c2cad6;}/*!sc*/ body.dark-mode .translation-tittle-wrapper img{background:#c2cad6;border-radius:50%;}/*!sc*/ body.dark-mode .mobile-header .trending-story-card{background:transparent;color:#c2cad6;}/*!sc*/ body.dark-mode .tag-title{background:none;color:#c2cad6;}/*!sc*/ body.dark-mode .tag-title:hover{color:#0b0;}/*!sc*/ body.dark-mode .trending-company-card,body.dark-mode .trending-coin-card,body.dark-mode .trending-tag-card,body.dark-mode .translation-card{background:black;padding-left:2rem;color:#c2cad6;}/*!sc*/ body.dark-mode .col-right-tabs .trending-tab-btn{background:#212428;color:gray;border:1px solid black;margin-top:0.5rem;}/*!sc*/ body.dark-mode .col-right-tabs .trending-tab-btn:first-child{border-radius:0.5rem 0 0 0;border-top:1px solid #212428 !important;border-left:1px solid #212428 !important;}/*!sc*/ body.dark-mode .col-right-tabs .trending-tab-btn:last-child{border-radius:0 0.5rem 0 0;border-top:1px solid #212428 !important;border-right:1px solid #212428 !important;}/*!sc*/ body.dark-mode .col-right-tabs .trending-tab-active{color:#c2cad6;background:black;font-weight:bold;}/*!sc*/ body.dark-mode .tag-tittle-wrapper,body.dark-mode .translation-tittle-wrapper{background:black;padding-left:2rem;color:#c2cad6;margin-bottom:0.5rem;}/*!sc*/ body.dark-mode .search-tab-button{background:black;color:gray;}/*!sc*/ body.dark-mode .search-tab-button:hover{color:lightgray;}/*!sc*/ body.dark-mode .search-tab-button-active{color:#0b0;}/*!sc*/ body.dark-mode .search-story-card,body.dark-mode .search-tag-card,body.dark-mode .search-people-card,body.dark-mode .search-company-wrapper,body.dark-mode .search-coin-card{background:black;margin-bottom:0.5rem;border:none;}/*!sc*/ body.dark-mode .search-story-card h2,body.dark-mode .search-tag-card h2,body.dark-mode .search-people-card h2,body.dark-mode .search-company-wrapper h2,body.dark-mode .search-coin-card h2,body.dark-mode .search-story-card .display-name,body.dark-mode .search-tag-card .display-name,body.dark-mode .search-people-card .display-name,body.dark-mode .search-company-wrapper .display-name,body.dark-mode .search-coin-card .display-name,body.dark-mode .search-story-card .handle,body.dark-mode .search-tag-card .handle,body.dark-mode .search-people-card .handle,body.dark-mode .search-company-wrapper .handle,body.dark-mode .search-coin-card .handle,body.dark-mode .search-story-card .search-company-name,body.dark-mode .search-tag-card .search-company-name,body.dark-mode .search-people-card .search-company-name,body.dark-mode .search-company-wrapper .search-company-name,body.dark-mode .search-coin-card .search-company-name{color:#c2cad6;}/*!sc*/ body.dark-mode .story-hits-layout,body.dark-mode .tag-hits-layout,body.dark-mode .coin-hits-layout{background:transparent;padding:0px;}/*!sc*/ body.dark-mode .company-hits-layout,body.dark-mode .peoples-hits-layout{padding-top:0px;margin-top:0.5rem;background:transparent;}/*!sc*/ body.dark-mode .search-parcat-card{background:black;border:1px solid gray;}/*!sc*/ body.dark-mode .search-parcat small{background:black;color:gray;}/*!sc*/ body.dark-mode .search-parcat small:hover{background:green;color:white;}/*!sc*/ body.dark-mode .search-parcat .lazy-load-image-background.opacity{opacity:0;}/*!sc*/ body.dark-mode .search-parcat .lazy-load-image-background.opacity.lazy-load-image-loaded{opacity:1;-webkit-transition:opacity .3s;transition:opacity .3s;}/*!sc*/ body.dark-mode .search-parcat .ReactModal__Overlay{z-index:5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ body.dark-mode .search-parcat .ReactModal__Content{position:static !important;border:2px solid #3c3c3b !important;border-radius:2px !important;box-shadow:2px 2px 0px #cdcdcd,-2px -2px 0px #ffffff;}/*!sc*/ body.dark-mode .search-parcat .nft{-webkit-clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);-webkit-clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);}/*!sc*/ body.dark-mode .search-parcat .nft:after{--borderWidth:6px;content:'';position:absolute;top:calc(-1 * var(--borderWidth));left:calc(-1 * var(--borderWidth));height:calc(100% + var(--borderWidth) * 2);width:calc(100% + var(--borderWidth) * 2);background:#c2cad6;border-radius:calc(2 * var(--borderWidth));z-index:-1;background-size:300% 300%;}/*!sc*/ body.dark-mode .search-parcat .rainbow{--borderWidth:3px;position:relative;border-radius:var(--borderWidth);}/*!sc*/ body.dark-mode .search-parcat .rainbow:after{--borderWidth:3px;content:'';position:absolute;top:calc(-1 * var(--borderWidth));left:calc(-1 * var(--borderWidth));height:calc(100% + var(--borderWidth) * 2);width:calc(100% + var(--borderWidth) * 2);background:linear-gradient(60deg,#f79533,#f37055,#ef4e7b,#a166ab,#5073b8,#1098ad,#07b39b,#6fba82);border-radius:calc(2 * var(--borderWidth));z-index:-1;-webkit-animation:animatedgradient 3s ease alternate infinite;animation:animatedgradient 3s ease alternate infinite;background-size:300% 300%;}/*!sc*/ @-webkit-keyframes animatedgradient{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}/*!sc*/ @keyframes animatedgradient{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}/*!sc*/ body.dark-mode .search-parcat [data-rmiz-modal-overlay="hidden"]{background-color:transparent;}/*!sc*/ body.dark-mode .search-parcat [data-rmiz-modal-overlay="visible"]{background-color:transparent;}/*!sc*/ data-styled.g127[id="sc-global-dSXyBY1"]{content:"sc-global-dSXyBY1,"}/*!sc*/ .jItrLX{min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}/*!sc*/ data-styled.g128[id="sc-bd9bce3e-0"]{content:"jItrLX,"}/*!sc*/ .cvudDQ{position:relative;}/*!sc*/ @media (max-width:480px){.cvudDQ{padding:1rem 1rem;}}/*!sc*/ .cvudDQ .badgeColors{background:#f6f7f9;}/*!sc*/ .cvudDQ .badgeColors:hover{background:!important;color:!important;box-shadow:0 0.2em ,0 -0.2em , 0.2em 0 ,-0.2em 0;-webkit-transition:all 120ms ease-in-out;transition:all 120ms ease-in-out;}/*!sc*/ .cvudDQ .selectedLang{box-shadow:0 0.2em #0b0,0 -0.2em #0b0,0.2em 0 #0b0,-0.2em 0 #0b0;}/*!sc*/ .cvudDQ .fa-headphones{color:!important;}/*!sc*/ .cvudDQ .styled_anchor{color:!important;}/*!sc*/ .cvudDQ .styled_anchor:hover{color:white !important;background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), calc(50% - 9px), 100% );}/*!sc*/ .cvudDQ .profile-container,.cvudDQ > a > .profileImage{box-shadow:0 0.2em ,0 -0.2em , 0.2em 0 ,-0.2em 0 !important;}/*!sc*/ .cvudDQ .styled_anchorReg{padding:0 1rem;background-image:linear-gradient( transparent 0%, transparent calc(20% - 9px), transparent calc(50% - 9px), 100% );}/*!sc*/ .cvudDQ .styled_anchorReg:hover{color:!important;background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), calc(50% - 9px), 100% );}/*!sc*/ .cvudDQ .customColorLink{background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), calc(50% - 9px), 100% ) !important;}/*!sc*/ .cvudDQ .customColorLink:hover{background-image:linear-gradient( transparent 0%, transparent calc(50% - 9px), calc(50% - 9px), 100% );}/*!sc*/ .cvudDQ .votingButton{background:whitesmoke;color:black;}/*!sc*/ .cvudDQ .votingButton:hover{background:black !important;color:white !important;}/*!sc*/ .cvudDQ .title-short{background:transparent;}/*!sc*/ .cvudDQ .rankBox p{background:!important;color:!important;border:3px solid !important;}/*!sc*/ .cvudDQ .story-title-anchor:hover,.cvudDQ .company-anchor:hover{background:!important;}/*!sc*/ .cvudDQ .company-details,.cvudDQ .story-details{border:1px solid !important;}/*!sc*/ .cvudDQ .yearBtnActive{color:!important;border-bottom:2px solid !important;}/*!sc*/ .cvudDQ .yearBtn:hover{color:!important;background: !important;}/*!sc*/ .cvudDQ .card-wrapper{background:transparent !important;-webkit-animation:2s linear alternate fade;animation:2s linear alternate fade;}/*!sc*/ @-webkit-keyframes fade{0%{opacity:0.1;}25%{opacity:1;}}/*!sc*/ @keyframes fade{0%{opacity:0.1;}25%{opacity:1;}}/*!sc*/ .cvudDQ #about{background:transparent !important;}/*!sc*/ .cvudDQ #about a{border:2px solid !important;color:!important;}/*!sc*/ .cvudDQ #about a:hover{background:!important;border:2px solid !important;color:!important;}/*!sc*/ .cvudDQ #about .react-tabs__tab--selected{color:!important;background:!important;}/*!sc*/ .cvudDQ #about .react-tabs__tab--selected a{color:!important;background:!important;}/*!sc*/ .cvudDQ #about .react-tabs__tab:hover{color:!important;}/*!sc*/ .cvudDQ #about .react-tabs__tab-panel{background:!important;}/*!sc*/ data-styled.g129[id="sc-bd9bce3e-1"]{content:"cvudDQ,"}/*!sc*/ .jEVorV .dabytag{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:850px;margin:auto;margin-top:3rem;}/*!sc*/ .jEVorV .dabytag .da-toggle-btn{margin-left:auto;position:relative;top:4rem;right:1rem;z-index:3;background:white;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:50%;padding:0.5rem;cursor:pointer;}/*!sc*/ .jEVorV .related-section{margin-bottom:50px;}/*!sc*/ .jEVorV .related-section .articles-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:space-around;-webkit-justify-content:space-around;-ms-flex-pack:space-around;justify-content:space-around;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:200px;}/*!sc*/ .jEVorV .topics-section,.jEVorV .lang-section,.jEVorV .related-section{margin:auto;width:98%;max-width:850px;}/*!sc*/ .jEVorV .topics-section h4,.jEVorV .lang-section h4,.jEVorV .related-section h4{font-size:3rem;}/*!sc*/ .jEVorV .topics-section .tags,.jEVorV .lang-section .tags,.jEVorV .related-section .tags{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ @media screen and (max-width:850px){.jEVorV .topics-section,.jEVorV .lang-section,.jEVorV .related-section{padding:2rem;width:100%;}.jEVorV .topics-section h4,.jEVorV .lang-section h4,.jEVorV .related-section h4{margin-left:2rem;margin-bottom:1rem;font-size:3rem;}.jEVorV .topics-section .tags,.jEVorV .lang-section .tags,.jEVorV .related-section .tags{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:1rem;}}/*!sc*/ @media screen and (max-width:480px){.jEVorV .topics-section,.jEVorV .lang-section,.jEVorV .related-section{padding:0 1rem;}.jEVorV .topics-section h4,.jEVorV .lang-section h4,.jEVorV .related-section h4{margin-left:1rem;margin-bottom:1rem;font-size:2rem;}.jEVorV .topics-section .tags,.jEVorV .lang-section .tags,.jEVorV .related-section .tags{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin:0px;}}/*!sc*/ data-styled.g134[id="sc-82ca1fa4-0"]{content:"jEVorV,"}/*!sc*/ .SWeJa a{background:#0f0;padding-bottom:3rem;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}/*!sc*/ .SWeJa .cta-top{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-size:4.8vw;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#212428;font-weight:bold;max-width:400px;width:90%;margin:4rem auto 1rem auto;padding:0em 0em 0em 0.5em;-webkit-transition:font-size 0.3s ease;transition:font-size 0.3s ease;}/*!sc*/ @media screen and (min-width:425px){.SWeJa .cta-top{font-size:4rem;}}/*!sc*/ @media screen and (min-width:768px){.SWeJa .cta-top{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:3rem;max-width:none;width:initial;margin-top:2rem;}}/*!sc*/ @media screen and (min-width:768px){.SWeJa .cta-top:hover{font-size:3.5rem;}}/*!sc*/ .SWeJa strong{color:#212428;}/*!sc*/ .SWeJa .fs-cta{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ data-styled.g136[id="sc-92a1b621-1"]{content:"SWeJa,"}/*!sc*/ .ensLvG{width:850px;height:185.5px;background-color:#009300;position:relative;overflow:hidden;-webkit-transition:filter 0.5s;transition:filter 0.5s;border-radius:1rem;}/*!sc*/ .ensLvG .l1{display:none;}/*!sc*/ @media screen and (max-width:399px){.ensLvG{width:calc(100vw - 4rem);height:75px;}}/*!sc*/ @media screen and (max-width:850px){.ensLvG{width:95%;}}/*!sc*/ .ensLvG:hover{cursor:pointer;}/*!sc*/ .ensLvG .info{width:100%;height:100%;position:absolute;z-index:2;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:white;margin:0 0 0 50px;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .info{margin-left:20px;}}/*!sc*/ .ensLvG .info img{width:80px;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .info img{width:30px;height:30px;}}/*!sc*/ .ensLvG .info p{text-transform:uppercase;width:55%;max-height:100%;font-family:"HackerNoon",sans-serif;text-align:center;font-size:18px;margin-right:90px;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .info p{font-size:10px;width:50%;margin-right:50px;}}/*!sc*/ .ensLvG .background{position:absolute;z-index:1;}/*!sc*/ .ensLvG .background .l1{width:400px;height:600px;background-color:#29c929;border-radius:30%;position:absolute;left:-200px;top:-10px;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .background .l1{width:200px;height:300px;left:-100px;top:-5px;}}/*!sc*/ .ensLvG .background .d1{width:400px;height:600px;background-color:#007200;position:absolute;left:300px;top:-10px;z-index:4;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .background .d1{width:220px;height:300px;left:140px;top:-5px;}}/*!sc*/ .ensLvG .background .l2{width:120px;height:200px;background-color:#29c929;border-radius:40px;position:absolute;left:250px;top:-100px;-webkit-transform:rotate(55deg);-ms-transform:rotate(55deg);transform:rotate(55deg);}/*!sc*/ @media screen and (max-width:690px){.ensLvG .background .l2{width:60px;height:100px;left:125px;top:-50px;}}/*!sc*/ .ensLvG .background .l3{width:120px;height:200px;background-color:#29c929;border-radius:60px;position:absolute;left:690px;top:-50px;-webkit-transform:rotate(55deg);-ms-transform:rotate(55deg);transform:rotate(55deg);z-index:5;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .background .l3{width:60px;height:100px;left:345px;top:-25px;border-radius:30px;}}/*!sc*/ .ensLvG .background .d2{width:200px;height:200px;background-color:#007200;position:absolute;left:250px;border-radius:50%;top:-60px;z-index:4;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .background .d2{width:100px;height:100px;left:125px;top:-30px;}}/*!sc*/ .ensLvG .background .m1{width:70px;height:70px;background-color:#009300;position:absolute;left:250px;border-radius:50%;top:123px;z-index:5;}/*!sc*/ @media screen and (max-width:690px){.ensLvG .background .m1{width:40px;height:40px;left:115px;top:56px;}}/*!sc*/ data-styled.g166[id="sc-a0a54eeb-0"]{content:"ensLvG,"}/*!sc*/ .jvdbKp{max-width:850px;margin:auto;}/*!sc*/ .jvdbKp h4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:3rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;text-transform:uppercase;margin:5rem 0 rem 0;}/*!sc*/ .jvdbKp a{margin:0px;}/*!sc*/ .jvdbKp .web-tags{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ @media screen and (max-width:850px){.jvdbKp h4{margin-left:3rem;margin-bottom:3rem;font-size:2.5rem;}}/*!sc*/ @media screen and (max-width:650px){.jvdbKp .web-tags{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin-left:2rem;}.jvdbKp h4{margin-left:3rem;margin-bottom:3rem;font-size:2rem;}}/*!sc*/ @media screen and (max-width:480px){.jvdbKp{margin:0;}.jvdbKp h4{margin-left:1rem;margin-bottom:1rem;font-size:2rem;}.jvdbKp .web-tags{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}}/*!sc*/ data-styled.g167[id="sc-fee3e5e9-0"]{content:"jvdbKp,"}/*!sc*/ .dzAAXf{padding:0.5rem 1.5rem;margin:0 1rem 1rem 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0.5rem;font-weight:bold;box-shadow:0 0 3px 0 lightgray;}/*!sc*/ .dzAAXf:hover{background:#138a36;color:white;}/*!sc*/ @media screen and (max-width:640px){.dzAAXf{font-size:1.2rem;padding:0.5rem 1.5rem;}}/*!sc*/ data-styled.g168[id="sc-fee3e5e9-1"]{content:"dzAAXf,"}/*!sc*/ .yKmBk{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;margin:5px;}/*!sc*/ data-styled.g169[id="sc-fee3e5e9-2"]{content:"yKmBk,"}/*!sc*/ </style></head><body><div id="__next" data-reactroot=""><div class="sc-bd9bce3e-0 jItrLX"><header class="sc-5c798089-0 gryifz header-layout"><div class="mainNav " style="background:;background-image:"><div class="left-portion"><button class="openSearch_btn"><span>Discover Anything</span><img src="https://hackernoon.imgix.net/search-new.png?w=19&amp;h=19" class="search" alt="Search icon" width="19" height="19"/></button></div><a class="logo" href="/"><span class="desktop" style="background-color:;padding:5px;border-radius:5px"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27248%27%20height=%2740%27/%3e"/></span><img alt="Hackernoon logo" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Hackernoon logo" srcSet="https://hackernoon.imgix.net/hn-logo.png?auto=format&amp;fit=max&amp;w=256 1x, https://hackernoon.imgix.net/hn-logo.png?auto=format&amp;fit=max&amp;w=640 2x" src="https://hackernoon.imgix.net/hn-logo.png?auto=format&amp;fit=max&amp;w=640" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></span><span class="mobile" style="background-color:;padding:5px;border-radius:5px"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27195%27%20height=%2730%27/%3e"/></span><img alt="Hackernoon logo" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Hackernoon logo" srcSet="https://hackernoon.imgix.net/hn-logo.png?auto=format&amp;fit=max&amp;w=256 1x, https://hackernoon.imgix.net/hn-logo.png?auto=format&amp;fit=max&amp;w=640 2x" src="https://hackernoon.imgix.net/hn-logo.png?auto=format&amp;fit=max&amp;w=640" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></span></a><div class="right-portion"><div style="width:fit-content" class="sc-5c798089-1 dCUCwc"><a style="color:#003b00;border-color:#003b00;background-color:#88ff88;border-radius:5px" href="/reader-boot" class="sc-b3d23cc4-0 jECpNX">Read</a><a style="color:#003b00;border-color:#003b00;background-color:#88ff88;border-radius:5px;margin-right:2rem" href="https://app.hackernoon.com/new" class="sc-b3d23cc4-0 jECpNX">Write</a></div><div><svg width="20px" fill="#003b00" class="noti-icon" id="Bell" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><polygon points="15 20 15 22 14 22 14 23 10 23 10 22 9 22 9 20 15 20"></polygon><path fill="#003b00" d="m21,17v-1h-1v-2h-1v-6h-1v-2h-1v-1h-1v-1h-2v-1h-1V1h-2v2h-1v1h-2v1h-1v1h-1v2h-1v6h-1v2h-1v1h-1v1h1v1h18v-1h1v-1h-1Zm-15-1v-2h1v-6h1v-2h2v-1h4v1h2v2h1v6h1v2h1v1H5v-1h1Z"></path></svg></div><div><div class="mobile-search-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="20px" fill="#003b00"><path fill="#003b00" width="20px" d="M21 19v-1h-1v-1h-1v-1h-1v-1h-2v-1h1v-2h1V6h-1V4h-1V3h-1V2h-1V1h-2V0H6v1H4v1H3v1H2v1H1v2H0v6h1v2h1v1h1v1h1v1h2v1h6v-1h2v-1h1v2h1v1h1v1h1v1h1v1h2v-1h1v-2h-1Zm-10-5v1H7v-1H5v-1H4v-2H3V7h1V5h1V4h2V3h4v1h2v1h1v2h1v4h-1v2h-1v1h-2Z"></path></svg></div></div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 20" width="20" style="fill:#003b00" class="bar-icon"><path style="fill:#003b00" width="20" class="bar-icon" d="M21 9h1v2h-1v1H1v-1H0V9h1V8h20v1zM21 17h1v2h-1v1H1v-1H0v-2h1v-1h20v1zM22 1v2h-1v1H1V3H0V1h1V0h20v1h1z"></path></svg><div id="menu" style="z-index:1000;top:115px"><div data-focus-guard="true" tabindex="0" style="width:1px;height:0px;padding:0;overflow:hidden;position:fixed;top:1px;left:1px"></div><div data-focus-lock-disabled="false"><div aria-hidden="false" style="background-color:" class="sc-1a5d171d-0 bCtPus"><div class="mobile-header"><div><div><span class="mobile-auth">Login</span><span class="mobile-auth">SignUp</span></div></div><div class="mobile-header-left"><span class="header-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 20" width="15" style="margin-right:2rem" fill="white"><path width="15" style="margin-right:2rem" fill="white" d="M21 9h1v2h-1v1H1v-1H0V9h1V8h20v1zM21 17h1v2h-1v1H1v-1H0v-2h1v-1h20v1zM22 1v2h-1v1H1V3H0V1h1V0h20v1h1z"></path></svg></span><div style="margin-right:2rem" class="colorPickerIcon"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2720%27%20height=%2720%27/%3e"/></span><img alt="paint-brush" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="header-icon" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="paint-brush" srcSet="https://hackernoon.imgix.net/brush2.png?w=25&amp;auto=format&amp;fit=max 1x, https://hackernoon.imgix.net/brush2.png?w=25&amp;auto=format&amp;fit=max 2x" src="https://hackernoon.imgix.net/brush2.png?w=25&amp;auto=format&amp;fit=max" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="header-icon" loading="lazy"/></noscript></span></div><svg width="20px" fill="white" class="header-icon" id="Bell" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><polygon points="15 20 15 22 14 22 14 23 10 23 10 22 9 22 9 20 15 20"></polygon><path fill="white" d="m21,17v-1h-1v-2h-1v-6h-1v-2h-1v-1h-1v-1h-2v-1h-1V1h-2v2h-1v1h-2v1h-1v1h-1v2h-1v6h-1v2h-1v1h-1v1h1v1h18v-1h1v-1h-1Zm-15-1v-2h1v-6h1v-2h2v-1h4v1h2v2h1v6h1v2h1v1H5v-1h1Z"></path></svg><img class="close-nav-img" src="https://hackernoon.imgix.net/icons/SVG/awesome/Window%20Close.svg"/></div></div><div class="sc-1a5d171d-1 kudhnc"></div></div></div><div data-focus-guard="true" tabindex="0" style="width:1px;height:0px;padding:0;overflow:hidden;position:fixed;top:1px;left:1px"></div></div><div id="menu" style="z-index:1000"><div data-focus-guard="true" tabindex="0" style="width:1px;height:0px;padding:0;overflow:hidden;position:fixed;top:1px;left:1px"></div><div data-focus-lock-disabled="false"><div aria-hidden="true" style="background-color:" class="sc-f8930e2-0 PcGLU"></div></div><div data-focus-guard="true" tabindex="0" style="width:1px;height:0px;padding:0;overflow:hidden;position:fixed;top:1px;left:1px"></div></div></div></div><div><div style="background:;color:" class="sc-e2e8d9af-0 ekysAR"><a class="logo" href="/"><img src="/hn-logo.png" alt="Hackernoon logo"/></a><a style="color:" class="daLink" target="_blank" rel="sponsored"><span style="color:;display:flex;align-items:center;background:;padding:0 10px;border-radius:5px"></span></a><div class="colorPickerIcon"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2725%27%20height=%2725%27/%3e"/></span><img alt="paint-brush" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="paint-brush" srcSet="https://hackernoon.imgix.net/brush2.png?w=25&amp;auto=format&amp;fit=max 1x, https://hackernoon.imgix.net/brush2.png?w=25&amp;auto=format&amp;fit=max 2x" src="https://hackernoon.imgix.net/brush2.png?w=25&amp;auto=format&amp;fit=max" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></div></div></div><div class="sc-9de06f04-0 byYhvg story-nav show"><div class="title"><span class="story-title">9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow</span><span class="by"> <!-- -->by</span><a class="profile" href="/u/madzadev">@<!-- -->madzadev</a><div class="profile-img"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2730%27%20height=%2730%27/%3e"/></span><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img srcSet="https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?auto=format&amp;fit=max&amp;w=32 1x, https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?auto=format&amp;fit=max&amp;w=64 2x" src="https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?auto=format&amp;fit=max&amp;w=64" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></div></div><div class="sharing"></div></div></header><div style="position:fixed;z-index:9999;top:16px;left:16px;right:16px;bottom:16px;pointer-events:none"></div><main class="sc-bd9bce3e-1 cvudDQ"><div class="sc-d7dc08c8-0 FSbgW"><div class="sc-f1bf4939-0 bVfmlv"><div class="metaContainer desktop-no-show"><div class="sc-f1bf4939-5 gejnKI"><div class="sc-f1bf4939-4 fBrYVy"><span class="story-stat"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" style="width:14px;fill:darkgray"><path style="width:14px;fill:darkgray" d="M22 7v2h-1v1h-1v1h-1v1h-1v1h-1v5h1v4h-2v-1h-2v-1h-2v-1h-2v1H8v1H6v1H4v-4h1v-5H4v-1H3v-1H2v-1H1V9H0V7h7V5h1V3h1V1h1V0h2v1h1v2h1v2h1v2h7z"></path></svg> <!-- -->4,295<!-- --> <!-- -->reads</span></div></div></div><div class="story-topLine"><div class="story-stats"><span class="story-stat mobile-no-show"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" style="width:14px"><path style="width:14px" d="M22 7v2h-1v1h-1v1h-1v1h-1v1h-1v5h1v4h-2v-1h-2v-1h-2v-1h-2v1H8v1H6v1H4v-4h1v-5H4v-1H3v-1H2v-1H1V9H0V7h7V5h1V3h1V1h1V0h2v1h1v2h1v2h1v2h7z"></path></svg> <!-- -->4,295<!-- --> <!-- -->reads</span></div><div class="story-admin"></div></div><h1 class="story-title" style="text-align:left">9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow</h1><div class="title-bottom"><div class="title-bottom-left"><span class="header-handle " data-tip="true" data-for="story-author" aria-label="bookmark story" data-delay-hide="1000"><span> by </span><a> <!-- -->Madza</a></span><span class="divider-bullet"></span><span class="published-date">November 20th, 2024</span></div><div class="title-bottom-right"><div style="flex-shrink:0"><span style="display:flex;cursor:pointer" data-tip="true" data-for="terminal-view"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2720%27%20height=%2720%27/%3e"/></span><img alt="Read on Terminal Reader" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Read on Terminal Reader" srcSet="https://hackernoon.imgix.net/computer.png?auto=format&amp;fit=max&amp;w=32 1x, https://hackernoon.imgix.net/computer.png?auto=format&amp;fit=max&amp;w=48 2x" src="https://hackernoon.imgix.net/computer.png?auto=format&amp;fit=max&amp;w=48" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></span></div><div style="flex-shrink:0"><span style="display:flex;cursor:pointer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2720%27%20height=%2720%27/%3e"/></span><img alt="Read this story w/o Javascript" data-tip="true" data-for="arweave-backup" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Read this story w/o Javascript" data-tip="true" data-for="arweave-backup" srcSet="https://hackernoon.imgix.net/images/Lite%20Icon%20%4025px.png?auto=format&amp;fit=max&amp;w=32 1x, https://hackernoon.imgix.net/images/Lite%20Icon%20%4025px.png?auto=format&amp;fit=max&amp;w=48 2x" src="https://hackernoon.imgix.net/images/Lite%20Icon%20%4025px.png?auto=format&amp;fit=max&amp;w=48" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></span></div></div></div><div class="divider-line"></div><div class="tldr-langs"><div class="sc-f1bf4939-5 gejnKI"><div class="sc-f1bf4939-4 fBrYVy"><div class="sc-f1bf4939-1 jZPgiB"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2750%27%20height=%2715%27/%3e"/></span><img alt="Open TLDR" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="tldr-logo" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Open TLDR" srcSet="https://hackernoon.imgix.net/tl;dr-dark.png?auto=format&amp;fit=max&amp;w=64 1x, https://hackernoon.imgix.net/tl;dr-dark.png?auto=format&amp;fit=max&amp;w=128 2x" src="https://hackernoon.imgix.net/tl;dr-dark.png?auto=format&amp;fit=max&amp;w=128" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="tldr-logo" loading="lazy"/></noscript></span><img src="https://hackernoon.imgix.net/arrow-dark.png" alt="tldt arrow" width="12px" height="12px" class="tldr-arrow "/></div></div></div><div class="sc-f1bf4939-3 fJeYzW"></div></div><div class="tldr-no-show"><h2>Too Long; Didn&#x27;t Read</h2>Discover 9 open-source projects to enhance your cloud workflow, project management, user feedback, automation, and more.</div></div><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271600%27%20height=%27840%27/%3e"/></span><img alt="featured image - 9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container feat" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="featured image - 9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg?auto=format&amp;fit=max&amp;w=1920 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container feat" loading="lazy"/></noscript></span><div class="sc-2ecc4b5d-0 cNoPGb profile"><div class="sc-2ecc4b5d-1 hBTHee"><div class="profileImageContainer "><span style="box-sizing:border-box;display:block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:absolute;top:0;left:0;bottom:0;right:0"><img data-for="author-tooltip" data-tip="true" data-delay-hide="200" alt="Madza HackerNoon profile picture" href="/u/madzadev" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="fill" class="profileImage " style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;object-fit:cover"/><noscript><img data-for="author-tooltip" data-tip="true" data-delay-hide="200" alt="Madza HackerNoon profile picture" href="/u/madzadev" sizes="100vw" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 640w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 750w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 828w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 1080w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 1200w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 1920w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 2048w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max 3840w" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=100&amp;auto=format&amp;fit=max" decoding="async" data-nimg="fill" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;object-fit:cover" class="profileImage " loading="lazy"/></noscript></span></div></div></div><div><div class="sc-b3825269-0 gOsVhx"><div><p>In today&#x27;s tech world with fierce competition and tight deadlines, it is useful to explore new and exciting tools to improve the workflow.</p> <p class="line-space"> <br/> </p><p>Open-source tools are there to help; with some significant advantages over other tools - they&#x27;re customizable, offer more control, and are community-driven.</p><p class="line-space"> <br/> </p><p>I decided to handpick 9 powerful open-source projects that will enhance your cloud workflow, project management, user feedback, automation, and more.</p><p class="line-space"> <br/> </p><p>Whether you are a beginner or a seasoned developer there should be something for everyone to elevate your toolkit and inspire your next big project.</p><p class="line-space"> <br/> </p><p>Let’s dive in and hopefully, you will find some tools that you can use in the future!</p><hr/> <h3 id="h-1-stack-ql-manage-cloud-services-with-sql">1. <a href="https://github.com/stackql/stackql?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">StackQL</a> – Manage cloud services with SQL</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27960%27%20height=%27540%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.574Z-nb49nrzl7ffi6md2cstcu4qz?auto=format&amp;fit=max&amp;w=1080 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.574Z-nb49nrzl7ffi6md2cstcu4qz?auto=format&amp;fit=max&amp;w=1920 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.574Z-nb49nrzl7ffi6md2cstcu4qz?auto=format&amp;fit=max&amp;w=1920" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>StackQL offers a revolutionary approach to deploy, query, and interact with cloud services and resources using Structured query language (SQL).</p> <p class="line-space"> <br/> </p><p>That means you no longer need to learn different APIs for each provider. StackQL parses your SQL statements and transpiles them into API requests that all your favorite major cloud providers would understand.</p><p class="line-space"> <br/> </p><p><strong>Some of the best features include:</strong></p><p class="line-space"> <br/> </p><ol> <li> <p><strong>SQL-based querying</strong>: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently.</p> <p class="line-space"> <br/> </p></li> <li> <p><strong>Multi-cloud support:</strong> manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface.</p> <p class="line-space"> <br/> </p></li> <li> <p><strong>Several usage modes:</strong> use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file).</p> <p class="line-space"> <br/> </p></li> <li> <p><strong>Powerful operations:</strong> perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more.</p> <p class="line-space"> <br/> </p></li> <li> <p><strong>Available for various OS</strong>: available to download for Windows, MacOS, and Linux.</p> <p class="line-space"> <br/> </p></li> </ol> <p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27960%27%20height=%27640%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.628Z-uezul4mqh9zorj64874nu6vh?auto=format&amp;fit=max&amp;w=1080 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.628Z-uezul4mqh9zorj64874nu6vh?auto=format&amp;fit=max&amp;w=1920 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.628Z-uezul4mqh9zorj64874nu6vh?auto=format&amp;fit=max&amp;w=1920" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p> <p>Ready to reduce setup times and simplify your cloud configurations? Try StackQL yourself and explore all the awesome features it comes with!</p> <p class="line-space"> <br/> </p><p>⭐ <strong>Star StackQL on GitHub:</strong> <strong><a href="https://github.com/stackql/stackql?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">github.com/stackql/stackql</a></strong></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <strong><a href="http://stackql.io/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">stackql.io</a></strong></p><p class="line-space"> <br/> </p><p>Thanks to the StackQL team for sponsoring this article.</p><hr/> <h3 id="h-2-flagsmith-feature-flag-management">2. <a href="https://github.com/Flagsmith/flagsmith?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">Flagsmith</a> – Feature flag management</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271534%27%20height=%27876%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.630Z-t38zwbzexnm21ecmd8j4zwn6?auto=format&amp;fit=max&amp;w=1920 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.630Z-t38zwbzexnm21ecmd8j4zwn6?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.630Z-t38zwbzexnm21ecmd8j4zwn6?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>Flagsmith is an open-source feature flag management tool. You can use hosted API, deploy to your private cloud, or run as on-premise software.</p> <p class="line-space"> <br/> </p><p>It enables gradual feature rollouts for safer deployments and easier A/B testing, reducing the risk of bugs and ensuring faster iteration cycles.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/Flagsmith/flagsmith?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/Flagsmith/flagsmith</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://flagsmith.com/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">flagsmith.com</a></p><hr/> <h3 id="h-3-formbricks-user-feedback-and-analytics">3. <a href="https://github.com/formbricks/formbricks?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">Formbricks</a> – User feedback and analytics</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271328%27%20height=%27774%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.631Z-dtttxlh6orsjm6nyvjcxudhh?auto=format&amp;fit=max&amp;w=1920 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.631Z-dtttxlh6orsjm6nyvjcxudhh?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.631Z-dtttxlh6orsjm6nyvjcxudhh?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>Formbricks is an open-source tool for collecting user feedback and form analytics.</p> <p class="line-space"> <br/> </p><p>It helps devs understand user behavior, allowing them to improve performance, reduce friction, and enhance the overall UX.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/formbricks/formbricks?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/formbricks/formbricks</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://formbricks.com/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">formbricks.com</a></p><hr/> <h3 id="h-4-dub-url-shortener-with-analytics">4. <a href="https://github.com/dubinc/dub?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">Dub</a> – URL shortener with analytics</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271564%27%20height=%27866%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.493Z-hz2k0zce1b3yju7q3qf12y95?auto=format&amp;fit=max&amp;w=1920 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.493Z-hz2k0zce1b3yju7q3qf12y95?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.493Z-hz2k0zce1b3yju7q3qf12y95?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>Dub is an open-source URL shortener with built-in analytics. It simplifies link management for websites, marketing, and projects.</p> <p class="line-space"> <br/> </p><p>By allowing developers to manage and analyze shortened URLs, Dub streamlines project workflows, making link tracking and data gathering much easier.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/dubinc/dub?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/dubinc/dub</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://dub.co/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">dub.co</a></p><hr/> <h3 id="h-5-app-flowy-project-notes-management">5. <a href="https://github.com/AppFlowy-IO/AppFlowy?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">AppFlowy</a> – Project &amp; notes management</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271377%27%20height=%27813%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.356Z-k5xdrqypvsoked38wlt4r6po?auto=format&amp;fit=max&amp;w=1920 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.356Z-k5xdrqypvsoked38wlt4r6po?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.356Z-k5xdrqypvsoked38wlt4r6po?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>AppFlowy is an open-source, privacy-focused alternative to Notion. It provides a flexible workspace for managing tasks, notes, and general knowledge.</p> <p class="line-space"> <br/> </p><p>AppFlowy offers teams control over their data and customizations, allowing them to create a tailored workspace while benefiting from privacy and scalability.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/AppFlowy-IO/AppFlowy?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/AppFlowy-IO/AppFlowy</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://appflowy.io/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">appflowy.io</a></p><hr/> <h3 id="h-6-api-table-visual-database-for-collaborative-apps">6. <a href="https://github.com/apitable/apitable?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">APITable</a> – Visual database for collaborative apps</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271166%27%20height=%27639%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.343Z-vgivmk1pxrmctwku5int37n8?auto=format&amp;fit=max&amp;w=1200 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.343Z-vgivmk1pxrmctwku5int37n8?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.343Z-vgivmk1pxrmctwku5int37n8?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>APITable combines the ease of spreadsheets with the power of databases. It helps teams collaborate on data-driven projects with visual and interactive tables.</p> <p class="line-space"> <br/> </p><p>APITable simplifies data management and collaboration, allowing developers to organize and automate workflows with minimal setup and technical knowledge.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/apitable/apitable?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/apitable/apitable</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://aitable.ai/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">aitable.ai</a></p><hr/> <h3 id="h-7-flowise-build-llm-workflows-with-flowcharts">7. <a href="https://github.com/FlowiseAI/Flowise?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">Flowise</a> – Build LLM workflows with flowcharts</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271093%27%20height=%27512%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.273Z-l7i9l4lqciyi6qlifsh1ewex?auto=format&amp;fit=max&amp;w=1200 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.273Z-l7i9l4lqciyi6qlifsh1ewex?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.273Z-l7i9l4lqciyi6qlifsh1ewex?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>Flowise is an open-source visual tool that simplifies building workflows for large language models (LLMs). It’s designed to integrate AI with apps easily.</p> <p class="line-space"> <br/> </p><p>Flowise allows developers to visually manage complex LLM workflows, speeding up the integration of AI into their applications without deep coding knowledge.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/FlowiseAI/Flowise?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/FlowiseAI/Flowise</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://flowiseai.com/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">flowiseai.com</a></p><hr/> <h3 id="h-8-jan-use-ai-with-full-control-and-privacy">8. <a href="https://github.com/janhq/jan?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">Jan</a> – Use AI with full control and privacy</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271776%27%20height=%27731%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.261Z-sjj3kzvyhhq0zzrdb4r34hhv?auto=format&amp;fit=max&amp;w=1920 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.261Z-sjj3kzvyhhq0zzrdb4r34hhv?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.261Z-sjj3kzvyhhq0zzrdb4r34hhv?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>Jan is an open-source tool; a ChatGPT alternative that runs 100% offline on your device but with more control, flexibility, and no privacy concerns.</p> <p class="line-space"> <br/> </p><p>Jan enhances productivity by allowing you to ask questions, brainstorm, and learn from the AI running on your device to be more productive.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/janhq/jan?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/janhq/jan</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://jan.ai/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">jan.ai</a></p><hr/> <h3 id="h-9-docsify-documentation-site-generator">9. <a href="https://github.com/docsifyjs/docsify?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">Docsify</a> – Documentation site generator</h3> <p class="line-space"> <br/> </p><p><span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271084%27%20height=%27478%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.057Z-qold7nn1cfgih5f71cv7201r?auto=format&amp;fit=max&amp;w=1200 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.057Z-qold7nn1cfgih5f71cv7201r?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.057Z-qold7nn1cfgih5f71cv7201r?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></p><p>Docsify is an open-source documentation site generator that creates beautiful, responsive docs from markdown files.</p> <p class="line-space"> <br/> </p><p>It simplifies the process of generating documentation, making it easy for developers to maintain and update their docs without complex builds.</p><p class="line-space"> <br/> </p><p>👨‍💻 <strong>GitHub Repository:</strong> <a href="https://github.com/docsifyjs/docsify?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">https://github.com/docsifyjs/docsify</a></p><p class="line-space"> <br/> </p><p><strong>🌎 Website:</strong> <a href="http://docsify.js.org/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">docsify.js.org</a></p><hr/> <h3 id="h-did-you-like-the-resources-here-is-more-👇">Did you like the resources? Here is more 👇</h3> <p class="line-space"> <br/> </p><p>Join 6000+ others to receive the best DEV resources, tools, productivity tips, and career growth advice I discover by subscribing to <a href="https://madzadev.substack.com/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">my newsletter</a>!</p><p class="line-space"> <br/> </p><p><a href="https://madzadev.substack.com/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc"> <span><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%271032%27%20height=%27234%27/%3e"/></span><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="image-container undefined" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.028Z-dij9i9ia0a11rysrieqrzmou?auto=format&amp;fit=max&amp;w=1080 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.028Z-dij9i9ia0a11rysrieqrzmou?auto=format&amp;fit=max&amp;w=3840 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.028Z-dij9i9ia0a11rysrieqrzmou?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="image-container undefined" loading="lazy"/></noscript></span></span></a></p><p>Also, connect with me on <a href="https://twitter.com/madzadev?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">Twitter</a>, <a href="https://www.linkedin.com/in/madzadev/?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">LinkedIn</a>, and <a href="https://github.com/madzadev?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">GitHub</a>!</p> <p class="line-space"> <br/> </p><p>Writing has always been my passion and it gives me pleasure to help and inspire people. If you want to get featured or partner up, feel free to <a href="https://www.madza.dev/contact?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">get in touch</a>!</p><p class="line-space"> <br/> </p><hr/> <p>Also, published <a href="https://madza.hashnode.dev/9-open-source-projects-every-developer-needs-to-bookmark?ref=hackernoon.com" target="_blank" rel="noopener noreferrer ugc">here</a>.</p> <p class="line-space"> <br/> </p></div><div style="visibility:hidden" class="sc-b3825269-8 QdoCq"><button><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" style="width:18px;fill:white"><path style="width:18px;fill:white" d="M16 9h1v2h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1H9v1H8v1H7v1H6v1H0v-6h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1V9h1V8h1V7h1V6h1V5h2v1h1v1h1v1h1v1zM22 4v2h-1v1h-1v1h-1v1h-1V8h-1V7h-1V6h-1V5h-1V4h-1V3h1V2h1V1h1V0h2v1h1v1h1v1h1v1h1z"></path></svg></button><button><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" width="22" style="width:18px;fill:white"><path style="width:18px;fill:white" d="M20 3v2h-1v2h-1v1h-5V7h-2v1h-1v1H9v4h1v1h1v1h2v-1h5v1h1v2h1v2h-1v2h-1v1h-5v-1h-1v-2h-1v-2h-1v-1H9v-1H8v-1H7v1H2v-1H1v-2H0v-2h1V8h1V7h5v1h1V7h1V6h1V5h1V3h1V1h1V0h5v1h1v2h1z"></path></svg></button><button><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" width="22" style="width:18px;fill:white"><path style="width:18px;fill:white" d="M14 19v2h-1v1H1v-1H0V5h1V4h3v15h10z"></path><path style="width:18px;fill:white" d="M20 6v11h-1v1H6v-1H5V1h1V0h8v6h6z"></path><path style="width:18px;fill:white" d="M20 4v1h-5V0h1v1h1v1h1v1h1v1h1z"></path></svg></button><a style="margin-left:15px;color:white" href="#commentSection"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 19" width="22" style="width:18px;fill:white"><path style="width:18px;fill:white" d="M21 6V4h-1V3h-1V2h-2V1h-3V0H8v1H5v1H3v1H2v1H1v2H0v6h1v2h1v2H1v1H0v2h5v-1h1v-1h2v1h6v-1h3v-1h2v-1h1v-1h1v-2h1V6h-1ZM6 13h1v-1h1v-2H6V5h4v8H9v1H6v-1Zm6 0h1v-1h1v-2h-2V5h4v8h-1v1h-3v-1Z"></path></svg></a><button style="margin-right:10px"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="22" style="width:18px;fill:white"><path style="width:18px;fill:white" d="M20 2v12h-1v1h-2v1h-6v-1H4v1H3v4H1V3H0V1h1V0h2v1h1v2H3v1h1V3h7v1h6V3h2V2h1z"></path></svg></button><div class="sc-b3825269-9 bMIQeQ"></div></div></div></div><span style="width:1px;height:1px"></span></div><div class="sc-82ca1fa4-0 jEVorV"><div class="dabytag"><div class="sc-a0a54eeb-0 ensLvG"><a href="https://spacecoin.org/?utm_source=Hackernoon&amp;utm_medium=topnavbar&amp;utm_campaign=writing_contest" target="_blank"><span style="box-sizing:border-box;display:block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:absolute;top:0;left:0;bottom:0;right:0"><img alt="Spacecoin" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="fill" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Spacecoin" sizes="100vw" srcSet="https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=640 640w, https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=750 750w, https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=828 828w, https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=1080 1080w, https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=1200 1200w, https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=1920 1920w, https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=2048 2048w, https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=3840 3840w" src="https://hackernoon.imgix.net/images/img-dx232ex.png?auto=format&amp;fit=max&amp;w=3840" decoding="async" data-nimg="fill" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span> </a></div></div><div style="display:flex;align-items:flex-end;justify-content:center"><div>L O A D I N G<br/>. . . comments &amp; <span style="font-style:italic"> more!</span><br/></div></div><br/><section><div class="sc-104e382f-0 dGrQDi authorBio-section"><h3>About Author</h3><div class="row"><div class="avatar "><a href="/u/madzadev"><span style="box-sizing:border-box;display:block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:absolute;top:0;left:0;bottom:0;right:0"><img alt="Madza HackerNoon profile picture" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="fill" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;object-fit:cover"/><noscript><img alt="Madza HackerNoon profile picture" sizes="100vw" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 640w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 750w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 828w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 1080w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 1200w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 1920w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 2048w, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max 3840w" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg?w=200&amp;auto=format&amp;fit=max" decoding="async" data-nimg="fill" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;object-fit:cover" loading="lazy"/></noscript></span></a></div><div class="author-info"><div class="author-info-top"><span class="author-name-handle"><strong>Madza</strong><span class="handle"><a href="/u/madzadev">@<!-- -->madzadev</a></span></span><div class="sc-9d94a5e5-4 jtwMgp"><form class="author-email-form"><div class="emailContainer"><input type="email" placeholder="name@company.com" name="email" required="" value=""/><button class="sc-9d94a5e5-2 fEEqoW plus-icon subscribe-tooltip sub-btn"><div><span data-tip="true" data-for="subscribe-btn-tooltip">Subscribe <i class=""></i></span></div></button></div></form></div></div><span class="bio">Sharing the latest AI insights, essential tools, and productivity secrets to fuel your career growth!</span><div class="author-cta-wrapper"><a class="bio-cta" href="/u/madzadev"><i style="font-size:1.8rem"></i>Read my stories</a><a class="bio-cta" href="/about/madzadev"><i style="font-size:1.8rem"></i>About @madzadev</a></div></div></div></div></section><div id="commentSection"></div><section class="topics-section"><h4>TOPICS</h4><div class="tags"><a class="sc-29806bfb-0 cdoWeI parent-category" href="/c/programming"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2720%27%20height=%2720%27/%3e"/></span><img alt="purcat-img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="purcat-img" srcSet="https://cdn.hackernoon.com/icons/SVG/Programming.svg?auto=format&amp;fit=max&amp;w=32 1x, https://cdn.hackernoon.com/icons/SVG/Programming.svg?auto=format&amp;fit=max&amp;w=48 2x" src="https://cdn.hackernoon.com/icons/SVG/Programming.svg?auto=format&amp;fit=max&amp;w=48" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span><span style="text-transform:uppercase;color:white;margin-left:1rem">programming</span></a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/web-development"> #<!-- -->web-development</a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/coding"> #<!-- -->coding</a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/programming"> #<!-- -->programming</a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/github"> #<!-- -->github</a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/open-source"> #<!-- -->open-source</a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/open-source-projects"> #<!-- -->open-source-projects</a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/open-source-productivity"> #<!-- -->open-source-productivity</a><a class="sc-bc42364f-0 ghXAMP" href="/tagged/open-source-tools"> #<!-- -->open-source-tools</a></div></section><div class="sc-fee3e5e9-0 jvdbKp"><h4>THIS ARTICLE WAS FEATURED IN<!-- -->...</h4><div class="web-tags"><a href="https://www.arweave.net/xWSr3uTTuH30BsRWJd630y21023Wrp5ZBkIN_N8uyIc" target="_blank" rel="nofollow" class="sc-fee3e5e9-2 yKmBk"><div style="width:fit-content" class="sc-fee3e5e9-1 dzAAXf"><div style="display:flex;align-items:center;justify-self:center"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2724%27%20height=%2724%27/%3e"/></span><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="filter:invert(0%);position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img srcSet="https://hackernoon.imgix.net/images/arweave.png?auto=format&amp;fit=max&amp;w=32 1x, https://hackernoon.imgix.net/images/arweave.png?auto=format&amp;fit=max&amp;w=48 2x" src="https://hackernoon.imgix.net/images/arweave.png?auto=format&amp;fit=max&amp;w=48" decoding="async" data-nimg="intrinsic" style="filter:invert(0%);position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span><div style="margin-left:5px">Permanent on Arweave</div></div></div></a><a href="https://terminal.hackernoon.com/9-open-source-projects-every-developer-needs-to-bookmark-for-their-workflow?ref=hackernoon" target="_blank" rel="nofollow" class="sc-fee3e5e9-2 yKmBk"><div class="sc-fee3e5e9-1 dzAAXf"><span style="display:flex;cursor:pointer" data-tip="true" data-for="terminal-view"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2722%27%20height=%2722%27/%3e"/></span><img alt="Read on Terminal Reader" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Read on Terminal Reader" srcSet="https://hackernoon.imgix.net/computer.png?auto=format&amp;fit=max&amp;w=32 1x, https://hackernoon.imgix.net/computer.png?auto=format&amp;fit=max&amp;w=48 2x" src="https://hackernoon.imgix.net/computer.png?auto=format&amp;fit=max&amp;w=48" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></span> Terminal</div></a><a href="/lite/9-open-source-projects-every-developer-needs-to-bookmark-for-their-workflow?ref=hackernoon" target="_blank" rel="nofollow" class="sc-fee3e5e9-2 yKmBk"><div class="sc-fee3e5e9-1 dzAAXf"><span style="display:flex;cursor:pointer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2722%27%20height=%2722%27/%3e"/></span><img alt="Read this story w/o Javascript" data-tip="true" data-for="lite-tooltip" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Read this story w/o Javascript" data-tip="true" data-for="lite-tooltip" srcSet="https://hackernoon.imgix.net/images/Lite%20Icon%20%4025px.png?auto=format&amp;fit=max&amp;w=32 1x, https://hackernoon.imgix.net/images/Lite%20Icon%20%4025px.png?auto=format&amp;fit=max&amp;w=48 2x" src="https://hackernoon.imgix.net/images/Lite%20Icon%20%4025px.png?auto=format&amp;fit=max&amp;w=48" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></span> Lite</div></a><a href="https://madza.hashnode.dev/9-open-source-projects-every-developer-needs-to-bookmark?ref=hackernoon" target="_blank" rel="dofollow" class="sc-fee3e5e9-2 yKmBk"><div class="sc-fee3e5e9-1 dzAAXf"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" style="fill:#0f0;width:22px;margin-right:5px"><path style="fill:#0f0;width:22px;margin-right:5px" d="M21 8V6h-1V4h-1V3h-1V2h-2V1h-2V0H8v1H6v1H4v1H3v1H2v2H1v2H0v6h1v2h1v2h1v1h1v1h2v1h2v1h6v-1h2v-1h2v-1h1v-1h1v-2h1v-2h1V8h-1Zm-4 3V8h1V7h1v1h1v4h-2v-1h-1Zm-4 7v2h-2v-3h-1v-1H9v-3H8v-1H7v-1H6v-1H5V9H4V8H3V6h1V5h1V4h1V3h3V2h2v1h1v4h-2v2h1v1H9V9H7v2h3v1h4v1h1v3h-1v2h-1Z"></path></svg> Also published here</div></a><a href="https://hackernoon.com/archives/2024/11/20" target="_blank" rel="nofollow" style="z-index:1" class="sc-fee3e5e9-2 yKmBk"><div class="sc-fee3e5e9-1 dzAAXf"><img src="https://t0.gstatic.com/faviconV2?client=SOCIAL&amp;type=FAVICON&amp;fallback_opts=TYPE,SIZE,URL&amp;url=https://hackernoon.com/archives/2024/11/20&amp;size=16" width="16px" height="16px" style="margin-right:5px"/><span>Hackernoon</span></div></a><a href="https://bsky.app/profile/hackernoon.com/post/3lbeetvmylr2k" target="_blank" rel="nofollow" style="z-index:1" class="sc-fee3e5e9-2 yKmBk"><div class="sc-fee3e5e9-1 dzAAXf"><img src="https://t0.gstatic.com/faviconV2?client=SOCIAL&amp;type=FAVICON&amp;fallback_opts=TYPE,SIZE,URL&amp;url=https://bsky.app/profile/hackernoon.com/post/3lbeetvmylr2k&amp;size=16" width="16px" height="16px" style="margin-right:5px"/><span>Bsky</span></div></a></div></div><section class="related-section"><h4>RELATED STORIES</h4><div class="articles-wrapper"><div><div><div class="sc-65adb81b-0 evreGv"><div class="img"><a href="https://spacecoin.org/?utm_source=Hackernoon&amp;utm_medium=topnavbar&amp;utm_campaign=writing_contest" style="display:contents" target="_blank" rel="noopener noreferrer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27260%27%20height=%27150%27/%3e"/></span><img alt="Article Thumbnail" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="img" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Article Thumbnail" srcSet="https://hackernoon.imgix.net/images/img-zf132oi.png?auto=format&amp;fit=max&amp;w=500 1x, https://hackernoon.imgix.net/images/img-zf132oi.png?auto=format&amp;fit=max&amp;w=500 2x" src="https://hackernoon.imgix.net/images/img-zf132oi.png?auto=format&amp;fit=max&amp;w=500" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="img" loading="lazy"/></noscript></span></a></div><div class="text"><strong><a href="https://spacecoin.org/?utm_source=Hackernoon&amp;utm_medium=topnavbar&amp;utm_campaign=writing_contest" style="text-decoration:none;text-align:left" target="_blank" rel="noopener noreferrer">Trustless, High-speed Internet!</a></strong><div class="card-title"><div class="card-info"><span class="author"><span style="color:gray">visit</span> <strong><a class="author-link" target="_blank" rel="noopener noreferrer" href="https://spacecoin.org/?utm_source=Hackernoon&amp;utm_medium=topnavbar&amp;utm_campaign=writing_contest"> <!-- -->Spacecoin<!-- --> </a></strong></span><div></div></div><a class="related ad-tag" target="_blank" rel="noopener noreferrer" href="https://spacecoin.org/?utm_source=Hackernoon&amp;utm_medium=topnavbar&amp;utm_campaign=writing_contest"><span class="centered "> <!-- -->#<!-- -->Sponsored</span></a></div></div></div></div></div><div class="sc-65adb81b-0 evreGv"><div class="img"><a href="../10-best-uiux-project-ideas-to-improve-your-frontend-skills" style="display:contents" target="_blank" rel="noopener noreferrer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27260%27%20height=%27150%27/%3e"/></span><img alt="Article Thumbnail" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="img" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Article Thumbnail" srcSet="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-jl93h21.jpeg?auto=format&amp;fit=max&amp;w=260 1x, https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-jl93h21.jpeg?auto=format&amp;fit=max&amp;w=260 2x" src="https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-jl93h21.jpeg?auto=format&amp;fit=max&amp;w=260" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="img" loading="lazy"/></noscript></span></a></div><div class="text"><strong><a href="../10-best-uiux-project-ideas-to-improve-your-frontend-skills" style="text-decoration:none;text-align:left" target="_blank" rel="noopener noreferrer">10 Best UI/UX Project Ideas to Improve Your Frontend Skills 🎨🧙‍♂️</a></strong><div class="card-title"><div class="card-info"><span class="author"><span style="color:gray">by</span> <strong><a class="author-link" href="https://hackernoon.com/u/madzadev">madzadev<!-- --> </a></strong></span><div></div><div class="divider-bullet"></div><div class="date">Feb 25, 2022</div></div><a class="related" href="/tagged/inspiration"><span class="centered"> <!-- -->#<!-- -->inspiration</span></a></div></div></div><div class="sc-65adb81b-0 evreGv"><div class="img"><a href="../obsidian-for-beginners-the-only-guide-youll-ever-need" style="display:contents" target="_blank" rel="noopener noreferrer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27260%27%20height=%27150%27/%3e"/></span><img alt="Article Thumbnail" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="img" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Article Thumbnail" srcSet="https://hackernoon.imgix.net/images/0iu1pHRMnqOT3GqhiW0OP3lK20h1-ko224no.png?auto=format&amp;fit=max&amp;w=260 1x, https://hackernoon.imgix.net/images/0iu1pHRMnqOT3GqhiW0OP3lK20h1-ko224no.png?auto=format&amp;fit=max&amp;w=260 2x" src="https://hackernoon.imgix.net/images/0iu1pHRMnqOT3GqhiW0OP3lK20h1-ko224no.png?auto=format&amp;fit=max&amp;w=260" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="img" loading="lazy"/></noscript></span></a></div><div class="text"><strong><a href="../obsidian-for-beginners-the-only-guide-youll-ever-need" style="text-decoration:none;text-align:left" target="_blank" rel="noopener noreferrer">Obsidian for Beginners: The Only Guide You’ll Ever Need!</a></strong><div class="card-title"><div class="card-info"><span class="author"><span style="color:gray">by</span> <strong><a class="author-link" href="https://hackernoon.com/u/proflead">proflead<!-- --> </a></strong></span><div></div><div class="divider-bullet"></div><div class="date">Jan 15, 2025</div></div><a class="related" href="/tagged/obsidian"><span class="centered"> <!-- -->#<!-- -->obsidian</span></a></div></div></div><div class="sc-65adb81b-0 evreGv"><div class="img"><a href="../women-in-tech-azize-sultan-shares-her-inspiring-journey-from-architecture-to-tech-leadership" style="display:contents" target="_blank" rel="noopener noreferrer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27260%27%20height=%27150%27/%3e"/></span><img alt="Article Thumbnail" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="img" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Article Thumbnail" srcSet="https://hackernoon.imgix.net/images/M9cXUgms5nR9N9K2f20ZbdFOmg92-5y136wa.png?auto=format&amp;fit=max&amp;w=260 1x, https://hackernoon.imgix.net/images/M9cXUgms5nR9N9K2f20ZbdFOmg92-5y136wa.png?auto=format&amp;fit=max&amp;w=260 2x" src="https://hackernoon.imgix.net/images/M9cXUgms5nR9N9K2f20ZbdFOmg92-5y136wa.png?auto=format&amp;fit=max&amp;w=260" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="img" loading="lazy"/></noscript></span></a></div><div class="text"><strong><a href="../women-in-tech-azize-sultan-shares-her-inspiring-journey-from-architecture-to-tech-leadership" style="text-decoration:none;text-align:left" target="_blank" rel="noopener noreferrer">Women in Tech: Azize Sultan Shares Her Inspiring Journey from Architecture to Tech Leadership</a></strong><div class="card-title"><div class="card-info"><span class="author"><span style="color:gray">by</span> <strong><a class="author-link" href="https://hackernoon.com/u/azizepalali">azizepalali<!-- --> </a></strong></span><div></div><div class="divider-bullet"></div><div class="date">Jan 28, 2025</div></div><a class="related" href="/tagged/women-in-tech"><span class="centered"> <!-- -->#<!-- -->women-in-tech</span></a></div></div></div><div class="sc-65adb81b-0 evreGv"><div class="img"><a href="../aspect-oriented-programming-matters-more-than-you-think" style="display:contents" target="_blank" rel="noopener noreferrer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27260%27%20height=%27150%27/%3e"/></span><img alt="Article Thumbnail" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="img" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Article Thumbnail" srcSet="https://hackernoon.imgix.net/images/x95vR82RuKhcswrBRspp0PoJ8M22-14034m7.png?auto=format&amp;fit=max&amp;w=260 1x, https://hackernoon.imgix.net/images/x95vR82RuKhcswrBRspp0PoJ8M22-14034m7.png?auto=format&amp;fit=max&amp;w=260 2x" src="https://hackernoon.imgix.net/images/x95vR82RuKhcswrBRspp0PoJ8M22-14034m7.png?auto=format&amp;fit=max&amp;w=260" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="img" loading="lazy"/></noscript></span></a></div><div class="text"><strong><a href="../aspect-oriented-programming-matters-more-than-you-think" style="text-decoration:none;text-align:left" target="_blank" rel="noopener noreferrer">Aspect Oriented Programming Matters More Than You Think</a></strong><div class="card-title"><div class="card-info"><span class="author"><span style="color:gray">by</span> <strong><a class="author-link" href="https://hackernoon.com/u/daniltemnikov">daniltemnikov<!-- --> </a></strong></span><div></div><div class="divider-bullet"></div><div class="date">Jan 28, 2025</div></div><a class="related" href="/tagged/java"><span class="centered"> <!-- -->#<!-- -->java</span></a></div></div></div><div class="sc-65adb81b-0 evreGv"><div class="img"><a href="../104-stories-to-learn-about-go" style="display:contents" target="_blank" rel="noopener noreferrer"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27260%27%20height=%27150%27/%3e"/></span><img alt="Article Thumbnail" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="img" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Article Thumbnail" srcSet="https://hackernoon.imgix.net/images/github/go-46.png?auto=format&amp;fit=max&amp;w=260 1x, https://hackernoon.imgix.net/images/github/go-46.png?auto=format&amp;fit=max&amp;w=260 2x" src="https://hackernoon.imgix.net/images/github/go-46.png?auto=format&amp;fit=max&amp;w=260" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="img" loading="lazy"/></noscript></span></a></div><div class="text"><strong><a href="../104-stories-to-learn-about-go" style="text-decoration:none;text-align:left" target="_blank" rel="noopener noreferrer">104 Stories To Learn About Go</a></strong><div class="card-title"><div class="card-info"><span class="author"><span style="color:gray">by</span> <strong><a class="author-link" href="https://hackernoon.com/u/learn">learn<!-- --> </a></strong></span><div></div><div class="divider-bullet"></div><div class="date">May 03, 2023</div></div><a class="related" href="/tagged/go"><span class="centered"> <!-- -->#<!-- -->go</span></a></div></div></div></div></section><div class="sc-92a1b621-1 SWeJa"><a class="fs-hn-cta" href="https://hackernoon.com/login"><div class="cta-top"><small>Join HackerNoon</small><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%2770%27%20height=%2770%27/%3e"/></span><img alt="loading" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="loading" srcSet="https://hackernoon.com/watch-gif.gif?auto=format&amp;fit=max&amp;w=96 1x, https://hackernoon.com/watch-gif.gif?auto=format&amp;fit=max&amp;w=256 2x" src="https://hackernoon.com/watch-gif.gif?auto=format&amp;fit=max&amp;w=256" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" loading="lazy"/></noscript></span></div><strong>Latest technology trends. Customized Experience. Curated Stories. Publish Your Ideas </strong></a></div></div></main></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"data":{"pageLang":"en","datePublished":"2024-11-20","slug":"9-open-source-projects-every-developer-needs-to-bookmark-for-their-workflow","articleBody":"In today's tech world with fierce competition and tight deadlines, it is useful to explore new and exciting tools to improve the workflow. Open-source tools are there to help; with some significant advantages over other tools - they're customizable, offer more control, and are community-driven. I decided to handpick 9 powerful open-source projects that will enhance your cloud workflow, project management, user feedback, automation, and more. Whether you are a beginner or a seasoned developer there should be something for everyone to elevate your toolkit and inspire your next big project. Let’s dive in and hopefully, you will find some tools that you can use in the future! 1. StackQL – Manage cloud services with SQL StackQL offers a revolutionary approach to deploy, query, and interact with cloud services and resources using Structured query language (SQL). That means you no longer need to learn different APIs for each provider. StackQL parses your SQL statements and transpiles them into API requests that all your favorite major cloud providers would understand. Some of the best features include: SQL-based querying: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently.\n\n\nMulti-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface.\n\n\nSeveral usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file).\n\n\nPowerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more.\n\n\nAvailable for various OS: available to download for Windows, MacOS, and Linux. Ready to reduce setup times and simplify your cloud configurations? Try StackQL yourself and explore all the awesome features it comes with! ⭐ Star StackQL on GitHub: github.com/stackql/stackql 🌎 Website: stackql.io Thanks to the StackQL team for sponsoring this article. 2. Flagsmith – Feature flag management Flagsmith is an open-source feature flag management tool. You can use hosted API, deploy to your private cloud, or run as on-premise software. It enables gradual feature rollouts for safer deployments and easier A/B testing, reducing the risk of bugs and ensuring faster iteration cycles. 👨‍💻 GitHub Repository: https://github.com/Flagsmith/flagsmith 🌎 Website: flagsmith.com 3. Formbricks – User feedback and analytics Formbricks is an open-source tool for collecting user feedback and form analytics. It helps devs understand user behavior, allowing them to improve performance, reduce friction, and enhance the overall UX. 👨‍💻 GitHub Repository: https://github.com/formbricks/formbricks 🌎 Website: formbricks.com 4. Dub – URL shortener with analytics Dub is an open-source URL shortener with built-in analytics. It simplifies link management for websites, marketing, and projects. By allowing developers to manage and analyze shortened URLs, Dub streamlines project workflows, making link tracking and data gathering much easier. 👨‍💻 GitHub Repository: https://github.com/dubinc/dub 🌎 Website: dub.co 5. AppFlowy – Project \u0026 notes management AppFlowy is an open-source, privacy-focused alternative to Notion. It provides a flexible workspace for managing tasks, notes, and general knowledge. AppFlowy offers teams control over their data and customizations, allowing them to create a tailored workspace while benefiting from privacy and scalability. 👨‍💻 GitHub Repository: https://github.com/AppFlowy-IO/AppFlowy 🌎 Website: appflowy.io 6. APITable – Visual database for collaborative apps APITable combines the ease of spreadsheets with the power of databases. It helps teams collaborate on data-driven projects with visual and interactive tables. APITable simplifies data management and collaboration, allowing developers to organize and automate workflows with minimal setup and technical knowledge. 👨‍💻 GitHub Repository: https://github.com/apitable/apitable 🌎 Website: aitable.ai 7. Flowise – Build LLM workflows with flowcharts Flowise is an open-source visual tool that simplifies building workflows for large language models (LLMs). It’s designed to integrate AI with apps easily. Flowise allows developers to visually manage complex LLM workflows, speeding up the integration of AI into their applications without deep coding knowledge. 👨‍💻 GitHub Repository: https://github.com/FlowiseAI/Flowise 🌎 Website: flowiseai.com 8. Jan – Use AI with full control and privacy Jan is an open-source tool; a ChatGPT alternative that runs 100% offline on your device but with more control, flexibility, and no privacy concerns. Jan enhances productivity by allowing you to ask questions, brainstorm, and learn from the AI running on your device to be more productive. 👨‍💻 GitHub Repository: https://github.com/janhq/jan 🌎 Website: jan.ai 9. Docsify – Documentation site generator Docsify is an open-source documentation site generator that creates beautiful, responsive docs from markdown files. It simplifies the process of generating documentation, making it easy for developers to maintain and update their docs without complex builds. 👨‍💻 GitHub Repository: https://github.com/docsifyjs/docsify 🌎 Website: docsify.js.org Did you like the resources? Here is more 👇 Join 6000+ others to receive the best DEV resources, tools, productivity tips, and career growth advice I discover by subscribing to my newsletter! Also, connect with me on Twitter, LinkedIn, and GitHub! Writing has always been my passion and it gives me pleasure to help and inspire people. If you want to get featured or partner up, feel free to get in touch! Also, published here. In today's tech world with fierce competition and tight deadlines, it is useful to explore new and exciting tools to improve the workflow. Open-source tools are there to help; with some significant advantages over other tools - they're customizable, offer more control, and are community-driven. I decided to handpick 9 powerful open-source projects that will enhance your cloud workflow, project management, user feedback, automation, and more. Whether you are a beginner or a seasoned developer there should be something for everyone to elevate your toolkit and inspire your next big project. Let’s dive in and hopefully, you will find some tools that you can use in the future! 1. StackQL – Manage cloud services with SQL StackQL StackQL offers a revolutionary approach to deploy, query, and interact with cloud services and resources using Structured query language (SQL). That means you no longer need to learn different APIs for each provider. StackQL parses your SQL statements and transpiles them into API requests that all your favorite major cloud providers would understand. Some of the best features include: Some of the best features include: SQL-based querying: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently. Multi-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface. Several usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file). Powerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more. Available for various OS: available to download for Windows, MacOS, and Linux. SQL-based querying: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently. SQL-based querying : unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently. SQL-based querying Multi-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface. Multi-cloud support: manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface. Multi-cloud support: Several usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file). Several usage modes: use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file). Several usage modes: Powerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more. Powerful operations: perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more. Powerful operations: Available for various OS: available to download for Windows, MacOS, and Linux. Available for various OS : available to download for Windows, MacOS, and Linux. Available for various OS Ready to reduce setup times and simplify your cloud configurations? Try StackQL yourself and explore all the awesome features it comes with! ⭐ Star StackQL on GitHub: github.com/stackql/stackql Star StackQL on GitHub: github.com/stackql/stackql github.com/stackql/stackql 🌎 Website: stackql.io 🌎 Website: stackql.io stackql.io Thanks to the StackQL team for sponsoring this article. 2. Flagsmith – Feature flag management Flagsmith Flagsmith is an open-source feature flag management tool. You can use hosted API, deploy to your private cloud, or run as on-premise software. It enables gradual feature rollouts for safer deployments and easier A/B testing, reducing the risk of bugs and ensuring faster iteration cycles. 👨‍💻 GitHub Repository: https://github.com/Flagsmith/flagsmith GitHub Repository: https://github.com/Flagsmith/flagsmith 🌎 Website: flagsmith.com 🌎 Website: flagsmith.com 3. Formbricks – User feedback and analytics Formbricks Formbricks is an open-source tool for collecting user feedback and form analytics. It helps devs understand user behavior, allowing them to improve performance, reduce friction, and enhance the overall UX. 👨‍💻 GitHub Repository: https://github.com/formbricks/formbricks GitHub Repository: https://github.com/formbricks/formbricks 🌎 Website: formbricks.com 🌎 Website: formbricks.com 4. Dub – URL shortener with analytics Dub Dub is an open-source URL shortener with built-in analytics. It simplifies link management for websites, marketing, and projects. By allowing developers to manage and analyze shortened URLs, Dub streamlines project workflows, making link tracking and data gathering much easier. 👨‍💻 GitHub Repository: https://github.com/dubinc/dub GitHub Repository: https://github.com/dubinc/dub 🌎 Website: dub.co 🌎 Website: dub.co 5. AppFlowy – Project \u0026 notes management AppFlowy AppFlowy is an open-source, privacy-focused alternative to Notion. It provides a flexible workspace for managing tasks, notes, and general knowledge. AppFlowy offers teams control over their data and customizations, allowing them to create a tailored workspace while benefiting from privacy and scalability. 👨‍💻 GitHub Repository: https://github.com/AppFlowy-IO/AppFlowy GitHub Repository: https://github.com/AppFlowy-IO/AppFlowy 🌎 Website: appflowy.io 🌎 Website: appflowy.io 6. APITable – Visual database for collaborative apps APITable APITable combines the ease of spreadsheets with the power of databases. It helps teams collaborate on data-driven projects with visual and interactive tables. APITable simplifies data management and collaboration, allowing developers to organize and automate workflows with minimal setup and technical knowledge. 👨‍💻 GitHub Repository: https://github.com/apitable/apitable GitHub Repository: https://github.com/apitable/apitable 🌎 Website: aitable.ai 🌎 Website: aitable.ai 7. Flowise – Build LLM workflows with flowcharts Flowise Flowise is an open-source visual tool that simplifies building workflows for large language models (LLMs). It’s designed to integrate AI with apps easily. Flowise allows developers to visually manage complex LLM workflows, speeding up the integration of AI into their applications without deep coding knowledge. 👨‍💻 GitHub Repository: https://github.com/FlowiseAI/Flowise GitHub Repository: https://github.com/FlowiseAI/Flowise 🌎 Website: flowiseai.com 🌎 Website: flowiseai.com 8. Jan – Use AI with full control and privacy Jan Jan is an open-source tool; a ChatGPT alternative that runs 100% offline on your device but with more control, flexibility, and no privacy concerns. Jan enhances productivity by allowing you to ask questions, brainstorm, and learn from the AI running on your device to be more productive. 👨‍💻 GitHub Repository: https://github.com/janhq/jan GitHub Repository: https://github.com/janhq/jan 🌎 Website: jan.ai 🌎 Website: jan.ai 9. Docsify – Documentation site generator Docsify Docsify is an open-source documentation site generator that creates beautiful, responsive docs from markdown files. It simplifies the process of generating documentation, making it easy for developers to maintain and update their docs without complex builds. 👨‍💻 GitHub Repository: https://github.com/docsifyjs/docsify GitHub Repository: https://github.com/docsifyjs/docsify 🌎 Website: docsify.js.org 🌎 Website: docsify.js.org Did you like the resources? Here is more 👇 Join 6000+ others to receive the best DEV resources, tools, productivity tips, and career growth advice I discover by subscribing to my newsletter ! my newsletter Also, connect with me on Twitter , LinkedIn , and GitHub ! Twitter LinkedIn GitHub Writing has always been my passion and it gives me pleasure to help and inspire people. If you want to get featured or partner up, feel free to get in touch ! get in touch Also, published here . here","arweave":"xWSr3uTTuH30BsRWJd630y21023Wrp5ZBkIN_N8uyIc","createdAt":"2024-11-20T07:00:13.765Z","draftId":"m8aoGS68TWNroaCCH3WB","emoji":[],"excerpt":"Discover 9 open-source projects to enhance your cloud workflow, project management, user feedback, automation, and more.","featureImgColor":"rgb(75 129 179 / 70%)","firstSeenAt":"https://madza.hashnode.dev/9-open-source-projects-every-developer-needs-to-bookmark","fromSlack":false,"id":"m8aoGS68TWNroaCCH3WB","imageSizes":{"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.631Z-dtttxlh6orsjm6nyvjcxudhh":{"width":1328,"height":774},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.493Z-hz2k0zce1b3yju7q3qf12y95":{"width":1564,"height":866},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.630Z-t38zwbzexnm21ecmd8j4zwn6":{"width":1534,"height":876},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.356Z-k5xdrqypvsoked38wlt4r6po":{"width":1377,"height":813},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.273Z-l7i9l4lqciyi6qlifsh1ewex":{"width":1093,"height":512},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.343Z-vgivmk1pxrmctwku5int37n8":{"width":1166,"height":639},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.028Z-dij9i9ia0a11rysrieqrzmou":{"width":1032,"height":234},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.574Z-nb49nrzl7ffi6md2cstcu4qz":{"width":960,"height":540},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.057Z-qold7nn1cfgih5f71cv7201r":{"width":1084,"height":478},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.628Z-uezul4mqh9zorj64874nu6vh":{"width":960,"height":640},"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.261Z-sjj3kzvyhhq0zzrdb4r34hhv":{"width":1776,"height":731}},"linkAccreditation":{"goals":"","isBlogging":true,"isBusiness":null,"debut":null,"isPersonal":null},"mainImage":"https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg","mainImageHeight":840,"mainImageWidth":1600,"markup":null,"owner":"gaZTNviyRwbJIkQm85R8IxM2vOY2","parentCategory":"programming","parsed":"\u003cp\u003eIn today's tech world with fierce competition and tight deadlines, it is useful to explore new and exciting tools to improve the workflow.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eOpen-source tools are there to help; with some significant advantages over other tools - they're customizable, offer more control, and are community-driven.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003eI decided to handpick 9 powerful open-source projects that will enhance your cloud workflow, project management, user feedback, automation, and more.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003eWhether you are a beginner or a seasoned developer there should be something for everyone to elevate your toolkit and inspire your next big project.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003eLet’s dive in and hopefully, you will find some tools that you can use in the future!\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-1-stack-ql-manage-cloud-services-with-sql\"\u003e1. \u003ca href=\"https://github.com/stackql/stackql\"\u003eStackQL\u003c/a\u003e – Manage cloud services with SQL\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.574Z-nb49nrzl7ffi6md2cstcu4qz\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eStackQL offers a revolutionary approach to deploy, query, and interact with cloud services and resources using Structured query language (SQL).\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eThat means you no longer need to learn different APIs for each provider. StackQL parses your SQL statements and transpiles them into API requests that all your favorite major cloud providers would understand.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eSome of the best features include:\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSQL-based querying\u003c/strong\u003e: unified SQL semantics for various cloud providers lets you save time and manage cloud services more efficiently.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eMulti-cloud support:\u003c/strong\u003e manage Google Cloud, AWS, Azure, Digital Ocean, etc. resources all from a single interface.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSeveral usage modes:\u003c/strong\u003e use StackQL via the interactive REPL shell, via the command line utility, or execute StackQL statements in an input file (IQL file).\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003ePowerful operations:\u003c/strong\u003e perform live queries against cloud resources, make configuration changes, manage cloud infrastructure, and more.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAvailable for various OS\u003c/strong\u003e: available to download for Windows, MacOS, and Linux.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.628Z-uezul4mqh9zorj64874nu6vh\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003eReady to reduce setup times and simplify your cloud configurations? Try StackQL yourself and explore all the awesome features it comes with!\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e⭐ \u003cstrong\u003eStar StackQL on GitHub:\u003c/strong\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/stackql/stackql\"\u003egithub.com/stackql/stackql\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003cstrong\u003e\u003ca href=\"http://stackql.io\"\u003estackql.io\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003eThanks to the StackQL team for sponsoring this article.\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-2-flagsmith-feature-flag-management\"\u003e2. \u003ca href=\"https://github.com/Flagsmith/flagsmith\"\u003eFlagsmith\u003c/a\u003e – Feature flag management\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.630Z-t38zwbzexnm21ecmd8j4zwn6\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eFlagsmith is an open-source feature flag management tool. You can use hosted API, deploy to your private cloud, or run as on-premise software.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eIt enables gradual feature rollouts for safer deployments and easier A/B testing, reducing the risk of bugs and ensuring faster iteration cycles.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/Flagsmith/flagsmith\"\u003ehttps://github.com/Flagsmith/flagsmith\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://flagsmith.com\"\u003eflagsmith.com\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-3-formbricks-user-feedback-and-analytics\"\u003e3. \u003ca href=\"https://github.com/formbricks/formbricks\"\u003eFormbricks\u003c/a\u003e – User feedback and analytics\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:09.631Z-dtttxlh6orsjm6nyvjcxudhh\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eFormbricks is an open-source tool for collecting user feedback and form analytics.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eIt helps devs understand user behavior, allowing them to improve performance, reduce friction, and enhance the overall UX.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/formbricks/formbricks\"\u003ehttps://github.com/formbricks/formbricks\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://formbricks.com\"\u003eformbricks.com\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-4-dub-url-shortener-with-analytics\"\u003e4. \u003ca href=\"https://github.com/dubinc/dub\"\u003eDub\u003c/a\u003e – URL shortener with analytics\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.493Z-hz2k0zce1b3yju7q3qf12y95\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eDub is an open-source URL shortener with built-in analytics. It simplifies link management for websites, marketing, and projects.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eBy allowing developers to manage and analyze shortened URLs, Dub streamlines project workflows, making link tracking and data gathering much easier.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/dubinc/dub\"\u003ehttps://github.com/dubinc/dub\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://dub.co\"\u003edub.co\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-5-app-flowy-project-notes-management\"\u003e5. \u003ca href=\"https://github.com/AppFlowy-IO/AppFlowy\"\u003eAppFlowy\u003c/a\u003e – Project \u0026amp; notes management\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.356Z-k5xdrqypvsoked38wlt4r6po\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eAppFlowy is an open-source, privacy-focused alternative to Notion. It provides a flexible workspace for managing tasks, notes, and general knowledge.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eAppFlowy offers teams control over their data and customizations, allowing them to create a tailored workspace while benefiting from privacy and scalability.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/AppFlowy-IO/AppFlowy\"\u003ehttps://github.com/AppFlowy-IO/AppFlowy\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://appflowy.io\"\u003eappflowy.io\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-6-api-table-visual-database-for-collaborative-apps\"\u003e6. \u003ca href=\"https://github.com/apitable/apitable\"\u003eAPITable\u003c/a\u003e – Visual database for collaborative apps\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.343Z-vgivmk1pxrmctwku5int37n8\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eAPITable combines the ease of spreadsheets with the power of databases. It helps teams collaborate on data-driven projects with visual and interactive tables.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eAPITable simplifies data management and collaboration, allowing developers to organize and automate workflows with minimal setup and technical knowledge.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/apitable/apitable\"\u003ehttps://github.com/apitable/apitable\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://aitable.ai\"\u003eaitable.ai\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-7-flowise-build-llm-workflows-with-flowcharts\"\u003e7. \u003ca href=\"https://github.com/FlowiseAI/Flowise\"\u003eFlowise\u003c/a\u003e – Build LLM workflows with flowcharts\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.273Z-l7i9l4lqciyi6qlifsh1ewex\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eFlowise is an open-source visual tool that simplifies building workflows for large language models (LLMs). It’s designed to integrate AI with apps easily.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eFlowise allows developers to visually manage complex LLM workflows, speeding up the integration of AI into their applications without deep coding knowledge.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/FlowiseAI/Flowise\"\u003ehttps://github.com/FlowiseAI/Flowise\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://flowiseai.com\"\u003eflowiseai.com\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-8-jan-use-ai-with-full-control-and-privacy\"\u003e8. \u003ca href=\"https://github.com/janhq/jan\"\u003eJan\u003c/a\u003e – Use AI with full control and privacy\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.261Z-sjj3kzvyhhq0zzrdb4r34hhv\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eJan is an open-source tool; a ChatGPT alternative that runs 100% offline on your device but with more control, flexibility, and no privacy concerns.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eJan enhances productivity by allowing you to ask questions, brainstorm, and learn from the AI running on your device to be more productive.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/janhq/jan\"\u003ehttps://github.com/janhq/jan\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://jan.ai/\"\u003ejan.ai\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-9-docsify-documentation-site-generator\"\u003e9. \u003ca href=\"https://github.com/docsifyjs/docsify\"\u003eDocsify\u003c/a\u003e – Documentation site generator\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.057Z-qold7nn1cfgih5f71cv7201r\" alt=\"\"\u003e\u003c/p\u003e\u003cp\u003eDocsify is an open-source documentation site generator that creates beautiful, responsive docs from markdown files.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eIt simplifies the process of generating documentation, making it easy for developers to maintain and update their docs without complex builds.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e👨‍💻 \u003cstrong\u003eGitHub Repository:\u003c/strong\u003e \u003ca href=\"https://github.com/docsifyjs/docsify\"\u003ehttps://github.com/docsifyjs/docsify\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e🌎 Website:\u003c/strong\u003e \u003ca href=\"http://docsify.js.org\"\u003edocsify.js.org\u003c/a\u003e\u003c/p\u003e\u003chr\u003e\n\u003ch3 id=\"h-did-you-like-the-resources-here-is-more-👇\"\u003eDid you like the resources? Here is more 👇\u003c/h3\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eJoin 6000+ others to receive the best DEV resources, tools, productivity tips, and career growth advice I discover by subscribing to \u003ca href=\"https://madzadev.substack.com/\"\u003emy newsletter\u003c/a\u003e!\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://madzadev.substack.com/\"\u003e \u003cimg src=\"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-2024-11-20T07:00:10.028Z-dij9i9ia0a11rysrieqrzmou\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003eAlso, connect with me on \u003ca href=\"https://twitter.com/madzadev\"\u003eTwitter\u003c/a\u003e, \u003ca href=\"https://www.linkedin.com/in/madzadev/\"\u003eLinkedIn\u003c/a\u003e, and \u003ca href=\"https://github.com/madzadev\"\u003eGitHub\u003c/a\u003e!\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e\u003cp\u003eWriting has always been my passion and it gives me pleasure to help and inspire people. If you want to get featured or partner up, feel free to \u003ca href=\"https://www.madza.dev/contact\"\u003eget in touch\u003c/a\u003e!\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003chr\u003e\n\u003cp\u003eAlso, published \u003ca href=\"https://madza.hashnode.dev/9-open-source-projects-every-developer-needs-to-bookmark\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003c/p\u003e","profile":{"about_page_settings":{"blocked":false,"createdAt":"2021-12-16T04:44:44.044Z","owner":"gaZTNviyRwbJIkQm85R8IxM2vOY2","published":true,"style":{"headline_pos":"center","layout":0,"skin":0},"updatedAt":"2021-12-16T04:44:44.044Z"},"adLink":"","adText":"","avatar":"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg","bio":"Sharing the latest AI insights, essential tools, and productivity secrets to fuel your career growth!","callToActions":[{"active":true,"icon":"","id":"ckzo27t530003386h6y50wb1m","name":"Hire Me","url":"https://www.linkedin.com/in/madzadev/"},{"active":true,"icon":"","id":"ckzo27t530000386hy5qewove","name":"Portfolio","url":"https://madza.dev"},{"active":true,"icon":"fa-star","id":"2022 hackernoon contributor of the year music","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Music","url":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-music"},{"active":true,"icon":"fa-star","id":"2022 hackernoon contributor of the year html","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Html","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-html"},{"active":true,"icon":"fa-star","id":"2022 hackernoon contributor of the year job hunting","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Job Hunting","url":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-job-hunting"},{"active":true,"icon":"fa-star","id":"2022 hackernoon contributor of the year css","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Css","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-css"},{"active":true,"icon":"fa-star","id":"2022 hackernoon contributor of the year product","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Product","url":"https://www.noonies.tech/2022/emerging-tech/2022-hackernoon-contributor-of-the-year-product"}],"displayName":"Madza","handle":"madzadev","isBrand":false,"isTrusted":false,"allowSubscribers":true},"publishedAt":1732086015.534,"tags":["web-development","coding","programming","github","open-source","open-source-projects","open-source-productivity","open-source-tools"],"title":"9 Open Source Projects Every Developer Needs to Bookmark for Their Workflow","tldr":"Discover 9 open-source projects to enhance your cloud workflow, project management, user feedback, automation, and more.","backlinks":{"fetched":"2024-11-20T07:00:20.823Z","urls":["https://hackernoon.com/archives/2024/11/20","https://bsky.app/profile/hackernoon.com/post/3lbeetvmylr2k"]},"annotations":[],"fromMongo":true,"relatedStories":[{"id":"juoXWfACB36pydxOsxLp","active":true,"category":[],"companyName":"Spacecoin","customAd":"https://cdn.hackernoon.com/images/img-dx232ex.png","firstColor":"#29c929","font":"HackerNoon","fontColor":"#FFFFFF","image":"https://cdn.hackernoon.com/images/img-zf132oi.png","link":"https://spacecoin.org/?utm_source=Hackernoon\u0026utm_medium=topnavbar\u0026utm_campaign=writing_contest","logo":"","parentCategory":["programming"],"secondColor":"#009300","tags":[],"text":"Trustless, High-speed Internet","thirdColor":"#007200","type":"tag","website":"https://spacecoin.org/?utm_source=Hackernoon\u0026utm_medium=topnavbar\u0026utm_campaign=writing_contest"},{"id":"FC4LdmqKIa46oJlCoO0N","title":"10 Best UI/UX Project Ideas to Improve Your Frontend Skills 🎨🧙‍♂️","slug":"10-best-uiux-project-ideas-to-improve-your-frontend-skills","mainImage":"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-jl93h21.jpeg","tags":["inspiration","ui","ux","html","css","javascript","web-development","coding"],"profile":{"callToActions":[{"name":"Hire Me","icon":"","active":true,"id":"ckzo27t530003386h6y50wb1m","url":"https://www.linkedin.com/in/madzadev/"},{"name":"Portfolio","icon":"","active":true,"id":"ckzo27t530000386hy5qewove","url":"https://madza.dev"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Music","active":true,"id":"2022 hackernoon contributor of the year music","url":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-music"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Html","active":true,"id":"2022 hackernoon contributor of the year html","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-html"},{"name":"Nominated for 2022 - HackerNoon Contributor of the Year - Job Hunting","icon":"fa-star","active":true,"id":"2022 hackernoon contributor of the year job hunting","url":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-job-hunting"},{"name":"Nominated for 2022 - HackerNoon Contributor of the Year - Css","icon":"fa-star","active":true,"id":"2022 hackernoon contributor of the year css","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-css"},{"name":"Nominated for 2022 - HackerNoon Contributor of the Year - Product","icon":"fa-star","active":true,"id":"2022 hackernoon contributor of the year product","url":"https://www.noonies.tech/2022/emerging-tech/2022-hackernoon-contributor-of-the-year-product"}],"displayName":"Madza","bio":"Software Developer and Technical Writer","handle":"madzadev","avatar":"https://cdn.hackernoon.com/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-m693kk2.jpeg","adLink":"","about_page_settings":{},"adText":""},"fromSlack":false,"publishedAt":"2022-02-25T03:31:39.940Z"},{"objectID":"L1JXyMhDeNrvszf25zuv","title":"Obsidian for Beginners: The Only Guide You’ll Ever Need!","slug":"obsidian-for-beginners-the-only-guide-youll-ever-need","mainImage":"https://cdn.hackernoon.com/images/0iu1pHRMnqOT3GqhiW0OP3lK20h1-ko224no.png","tags":["obsidian","obsidian-tutorial","building-a-second-brain","second-brain-guide","build-your-second-brain","what-is-obsidian","note-taking","note-taking-tools"],"profile":{"avatar":"https://cdn.hackernoon.com/images/0iu1pHRMnqOT3GqhiW0OP3lK20h1-z1824d6.jpeg","displayName":"Vladislav Guzey","handle":"proflead"},"publishedAt":1736906312000},{"objectID":"tXPeyDSUT8Ve820Wclwn","title":"Women in Tech: Azize Sultan Shares Her Inspiring Journey from Architecture to Tech Leadership","slug":"women-in-tech-azize-sultan-shares-her-inspiring-journey-from-architecture-to-tech-leadership","mainImage":"https://cdn.hackernoon.com/images/M9cXUgms5nR9N9K2f20ZbdFOmg92-5y136wa.png","tags":["women-in-tech","technology","women-in-tech-interview","data-science","data-analytics","data-analysis","hackernoon-writing-prompts","hackernoon-interview"],"profile":{"avatar":"https://cdn.hackernoon.com/images/M9cXUgms5nR9N9K2f20ZbdFOmg92-fo834qa.png","displayName":"Azize Sultan Palali","handle":"azizepalali"},"publishedAt":1738095132000},{"objectID":"Y50etVDTTzwV04mkvVn9","title":"Aspect Oriented Programming Matters More Than You Think","slug":"aspect-oriented-programming-matters-more-than-you-think","mainImage":"https://cdn.hackernoon.com/images/x95vR82RuKhcswrBRspp0PoJ8M22-14034m7.png","tags":["java","aspect-oriented-programming","spring","aop","logging-and-monitoring","spring-framework","object-oriented-programming","oop"],"profile":{"avatar":"https://cdn.hackernoon.com/images/x95vR82RuKhcswrBRspp0PoJ8M22-hp834jn.jpeg","displayName":"Danil Temnikov","handle":"daniltemnikov"},"publishedAt":1738058256000},{"id":"104-stories-to-learn-about-go","title":"104 Stories To Learn About Go","slug":"104-stories-to-learn-about-go","mainImage":"https://cdn.hackernoon.com/images/github/go-46.png","tags":["go","learn","learn-go","golang","programming","software-development","coding","tutorial"],"profile":{"displayName":"HackerNoon Learn","callToActions":[{"name":"Star it GitHub.com/HackerNoon/Learn ","icon":"","active":true,"id":"0a8789708671a-brand","url":"https://github.com/hackernoon/learn"},{"icon":"fa fa-book","name":"Read My Stories","active":true,"id":"26e1cfa01d773","url":"https://hackernoon.com/u/learn"}],"cms":{"color":"#00ff00","paying":true,"domainSet":true,"ctas":[]},"bio":"Lets geek out. The HackerNoon library is now ranked by reading time created. Start learning by what others read most.","handle":"learn","medium":"","avatar":"https://cdn.hackernoon.com/images/zhLunuihpBhk4IjuH4amrounSwE2-asb3p1y.gif.webp","socialMedia":{"youtube":"hackernoon","github":"hackernoon/learn","twitter":"hackernoon","facebook":"hackernoon","instagram":"hackernoon"},"interested_tags":["agile-development","learn","learn-agile-development","agile","agile-development-stories","learn-agile","product-management","tech-listicle"],"avatarNFT":false,"domain":"www.learnrepo.com","about_page_settings":{},"long_bio":"","superpeerLink":"","isTrusted":true},"fromSlack":false,"publishedAt":"2023-05-03T14:00:13.588Z"},{"id":"105-stories-to-learn-about-functional-programming","title":"105 Stories To Learn About Functional Programming","slug":"105-stories-to-learn-about-functional-programming","mainImage":"https://cdn.hackernoon.com/images/github/functional-programming-136.png","tags":["functional-programming","learn","learn-functional-programming","programming","javascript","coding","software-development","web-monetization"],"profile":{"displayName":"HackerNoon Learn","callToActions":[{"name":"Star it GitHub.com/HackerNoon/Learn ","icon":"","active":true,"id":"0a8789708671a-brand","url":"https://github.com/hackernoon/learn"},{"icon":"fa fa-book","name":"Read My Stories","active":true,"id":"26e1cfa01d773","url":"https://hackernoon.com/u/learn"}],"cms":{"color":"#00ff00","paying":true,"domainSet":true,"ctas":[]},"bio":"Lets geek out. The HackerNoon library is now ranked by reading time created. Start learning by what others read most.","handle":"learn","medium":"","avatar":"https://cdn.hackernoon.com/images/zhLunuihpBhk4IjuH4amrounSwE2-asb3p1y.gif.webp","socialMedia":{"youtube":"hackernoon","github":"hackernoon/learn","twitter":"hackernoon","facebook":"hackernoon","instagram":"hackernoon"},"interested_tags":["agile-development","learn","learn-agile-development","agile","agile-development-stories","learn-agile","product-management","tech-listicle"],"avatarNFT":false,"domain":"www.learnrepo.com","about_page_settings":{},"long_bio":"","superpeerLink":"","isTrusted":true},"fromSlack":false,"publishedAt":"2023-05-01T14:30:33.037Z"},{"id":"PF4PnmdUNe7Jll5r9pPc","title":"100+ Free Pluralsight Courses to learn Python, Java, and Spring Boot ","slug":"100-free-pluralsight-courses-to-learn-python-java-and-spring-boot-ye6i3y0m","mainImage":"https://cdn.hackernoon.com/images/v821r3yol.jpg","tags":["programming","java","python","spring-boot","coding","web-development","machine-learning","pluralsight","web-monetization"],"profile":{"rejected":{"total":1,"Grammar":1},"callToActions":[{"icon":"far fa-unicorn","name":"Read my blog","active":true,"id":"406e3d3b4ac3d-brand","url":"http://javarevisited.blogspot.com/"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Django","active":true,"id":"2022 hackernoon contributor of the year django","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-django"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Online Education","active":true,"id":"2022 hackernoon contributor of the year online education","url":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-online-education"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Google Cloud Platform","active":true,"id":"2022 hackernoon contributor of the year google cloud platform","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-google-cloud-platform"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Neural Networks","active":true,"id":"2022 hackernoon contributor of the year neural networks","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-neural-networks"}],"displayName":"Javin Paul","bio":"I am Java programmer, blogger on http://javarevisited.blogspot.com and http://java67.com","linkedin":"https://www.linkedin.com/in/javinpaul","medium":"javinpaul","interested_tags":["java","coding","online-courses","tutorial","learn-to-code","java-development-resources","learning","beginners","web-monetization"],"preferredCharity":null,"bookmarks":["UotpL4KtE8DeRI5Qp9pA","USkxNq0HRi6SGIW0x3r0"],"showStatsPublicly":"","paymentPointer":"$ilp.uphold.com/rrpdMyBf79zU","twitter":"javinpaul","adIcon":"far fa-unicorn","adLink":"http://javarevisited.blogspot.com/","about_page_settings":{},"long_bio":"","publicBookmarks":true,"adText":"Read my blog","github":null,"facebook":"javinpaul","handle":"javinpaul","avatar":"https://hackernoon.com/images/avatars/MQzhgEvAeOXyPo3IjFRz4IZU3K83.jpg","socialMedia":{"twitter":"javinpaul","facebook":"javinpaul","linkedin":"https://www.linkedin.com/in/javinpaul"},"badges":["MdOJsYO2vwyOAycYMeZT","kMNWog5dfq1ADoR6dcTy"],"awards":{"noonies2022nom_2022 hackernoon contributor of the year django":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-django","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Django"},"noonies2022nom_2022 hackernoon contributor of the year google cloud platform":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-google-cloud-platform","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Google Cloud Platform"},"noonies2022nom_2022 hackernoon contributor of the year neural networks":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-neural-networks","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Neural Networks"},"noonies2022nom_2022 hackernoon contributor of the year online education":{"awardUrl":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-online-education","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Online Education"},"noonies2020":{"awardUrl":"https://www.noonies.tech/award/hacker-noon-contributor-of-the-year-cloud","year":"2020","awardImgUrl":"","description":"Winner of Noonies 2020 for the award Hacker Noon Contributor of the Year - CLOUD.","title":"2020 - Hacker Noon Contributor of the Year in CLOUD"}},"pub":"iHU0RxlxyT1KwCwxL2BkYeELo-YeJrxqqht3Jh8Z6U8.cW8bEF8Zt-XpJHT332j6GY6CM-v0dC9Apy6jxWw4wZU"},"fromSlack":false,"publishedAt":"2020-04-14T00:30:09.930Z"},{"id":"10-websites-to-learn-javascript-for-beginners-31e13bbdbb5c","title":"10 Websites to Learn JavaScript for Beginners","slug":"10-websites-to-learn-javascript-for-beginners-31e13bbdbb5c","mainImage":"https://cdn-images-1.medium.com/max/1024/0*TAeuz2dPCa4HZX3h","tags":["programming","javascript","web-development","software-development","coding","hackernoon-es"],"profile":{"rejected":{"total":1,"Grammar":1},"callToActions":[{"icon":"far fa-unicorn","name":"Read my blog","active":true,"id":"406e3d3b4ac3d-brand","url":"http://javarevisited.blogspot.com/"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Django","active":true,"id":"2022 hackernoon contributor of the year django","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-django"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Online Education","active":true,"id":"2022 hackernoon contributor of the year online education","url":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-online-education"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Google Cloud Platform","active":true,"id":"2022 hackernoon contributor of the year google cloud platform","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-google-cloud-platform"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Neural Networks","active":true,"id":"2022 hackernoon contributor of the year neural networks","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-neural-networks"}],"displayName":"Javin Paul","bio":"I am Java programmer, blogger on http://javarevisited.blogspot.com and http://java67.com","linkedin":"https://www.linkedin.com/in/javinpaul","medium":"javinpaul","interested_tags":["java","coding","online-courses","tutorial","learn-to-code","java-development-resources","learning","beginners","web-monetization"],"preferredCharity":null,"bookmarks":["UotpL4KtE8DeRI5Qp9pA","USkxNq0HRi6SGIW0x3r0"],"showStatsPublicly":"","paymentPointer":"$ilp.uphold.com/rrpdMyBf79zU","twitter":"javinpaul","adIcon":"far fa-unicorn","adLink":"http://javarevisited.blogspot.com/","about_page_settings":{},"long_bio":"","publicBookmarks":true,"adText":"Read my blog","github":null,"facebook":"javinpaul","handle":"javinpaul","avatar":"https://hackernoon.com/images/avatars/MQzhgEvAeOXyPo3IjFRz4IZU3K83.jpg","socialMedia":{"twitter":"javinpaul","facebook":"javinpaul","linkedin":"https://www.linkedin.com/in/javinpaul"},"badges":["MdOJsYO2vwyOAycYMeZT","kMNWog5dfq1ADoR6dcTy"],"awards":{"noonies2022nom_2022 hackernoon contributor of the year django":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-django","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Django"},"noonies2022nom_2022 hackernoon contributor of the year google cloud platform":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-google-cloud-platform","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Google Cloud Platform"},"noonies2022nom_2022 hackernoon contributor of the year neural networks":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-neural-networks","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Neural Networks"},"noonies2022nom_2022 hackernoon contributor of the year online education":{"awardUrl":"https://www.noonies.tech/2022/internet-heroes/2022-hackernoon-contributor-of-the-year-online-education","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Online Education"},"noonies2020":{"awardUrl":"https://www.noonies.tech/award/hacker-noon-contributor-of-the-year-cloud","year":"2020","awardImgUrl":"","description":"Winner of Noonies 2020 for the award Hacker Noon Contributor of the Year - CLOUD.","title":"2020 - Hacker Noon Contributor of the Year in CLOUD"}},"pub":"iHU0RxlxyT1KwCwxL2BkYeELo-YeJrxqqht3Jh8Z6U8.cW8bEF8Zt-XpJHT332j6GY6CM-v0dC9Apy6jxWw4wZU"},"fromSlack":false,"publishedAt":"2019-05-23T05:46:01.000Z"},{"id":"104-stories-to-learn-about-programming-top-story","title":"104 Stories To Learn About Programming Top Story","slug":"104-stories-to-learn-about-programming-top-story","mainImage":"https://cdn.hackernoon.com/images/github/programming-top-story-626.png","tags":["programming-top-story","learn","learn-programming-top-story","programming","software-development","javascript","python","coding"],"profile":{"displayName":"HackerNoon Learn","callToActions":[{"name":"Star it GitHub.com/HackerNoon/Learn ","icon":"","active":true,"id":"0a8789708671a-brand","url":"https://github.com/hackernoon/learn"},{"icon":"fa fa-book","name":"Read My Stories","active":true,"id":"26e1cfa01d773","url":"https://hackernoon.com/u/learn"}],"cms":{"color":"#00ff00","paying":true,"domainSet":true,"ctas":[]},"bio":"Lets geek out. The HackerNoon library is now ranked by reading time created. Start learning by what others read most.","handle":"learn","medium":"","avatar":"https://cdn.hackernoon.com/images/zhLunuihpBhk4IjuH4amrounSwE2-asb3p1y.gif.webp","socialMedia":{"youtube":"hackernoon","github":"hackernoon/learn","twitter":"hackernoon","facebook":"hackernoon","instagram":"hackernoon"},"interested_tags":["agile-development","learn","learn-agile-development","agile","agile-development-stories","learn-agile","product-management","tech-listicle"],"avatarNFT":false,"domain":"www.learnrepo.com","about_page_settings":{},"long_bio":"","superpeerLink":"","isTrusted":true},"fromSlack":false,"publishedAt":"2023-05-28T14:00:12.782Z"},{"id":"dPJpiJTNugk2x4lCkgEM","title":"10 Ways to Prevent and Manage Technical Debt—Tips from Developers","slug":"10-ways-to-prevent-and-manage-technical-debttips-from-developers-3lf319c","mainImage":"https://cdn.hackernoon.com/images/ySpu1hBXHrMRvb88XyZUQgx0l4K2-qb3y34gr.png","tags":["technical-debt","programming","software-development","coding","software-engineering","code-quality","refactoring","software-development-methods"],"profile":{"youtube":"","rejected":{"total":2,"No BAA Profile":2},"callToActions":[{"icon":"","name":"Get the AI companion for software projects. Never miscommunicate again","active":true,"id":"7a41dfbb70452-brand","url":"https://stepsize.com?utm_source=hackernoon\u0026utm_medium=content\u0026utm_campaign=hackernoon-profile-page"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Frontend","active":true,"id":"2022 hackernoon contributor of the year frontend","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-frontend"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Code Quality","active":true,"id":"2022 hackernoon contributor of the year code quality","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-code-quality"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Coding","active":true,"id":"2022 hackernoon contributor of the year coding","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-coding"},{"icon":"fa-star","name":"Nominated for 2022 - HackerNoon Contributor of the Year - Refactoring","active":true,"id":"2022 hackernoon contributor of the year refactoring","url":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-refactoring"}],"displayName":"Alex Omeyer","bio":"Co-founder \u0026 CEO at stepsize.com, creating the AI companion for software projects","instagram":"","linkedin":"https://www.linkedin.com/in/alexandre-omeyer-060a0175","medium":"alex_omeyer","interested_tags":["programming","software-development","technical-debt","coding","vscode-extensions","refactoring","jira-integration","javascript-assistant"],"preferredCharity":null,"bookmarks":["Q98RTY5B8jRQ5c6zBB8z"],"showStatsPublicly":true,"paymentPointer":null,"twitter":"AlexOmeyer","adIcon":"","adLink":"https://www.stepsize.com/","about_page_settings":{},"long_bio":"","publicBookmarks":true,"superpeerLink":"","adText":"Track and prioritise technical debt. Create your free account at stepsize.com","github":"","facebook":"","handle":"alexomeyer","avatar":"https://cdn.hackernoon.com/images/avatars/ySpu1hBXHrMRvb88XyZUQgx0l4K2.jpg","socialMedia":{"twitter":"AlexOmeyer","linkedin":"https://www.linkedin.com/in/alexandre-omeyer-060a0175"},"badges":["cuFm7xCjQxjb4EvCQaG5","rz9anY0LeXFzStVerDxb"],"awards":{"noonies2022nom_2022 hackernoon contributor of the year code quality":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-code-quality","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Code Quality"},"noonies2022nom_2022 hackernoon contributor of the year coding":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-coding","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Coding"},"noonies2022nom_2022 hackernoon contributor of the year frontend":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-frontend","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Frontend"},"noonies2022nom_2022 hackernoon contributor of the year refactoring":{"awardUrl":"https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-refactoring","year":"2022","awardImgUrl":"","description":"nomination","title":"2022 - HackerNoon Contributor of the Year - Refactoring"}}},"fromSlack":false,"publishedAt":"2021-06-03T20:06:58.585Z"}],"tagAd":{"id":"juoXWfACB36pydxOsxLp","active":true,"category":[],"companyName":"Spacecoin","customAd":"https://cdn.hackernoon.com/images/img-dx232ex.png","firstColor":"#29c929","font":"HackerNoon","fontColor":"#FFFFFF","image":"https://cdn.hackernoon.com/images/img-zf132oi.png","link":"https://spacecoin.org/?utm_source=Hackernoon\u0026utm_medium=topnavbar\u0026utm_campaign=writing_contest","logo":"","parentCategory":["programming"],"secondColor":"#009300","tags":[],"text":"Trustless, High-speed Internet","thirdColor":"#007200","type":"tag","website":"https://spacecoin.org/?utm_source=Hackernoon\u0026utm_medium=topnavbar\u0026utm_campaign=writing_contest"},"staticData":{"frLangTooltip":"Lisez cette histoire en Français!","about":"About","enLangTooltip":"Read this story in the original language, English!","loggedOutBookmark":"Create an account to store your bookmarks","learnMore":"Learn More","stats":"Stats","editStory":"Edit Story","audioPresented":"Audio Presented by","by":"by","audioTranslationText":null,"newStory":"New Story","loggedInBookmark":"Bookmark story","esLangTooltip":"Lee esta historia en Español!","relatedStories":"RELATED STORIES","addComment":"Add Comment","ptLangTooltip":"Leia esta história em português!","hiLangTooltip":"इस कहानी को हिंदी में पढ़ें!","comments":"Comments","removeBookmark":"Remove bookmark","commentReply":"Reply","minutes":"min","reads":"reads","trLangTooltip":"Bu hikayeyi Türkçe okuyun!","tags":"TOPICS","jaLangTooltip":"この物語を日本語で読んでください!","bnLangTooltip":"এই গল্পটি বাংলায় পড়ুন!","storyMentions":"MENTIONED IN THIS STORY","ruLangTooltip":"Прочтите эту историю на русском языке!","deLangTooltip":"Lesen Sie diese Geschichte auf Deutsch!","featuredIn":"THIS ARTICLE WAS FEATURED IN","tldrTitle":"Too Long; Didn't Read","koLangTooltip":"이 이야기를 한국어로 읽어보세요!","zhLangTooltip":"用繁體中文閱讀這個故事!","viLangTooltip":"Đọc bài viết này bằng tiếng Việt!"},"stats":{"pageviews":4295},"socialPreviewImage":"https://hackernoon.imgix.net/images/gaZTNviyRwbJIkQm85R8IxM2vOY2-au030yj.jpeg","audioData":null},"slug":"9-open-source-projects-every-developer-needs-to-bookmark-for-their-workflow"},"__N_SSG":true},"page":"/[slug]","query":{"slug":"9-open-source-projects-every-developer-needs-to-bookmark-for-their-workflow"},"buildId":"GXEZgbYLxHfUJ5ZniNe4H","isFallback":false,"dynamicIds":[83253,52876,50834,88554],"gsp":true,"scriptLoader":[{"id":"gtag_manager","strategy":"afterInteractive","dangerouslySetInnerHTML":{"__html":"(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'\u0026l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-WGQVQ44')"}}]}</script><div> <script type="text/javascript"> var _iub = _iub || []; _iub.csConfiguration = {"applyGdprForCH":false,"askConsentAtCookiePolicyUpdate":true,"countryDetection":true,"enableFadp":true,"enableLgpd":true,"enableTcf":true,"enableUspr":true,"gdprAppliesGlobally":false,"googleAdditionalConsentMode":true,"lang":"en","lgpdAppliesGlobally":false,"perPurposeConsent":true,"siteId":1848357,"tcfPurposes":{"2":"consent_only","7":"consent_only","8":"consent_only","9":"consent_only","10":"consent_only"},"cookiePolicyId":18778700, "banner":{ "acceptButtonCaptionColor":"white","acceptButtonColor":"#00d500","acceptButtonDisplay":true,"backgroundColor":"#000001","brandBackgroundColor":"#00FF00","brandTextColor":"#000000","closeButtonRejects":true,"customizeButtonCaptionColor":"#FFFFFF","customizeButtonColor":"#00AA00","customizeButtonDisplay":true,"explicitWithdrawal":true,"listPurposes":true,"logo":"https://hackernoon.imgix.net/hn-logo.png?auto=format&fit=max&w=320","ownerName":"Hacker Noon","position":"float-bottom-left","rejectButtonDisplay":true,"showPurposesToggles":true,"showTotalNumberOfProviders":true }}; </script> <script type="text/javascript" src="https://cs.iubenda.com/autoblocking/1848357.js"></script> <script type="text/javascript" src="https://cdn.iubenda.com/cs/tcf/stub-v2.js"></script> <script type="text/javascript" src="https://cdn.iubenda.com/cs/tcf/safe-tcf-v2.js"></script> <script type="text/javascript" src="https://cdn.iubenda.com/cs/gpp/stub.js"></script> <script type="text/javascript" src="https://cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script> </div></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10