CINXE.COM

DEV Community

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>DEV Community</title> <meta name="last-updated" content="2025-04-11 16:38:17 UTC"> <meta name="user-signed-in" content="false"> <meta name="head-cached-at" content="1744389497"> <meta name="environment" content="production"> <link rel="stylesheet" href="https://assets.dev.to/assets/minimal-6f5c5ed9c571b36ab9c316526d7032b5a4c789f3a4c35503492eb03376615fca.css" media="all" id="main-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-1c703342dce6eac414f19ca7fd07bcf83cbe44088659758144e52e7fa1e92dd3.css" media="all" id="main-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-0f2fc85bc159498f8ae6fba58c460e6deba863d02d59dfa994c1954976ddb6cc.css" media="all" id="main-crayons-stylesheet" /> <script src="https://assets.dev.to/assets/base-b8bdff515245fe895f3035d77697afb35d5d7e114bdf68291667479d4b289751.js" defer="defer"></script> <script src="https://assets.dev.to/assets/application-7258612fccf5d56314a6e4ad1898b4f818f474c4bb3485e302428d489a769a17.js" defer="defer"></script> <script src="https://assets.dev.to/assets/baseInitializers-b74902d56433062a87f5f1ce74769baf2a1a698772f46952b0ac72bc95c4abfd.js" defer="defer"></script> <script src="https://assets.dev.to/assets/baseTracking-b6bf73e5ee66633e151e7d5b7c6bbccedfa4c59e3615be97b98c4c0f543ddae7.js" defer="defer"></script> <meta name="search-script" content="https://assets.dev.to/assets/Search-7dcdad3172ab4501a4598fe8b716c7a88146e79fd42256d36fb1b83e27bf77cf.js"> <link rel="canonical" href="https://dev.to/" /> <meta name="description" content="A constructive and inclusive social network for software developers. With you every step of your journey."> <meta name="keywords" content="software development, engineering, rails, javascript, ruby"> <meta property="og:type" content="website" /> <meta property="og:url" content="https://dev.to/" /> <meta property="og:title" content="DEV Community" /> <meta property="og:image" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta property="og:description" content="A constructive and inclusive social network for software developers. With you every step of your journey." /> <meta property="og:site_name" content="DEV Community" /> <meta name="twitter:site" content="@thepracticaldev"> <meta name="twitter:title" content="DEV Community"> <meta name="twitter:description" content="A constructive and inclusive social network for software developers. With you every step of your journey."> <meta name="twitter:image:src" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta name="twitter:card" content="summary_large_image"> <link rel="alternate" type="application/rss+xml" title="DEV Community RSS Feed" href="https://dev.to/feed" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> <link rel="icon" type="image/x-icon" href="https://media2.dev.to/dynamic/image/width=32,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" /> <link rel="apple-touch-icon" href="https://media2.dev.to/dynamic/image/width=180,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="152x152" href="https://media2.dev.to/dynamic/image/width=152,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="180x180" href="https://media2.dev.to/dynamic/image/width=180,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="167x167" href="https://media2.dev.to/dynamic/image/width=167,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link href="https://media2.dev.to/dynamic/image/width=192,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" rel="icon" sizes="192x192" /> <link href="https://media2.dev.to/dynamic/image/width=128,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" rel="icon" sizes="128x128" /> <meta name="apple-mobile-web-app-title" content="dev.to"> <meta name="application-name" content="dev.to"> <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"> <meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)"> <link rel="search" href="https://dev.to/open-search.xml" type="application/opensearchdescription+xml" title="DEV Community" /> <meta property="forem:name" content="DEV Community" /> <meta property="forem:logo" content="https://media2.dev.to/dynamic/image/width=512,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" /> <meta property="forem:domain" content="dev.to" /> </head> <body class="sans-serif-article-body default-header" data-user-status="logged-out" data-community-name="DEV Community" data-subscription-icon="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" data-locale="en" data-honeybadger-key="hbp_nqu4Y66HuEKlD6YRGssZuRQnPOjDm50J8Zkr" data-deployed-at="2025-04-08T14:55:14Z" data-latest-commit-id="5a0700de76701df15587c62080964d2cb5e88158" data-ga-tracking="UA-71991109-1" data-cookie-banner-user-context="logged_out_only" data-cookie-banner-platform-context="off" data-algolia-id="PRSOBFP46H" data-algolia-search-key="9aa7d31610cba78851c9b1f63776a9dd" data-algolia-display="true" data-dynamic-url-component="bmar11" data-ga4-tracking-id="G-TYEM8Y3JN3"> <script> if (navigator.userAgent === 'ForemWebView/1' || window.frameElement) { document.body.classList.add("hidden-shell"); } </script> <link rel="stylesheet" href="https://assets.dev.to/assets/minimal-6f5c5ed9c571b36ab9c316526d7032b5a4c789f3a4c35503492eb03376615fca.css" media="all" id="secondary-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-1c703342dce6eac414f19ca7fd07bcf83cbe44088659758144e52e7fa1e92dd3.css" media="all" id="secondary-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-0f2fc85bc159498f8ae6fba58c460e6deba863d02d59dfa994c1954976ddb6cc.css" media="all" id="secondary-crayons-stylesheet" /> <div id="body-styles"> <style> :root { --accent-brand-lighter-rgb: 80, 99, 301; --accent-brand-rgb: 59, 73, 223; --accent-brand-darker-rgb: 47, 58, 178; } </style> </div> <div id="audiocontent" data-podcast=""> </div> <div class="navigation-progress" id="navigation-progress"></div> <header id="topbar" class="crayons-header topbar print-hidden"> <span id="route-change-target" tabindex="-1"></span> <a href="#main-content" class="skip-content-link">Skip to content</a> <div class="crayons-header__container"> <span class="inline-block m:hidden "> <button class="c-btn c-btn--icon-alone js-hamburger-trigger mx-2"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a109qtahte0mig8vhsa3sf7h6y0tc1g4" class="crayons-icon"><title id="a109qtahte0mig8vhsa3sf7h6y0tc1g4">Navigation menu</title> <path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"></path> </svg> </button> </span> <a href="/" class="site-logo" aria-label="DEV Community Home"> <img class="site-logo__img" src="https://media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png" style="aspect-ratio: 10 / 8" alt="DEV Community"> </a> <div class="crayons-header--search js-search-form" id="header-search"> <form accept-charset="UTF-8" method="get" action="/search" role="search"> <div class="crayons-fields crayons-fields--horizontal"> <div class="crayons-field flex-1 relative"> <input id="search-input" class="crayons-header--search-input crayons-textfield js-search-input" type="text" id="nav-search" name="q" placeholder="Search..." autocomplete="off" /> <button type="submit" aria-label="Search" class="c-btn c-btn--icon-alone absolute inset-px right-auto mt-0 py-0"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a8jhc09edkchvoc27f2dfm0eihyug1bl" aria-hidden="true" class="crayons-icon"><title id="a8jhc09edkchvoc27f2dfm0eihyug1bl">Search</title> <path d="M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0111 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 01-1.969 5.617zm-2.006-.742A6.977 6.977 0 0018 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 004.875-1.975l.15-.15z"></path> </svg> </button> <a class="crayons-header--search-brand-indicator" href="https://www.algolia.com/developers/?utm_source=devto&utm_medium=referral" target="_blank" rel="noopener noreferrer"> Powered by <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" width="24" height="24" viewBox="0 0 500 500.34" role="img" aria-labelledby="ad6wnx746hogbjay29ea7ao9ma9k216q" aria-hidden="true" class="crayons-icon"><title id="ad6wnx746hogbjay29ea7ao9ma9k216q">Search</title> <defs></defs><path class="cls-1" d="M250,0C113.38,0,2,110.16,.03,246.32c-2,138.29,110.19,252.87,248.49,253.67,42.71,.25,83.85-10.2,120.38-30.05,3.56-1.93,4.11-6.83,1.08-9.52l-23.39-20.74c-4.75-4.22-11.52-5.41-17.37-2.92-25.5,10.85-53.21,16.39-81.76,16.04-111.75-1.37-202.04-94.35-200.26-206.1,1.76-110.33,92.06-199.55,202.8-199.55h202.83V407.68l-115.08-102.25c-3.72-3.31-9.43-2.66-12.43,1.31-18.47,24.46-48.56,39.67-81.98,37.36-46.36-3.2-83.92-40.52-87.4-86.86-4.15-55.28,39.65-101.58,94.07-101.58,49.21,0,89.74,37.88,93.97,86.01,.38,4.28,2.31,8.28,5.53,11.13l29.97,26.57c3.4,3.01,8.8,1.17,9.63-3.3,2.16-11.55,2.92-23.6,2.07-35.95-4.83-70.39-61.84-127.01-132.26-131.35-80.73-4.98-148.23,58.18-150.37,137.35-2.09,77.15,61.12,143.66,138.28,145.36,32.21,.71,62.07-9.42,86.2-26.97l150.36,133.29c6.45,5.71,16.62,1.14,16.62-7.48V9.49C500,4.25,495.75,0,490.51,0H250Z"></path> </svg> Algolia </a> </div> </div> </form> </div> <div class="flex items-center h-100 ml-auto"> <div class="flex" id="authentication-top-nav-actions"> <span class="hidden m:block"> <a href="https://dev.to/enter" class="c-link c-link--block mr-2 whitespace-nowrap ml-auto" data-no-instant> Log in </a> </span> <a href="https://dev.to/enter?state=new-user" data-tracking-id="ca_top_nav" data-tracking-source="top_navbar" class="c-cta c-cta--branded whitespace-nowrap mr-2" data-no-instant> Create account </a> </div> </div> </div> </header> <div class="hamburger"> <div class="hamburger__content"> <header class="hamburger__content__header"> <h2 class="fs-l fw-bold flex-1 break-word lh-tight">DEV Community</h2> <button class="c-btn c-btn--icon-alone js-hamburger-trigger shrink-0" aria-label="Close"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a4ni47qsc6zfs1782jtyzjgghrbbgu8g" aria-hidden="true" class="crayons-icon c-btn__icon"><title id="a4ni47qsc6zfs1782jtyzjgghrbbgu8g">Close</title><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z"></path></svg> </button> </header> <div class="p-2 js-navigation-links-container" id="authentication-hamburger-actions"> </div> </div> <div class="hamburger__overlay js-hamburger-trigger"></div> </div> <div id="active-broadcast" class="broadcast-wrapper"></div> <div id="page-content" class="wrapper stories stories-index" data-current-page="stories-index"> <div id="page-content-inner" data-internal-nav="false"> <div id="page-route-change" class="screen-reader-only" aria-live="polite" aria-atomic="true"></div> <script src="https://assets.dev.to/assets/homePage-11cb3cd42b25bc0cebb3d5fe6dee09d50f349acd6838a659d86686c1245669e2.js" defer="defer"></script> <div class="crayons-layout crayons-layout--3-cols crayons-layout--3-cols--drop-right-left" id="index-container" data-params="{&quot;sort_by&quot;:&quot;hotness_score&quot;,&quot;sort_direction&quot;:&quot;desc&quot;}" data-which="" data-tag="" data-feed="base-feed" data-feed-use-stories-endpoint="false" data-feed-context-type="home" data-feed-category-impression="impression" data-feed-category-click="click" data-feed-category-reaction="reaction" data-feed-category-comment="comment" data-feed-category-extended_pageview="extended_pageview" data-articles-since=""> <div id="sidebar-wrapper-left" class="sidebar-wrapper sidebar-wrapper-left crayons-layout__sidebar-left crayons-layout__content"> <aside class="side-bar" aria-label="Primary sidebar"> <div class="crayons-card crayons-card--secondary p-4"> <h2 class="crayons-subtitle-2 lh-tight mb-4"> DEV Community is a community of 3,018,632 amazing developers </h2> <p class="color-base-70 mb-4"> We&#39;re a place where coders share, stay up-to-date and grow their careers. </p> <div> <a href="/enter?state=new-user" data-tracking-id="ca_left_sidebar_home_page" data-tracking-source="left_sidebar" class="c-cta c-cta--branded justify-center w-100 mb-1" aria-label="Create new account">Create account</a> <a href="/enter" class="c-link c-link--block justify-center" aria-label="Log in">Log in</a> </div> </div> <nav class="mb-4 mt-4" data-testid="main-nav" aria-label="DEV Community"> <ul class="default-navigation-links sidebar-navigation-links spec-sidebar-navigation-links"> <li> <a href="/" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#A0041E" d="M13.344 18.702h-2a.5.5 0 01-.5-.5v-7a.5.5 0 01.5-.5h2a.5.5 0 01.5.5v7a.5.5 0 01-.5.5z"/> <path fill="#FFE8B6" d="M9 20L22 7l13 13v17H9z"/> <path fill="#FFCC4D" d="M22 20h1v16h-1z"/> <path fill="#66757F" d="M35 21a.997.997 0 01-.707-.293L22 8.414 9.707 20.707a1 1 0 11-1.414-1.414l13-13a.999.999 0 011.414 0l13 13A.999.999 0 0135 21z"/> <path fill="#66757F" d="M22 21a.999.999 0 01-.707-1.707l6.5-6.5a1 1 0 111.414 1.414l-6.5 6.5A.997.997 0 0122 21z"/> <path fill="#C1694F" d="M14 30h4v6h-4z"/> <path fill="#55ACEE" d="M14 21h4v4h-4zm12.5 0h4v4h-4zm0 9h4v4h-4z"/> <path fill="#5C913B" d="M37.5 37.5A1.5 1.5 0 0136 39H8a1.5 1.5 0 010-3h28a1.5 1.5 0 011.5 1.5z"/> </g> </svg> </span> Home </a> </li> <li> <a href="/++" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 166.000000 102.000000" preserveAspectRatio="xMidYMid meet" fill="#3b49df"> <g transform="translate(0.000000,102.000000) scale(0.100000,-0.100000)" fill="#3b49df" stroke="none"> <path d="M305 953 c-42 -22 -64 -43 -83 -78 -14 -25 -18 -76 -22 -305 -7 -313 -12 -336 -96 -450 -24 -33 -44 -62 -44 -65 0 -3 318 -4 708 -3 l707 3 47 27 c32 20 52 41 67 72 21 43 22 54 19 374 l-3 330 -31 39 c-61 76 -30 73 -669 73 -500 -1 -574 -3 -600 -17z m405 -278 l0 -84 83 -3 82 -3 0 -75 0 -75 -82 -3 -83 -3 0 -84 0 -85 -75 0 -75 0 0 85 0 85 -75 0 c-41 0 -75 3 -75 8 0 4 8 39 18 77 l18 70 57 3 57 3 0 84 0 85 75 0 75 0 0 -85z m578 -2 l3 -82 82 -3 82 -3 0 -75 0 -75 -82 -3 -82 -3 -3 -82 -3 -82 -75 0 -75 0 -3 83 -3 82 -79 0 -80 0 0 80 0 80 80 0 80 0 0 78 c0 43 3 82 7 86 4 4 39 5 78 4 l70 -3 3 -82z"/> </g> </svg> </span> DEV++ </a> </li> <li> <a href="/pod" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#292F33" d="M10 19h24v2H10zm15 15c0 2.208-.792 4-3 4-2.209 0-3-1.792-3-4s.791-2 3-2c2.208 0 3-.208 3 2z"/> <path fill="#66757F" d="M22 35c-6.627 0-10 1.343-10 3v2h20v-2c0-1.657-3.373-3-10-3z"/> <path fill="#99AAB5" d="M22 4a9 9 0 00-9 9v7h18v-7a9 9 0 00-9-9z"/> <g fill="#292F33" transform="translate(4 4)"> <circle cx="15.5" cy="2.5" r="1.5"/> <circle cx="20.5" cy="2.5" r="1.5"/> <circle cx="17.5" cy="6.5" r="1.5"/> <circle cx="22.5" cy="6.5" r="1.5"/> <circle cx="12.5" cy="6.5" r="1.5"/> <circle cx="15.5" cy="10.5" r="1.5"/> <circle cx="10.5" cy="10.5" r="1.5"/> <circle cx="20.5" cy="10.5" r="1.5"/> <circle cx="25.5" cy="10.5" r="1.5"/> <circle cx="17.5" cy="14.5" r="1.5"/> <circle cx="22.5" cy="14.5" r="1.5"/> <circle cx="12.5" cy="14.5" r="1.5"/> </g> <path fill="#66757F" d="M13 19.062V21c0 4.971 4.029 9 9 9s9-4.029 9-9v-1.938H13z"/> <path fill="#66757F" d="M34 18a1 1 0 00-1 1v2c0 6.074-4.925 11-11 11s-11-4.926-11-11v-2a1 1 0 00-2 0v2c0 7.18 5.82 13 13 13s13-5.82 13-13v-2a1 1 0 00-1-1z"/> </g> </svg> </span> Podcasts </a> </li> <li> <a href="/videos" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <path fill="#31373D" d="M34.074 18l-4.832 3H28v-4c0-.088-.02-.169-.026-.256C31.436 15.864 34 12.735 34 9a8 8 0 00-16.001 0c0 1.463.412 2.822 1.099 4H14.92c.047-.328.08-.66.08-1a7 7 0 10-14 0 6.995 6.995 0 004 6.317V29a4 4 0 004 4h15a4 4 0 004-4v-3h1.242l4.832 3H35V18h-.926zM28.727 3.977a5.713 5.713 0 012.984 4.961L28.18 8.35a2.276 2.276 0 00-.583-.982l1.13-3.391zm-.9 6.342l3.552.592a5.713 5.713 0 01-4.214 3.669 3.985 3.985 0 00-1.392-1.148l.625-2.19a2.425 2.425 0 001.429-.923zM26 3.285c.282 0 .557.027.828.067l-1.131 3.392c-.404.054-.772.21-1.081.446L21.42 5.592A5.703 5.703 0 0126 3.285zM20.285 9c0-.563.085-1.106.236-1.62l3.194 1.597-.002.023c0 .657.313 1.245.771 1.662L23.816 13h-1.871a5.665 5.665 0 01-1.66-4zm-9.088-.385A4.64 4.64 0 0112.667 12c0 .344-.043.677-.113 1H10.1c.145-.304.233-.641.233-1a2.32 2.32 0 00-.392-1.292l1.256-2.093zM8 7.333c.519 0 1.01.105 1.476.261L8.22 9.688c-.073-.007-.145-.022-.22-.022a2.32 2.32 0 00-1.292.392L4.615 8.803A4.64 4.64 0 018 7.333zM3.333 12c0-.519.105-1.01.261-1.477l2.095 1.257c-.007.073-.022.144-.022.22 0 .75.36 1.41.91 1.837a3.987 3.987 0 00-1.353 1.895C4.083 14.881 3.333 13.533 3.333 12z"/> <circle fill="#8899A6" cx="24" cy="19" r="2"/> <circle fill="#8899A6" cx="9" cy="19" r="2"/> <path fill="#8899A6" d="M24 27a2 2 0 00-2-2H11a2 2 0 00-2 2v6a2 2 0 002 2h11a2 2 0 002-2v-6z"/> </g> </svg> </span> Videos </a> </li> <li> <a href="/tags" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFD983" d="M36.017 24.181L21.345 9.746C20.687 9.087 19.823 9 18.96 9H8.883C7.029 9 6 10.029 6 11.883v10.082c0 .861.089 1.723.746 2.38L21.3 39.017a3.287 3.287 0 004.688 0l10.059-10.088c1.31-1.312 1.28-3.438-.03-4.748zm-23.596-8.76a1.497 1.497 0 11-2.118-2.117 1.497 1.497 0 012.118 2.117z"/> <path fill="#D99E82" d="M13.952 11.772a3.66 3.66 0 00-5.179 0 3.663 3.663 0 105.18 5.18 3.664 3.664 0 00-.001-5.18zm-1.53 3.65a1.499 1.499 0 11-2.119-2.12 1.499 1.499 0 012.119 2.12z"/> <path fill="#C1694F" d="M12.507 14.501a1 1 0 11-1.415-1.414l8.485-8.485a1 1 0 111.415 1.414l-8.485 8.485z"/> </g> </svg> </span> Tags </a> </li> <li> <a href="/help" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFD983" d="M33 15.06c0 6.439-5 7.439-5 13.44 0 3.098-3.123 3.359-5.5 3.359-2.053 0-6.586-.779-6.586-3.361C15.914 22.5 11 21.5 11 15.06c0-6.031 5.285-10.92 11.083-10.92C27.883 4.14 33 9.029 33 15.06z"/> <path fill="#CCD6DD" d="M26.167 36.5c0 .828-2.234 2.5-4.167 2.5-1.933 0-4.167-1.672-4.167-2.5 0-.828 2.233-.5 4.167-.5 1.933 0 4.167-.328 4.167.5z"/> <path fill="#FFCC4D" d="M26.707 14.293a.999.999 0 00-1.414 0L22 17.586l-3.293-3.293a1 1 0 10-1.414 1.414L21 19.414V30a1 1 0 102 0V19.414l3.707-3.707a.999.999 0 000-1.414z"/> <path fill="#99AAB5" d="M28 35a2 2 0 01-2 2h-8a2 2 0 01-2-2v-6h12v6z"/> <path fill="#CCD6DD" d="M15.999 36a1 1 0 01-.163-1.986l12-2a.994.994 0 011.15.822.999.999 0 01-.822 1.15l-12 2a.927.927 0 01-.165.014zm0-4a1 1 0 01-.163-1.986l12-2a.995.995 0 011.15.822.999.999 0 01-.822 1.15l-12 2a.927.927 0 01-.165.014z"/> </g> </svg> </span> DEV Help </a> </li> <li> <a href="https://shop.forem.com/" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F4900C" d="M11 0C6.582 0 3 3.582 3 8v8h2V8c0-3.313 2.687-6 6-6 3.314 0 6 2.687 6 6v8h2V8c0-4.418-3.582-8-8-8z"/><path fill="#DD2E44" d="M1 8l2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2v23H1z"/><path fill="#FFCC4D" d="M25 5c-4.418 0-8 3.582-8 8v8h2v-8c0-3.314 2.688-6 6-6 3.315 0 6 2.686 6 6v8h2v-8c0-4.418-3.582-8-8-8z"/><path fill="#744EAA" d="M15 13l2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2v23H15z"/></svg> </span> Forem Shop </a> </li> <li> <a href="/advertise" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <path fill="#DD2E44" d="M39.885 15.833c0-5.45-4.418-9.868-9.867-9.868-3.308 0-6.227 1.633-8.018 4.129-1.791-2.496-4.71-4.129-8.017-4.129-5.45 0-9.868 4.417-9.868 9.868 0 .772.098 1.52.266 2.241C5.751 26.587 15.216 35.568 22 38.034c6.783-2.466 16.249-11.447 17.617-19.959.17-.721.268-1.469.268-2.242z"/> </svg> </span> Advertise on DEV </a> </li> <li> <a href="/challenges" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M5.123 5h6C12.227 5 13 4.896 13 6V4c0-1.104-.773-2-1.877-2h-8c-2 0-3.583 2.125-3 5 0 0 1.791 9.375 1.917 9.958C2.373 18.5 4.164 20 6.081 20h6.958c1.105 0-.039-1.896-.039-3v-2c0 1.104-.773 2-1.877 2h-4c-1.104 0-1.833-1.042-2-2S3.539 7.667 3.539 7.667C3.206 5.75 4.018 5 5.123 5zm25.812 0h-6C23.831 5 22 4.896 22 6V4c0-1.104 1.831-2 2.935-2h8c2 0 3.584 2.125 3 5 0 0-1.633 9.419-1.771 10-.354 1.5-2.042 3-4 3h-7.146C21.914 20 22 18.104 22 17v-2c0 1.104 1.831 2 2.935 2h4c1.104 0 1.834-1.042 2-2s1.584-7.333 1.584-7.333C32.851 5.75 32.04 5 30.935 5zM20.832 22c0-6.958-2.709 0-2.709 0s-3-6.958-3 0-3.291 10-3.291 10h12.292c-.001 0-3.292-3.042-3.292-10z"/><path fill="#FFCC4D" d="M29.123 6.577c0 6.775-6.77 18.192-11 18.192-4.231 0-11-11.417-11-18.192 0-5.195 1-6.319 3-6.319 1.374 0 6.025-.027 8-.027l7-.001c2.917-.001 4 .684 4 6.347z"/><path fill="#C1694F" d="M27 33c0 1.104.227 2-.877 2h-16C9.018 35 9 34.104 9 33v-1c0-1.104 1.164-2 2.206-2h13.917c1.042 0 1.877.896 1.877 2v1z"/><path fill="#C1694F" d="M29 34.625c0 .76.165 1.375-1.252 1.375H8.498C7.206 36 7 35.385 7 34.625v-.25C7 33.615 7.738 33 8.498 33h19.25c.759 0 1.252.615 1.252 1.375v.25z"/></svg> </span> DEV Challenges </a> </li> <li> <a href="/showcase" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M34.347 16.893l-8.899-3.294-3.323-10.891c-.128-.42-.517-.708-.956-.708-.439 0-.828.288-.956.708l-3.322 10.891-8.9 3.294c-.393.146-.653.519-.653.938 0 .418.26.793.653.938l8.895 3.293 3.324 11.223c.126.424.516.715.959.715.442 0 .833-.291.959-.716l3.324-11.223 8.896-3.293c.391-.144.652-.518.652-.937 0-.418-.261-.792-.653-.938z"/><path fill="#FFCC4D" d="M14.347 27.894l-2.314-.856-.9-3.3c-.118-.436-.513-.738-.964-.738-.451 0-.846.302-.965.737l-.9 3.3-2.313.856c-.393.145-.653.52-.653.938 0 .418.26.793.653.938l2.301.853.907 3.622c.112.444.511.756.97.756.459 0 .858-.312.97-.757l.907-3.622 2.301-.853c.393-.144.653-.519.653-.937 0-.418-.26-.793-.653-.937zM10.009 6.231l-2.364-.875-.876-2.365c-.145-.393-.519-.653-.938-.653-.418 0-.792.26-.938.653l-.875 2.365-2.365.875c-.393.146-.653.52-.653.938 0 .418.26.793.653.938l2.365.875.875 2.365c.146.393.52.653.938.653.418 0 .792-.26.938-.653l.875-2.365 2.365-.875c.393-.146.653-.52.653-.938 0-.418-.26-.792-.653-.938z"/></svg> </span> DEV Showcase </a> </li> <li> <a href="/about" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 47.5 47.5" style="enable-background:new 0 0 47.5 47.5;" id="svg2" xml:space="preserve"><defs id="defs6"><clipPath id="clipPath18"><path d="M 0,38 38,38 38,0 0,0 0,38 z" id="path20"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,47.5)" id="g12"><g id="g14"><g clip-path="url(#clipPath18)" id="g16"><g transform="translate(37,19)" id="g22"><path d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" id="path24" style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(2.2402,25.9824)" id="g26"><path d="m 0,0 c 0.24,-0.239 1.437,-0.958 1.677,-1.675 0.24,-0.717 0.72,-4.784 2.158,-5.981 1.484,-1.233 7.077,-0.774 8.149,-0.24 2.397,1.195 2.691,4.531 3.115,6.221 0.239,0.957 1.677,0.957 1.677,0.957 0,0 1.439,0 1.678,-0.956 0.424,-1.691 0.72,-5.027 3.115,-6.221 1.073,-0.535 6.666,-0.994 8.152,0.239 1.435,1.197 1.915,5.264 2.155,5.982 0.238,0.717 1.437,1.435 1.677,1.674 0.241,0.239 0.241,1.196 0,1.436 C 33.074,1.914 27.419,2.34 21.33,1.675 20.115,1.542 19.653,1.196 16.776,1.196 13.901,1.196 13.438,1.542 12.223,1.674 6.136,2.34 0.479,1.914 0,1.436 -0.239,1.196 -0.239,0.239 0,0" id="path28" style="fill:#292f33;fill-opacity:1;fill-rule:evenodd;stroke:none"/></g><g transform="translate(28.335,13.3711)" id="g30"><path d="m 0,0 c -0.178,0.161 -0.444,0.171 -0.635,0.029 -0.039,-0.029 -3.922,-2.9 -8.7,-2.9 -4.766,0 -8.662,2.871 -8.7,2.9 -0.191,0.142 -0.457,0.13 -0.635,-0.029 -0.177,-0.16 -0.217,-0.424 -0.094,-0.628 0.129,-0.215 3.217,-5.243 9.429,-5.243 6.212,0 9.301,5.028 9.429,5.243 C 0.217,-0.423 0.178,-0.16 0,0" id="path32" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g></g></g></svg> </span> About </a> </li> <li> <a href="/contact" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFAC33" d="M38.724 33.656c-1.239-.01-1.241 1.205-1.241 1.205H22.5c-5.246 0-9.5-4.254-9.5-9.5s4.254-9.5 9.5-9.5 9.5 4.254 9.5 9.5c0 3.062-1.6 5.897-3.852 7.633h5.434C35.022 30.849 36 28.139 36 25.361c0-7.456-6.045-13.5-13.5-13.5-7.456 0-13.5 6.044-13.5 13.5 0 7.455 6.044 13.5 13.5 13.5h14.982s-.003 1.127 1.241 1.139c1.238.012 1.228-1.245 1.228-1.245l.014-3.821s.001-1.267-1.241-1.278zM9 18.26a16.047 16.047 0 014-4.739V13c0-5 5-7 5-8s-1-1-1-1H5C4 4 4 5 4 5c0 1 5 3.333 5 7.69v5.57z"/> <path fill="#BE1931" d="M17.091 33.166a9.487 9.487 0 01-4.045-8.72l-3.977-.461c-.046.452-.069.911-.069 1.376 0 4.573 2.28 8.608 5.76 11.051l2.331-3.246z"/> <path fill="#BE1931" d="M10 29.924s-5.188-.812-5 1 5-1 5-1zm0 .312s-4.125 2.688-2.938 3.75S10 30.236 10 30.236z"/> </g> </svg> </span> Contact </a> </li> <li> <a href="/free-postgres-database-tier" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" height="64" viewBox="0 0 25.6 25.6" width="64"><style><![CDATA[.B{stroke-linecap:round}.C{stroke-linejoin:round}.D{stroke-linejoin:miter}.E{stroke-width:.716}]]></style><g fill="none" stroke="#fff"><path d="M18.983 18.636c.163-1.357.114-1.555 1.124-1.336l.257.023c.777.035 1.793-.125 2.4-.402 1.285-.596 2.047-1.592.78-1.33-2.89.596-3.1-.383-3.1-.383 3.053-4.53 4.33-10.28 3.227-11.687-3.004-3.84-8.205-2.024-8.292-1.976l-.028.005c-.57-.12-1.2-.19-1.93-.2-1.308-.02-2.3.343-3.054.914 0 0-9.277-3.822-8.846 4.807.092 1.836 2.63 13.9 5.66 10.25C8.29 15.987 9.36 14.86 9.36 14.86c.53.353 1.167.533 1.834.468l.052-.044a2.01 2.01 0 0 0 .021.518c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.162l-.046.183c.306.245.285 1.76.33 2.842s.116 2.093.337 2.688.48 2.13 2.53 1.7c1.713-.367 3.023-.896 3.143-5.81" fill="#000" stroke="#000" stroke-linecap="butt" stroke-width="2.149" class="D"/><path d="M23.535 15.6c-2.89.596-3.1-.383-3.1-.383 3.053-4.53 4.33-10.28 3.228-11.687-3.004-3.84-8.205-2.023-8.292-1.976l-.028.005a10.31 10.31 0 0 0-1.929-.201c-1.308-.02-2.3.343-3.054.914 0 0-9.278-3.822-8.846 4.807.092 1.836 2.63 13.9 5.66 10.25C8.29 15.987 9.36 14.86 9.36 14.86c.53.353 1.167.533 1.834.468l.052-.044a2.02 2.02 0 0 0 .021.518c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.162l-.046.183c.306.245.52 1.593.484 2.815s-.06 2.06.18 2.716.48 2.13 2.53 1.7c1.713-.367 2.6-1.32 2.725-2.906.088-1.128.286-.962.3-1.97l.16-.478c.183-1.53.03-2.023 1.085-1.793l.257.023c.777.035 1.794-.125 2.39-.402 1.285-.596 2.047-1.592.78-1.33z" fill="#336791" stroke="none"/><g class="E"><g class="B"><path d="M12.814 16.467c-.08 2.846.02 5.712.298 6.4s.875 2.05 2.926 1.612c1.713-.367 2.337-1.078 2.607-2.647l.633-5.017M10.356 2.2S1.072-1.596 1.504 7.033c.092 1.836 2.63 13.9 5.66 10.25C8.27 15.95 9.27 14.907 9.27 14.907m6.1-13.4c-.32.1 5.164-2.005 8.282 1.978 1.1 1.407-.175 7.157-3.228 11.687" class="C"/><path d="M20.425 15.17s.2.98 3.1.382c1.267-.262.504.734-.78 1.33-1.054.49-3.418.615-3.457-.06-.1-1.745 1.244-1.215 1.147-1.652-.088-.394-.69-.78-1.086-1.744-.347-.84-4.76-7.29 1.224-6.333.22-.045-1.56-5.7-7.16-5.782S7.99 8.196 7.99 8.196" stroke-linejoin="bevel"/></g><g class="C"><path d="M11.247 15.768c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.163.35-.49-.002-1.27-.482-1.468-.232-.096-.542-.216-.94.23z"/><path d="M11.196 15.753c-.08-.513.168-1.122.433-1.836.398-1.07 1.316-2.14.582-5.537-.547-2.53-4.22-.527-4.22-.184s.166 1.74-.06 3.365c-.297 2.122 1.35 3.916 3.246 3.733" class="B"/></g></g><g fill="#fff" class="D"><path d="M10.322 8.145c-.017.117.215.43.516.472s.558-.202.575-.32-.215-.246-.516-.288-.56.02-.575.136z" stroke-width=".239"/><path d="M19.486 7.906c.016.117-.215.43-.516.472s-.56-.202-.575-.32.215-.246.516-.288.56.02.575.136z" stroke-width=".119"/></g><path d="M20.562 7.095c.05.92-.198 1.545-.23 2.524-.046 1.422.678 3.05-.413 4.68" class="B C E"/></g></svg> </span> Free Postgres Database </a> </li> <li> <a href="/software-comparisons" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 45" style="enable-background:new 0 0 45 45;" xml:space="preserve" version="1.1" id="svg2"><metadata id="metadata8"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata><defs id="defs6"><clipPath id="clipPath16" clipPathUnits="userSpaceOnUse"><path id="path18" d="M 0,36 36,36 36,0 0,0 0,36 Z"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,45)" id="g10"><g id="g12"><g clip-path="url(#clipPath16)" id="g14"><g transform="translate(2,20)" id="g20"><path id="path22" style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-8.837 7.164,-16 16,-16 8.837,0 16,7.163 16,16 C 32,8.836 24.837,16 16,16 7.164,16 0,8.836 0,0"/></g><g transform="translate(15.4063,25.5)" id="g24"><path id="path26" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-1.381 -0.896,-2.5 -2,-2.5 -1.104,0 -2,1.119 -2,2.5 0,1.38 0.896,2.5 2,2.5 1.104,0 2,-1.12 2,-2.5"/></g><g transform="translate(26,24.5)" id="g28"><path id="path30" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-1.381 -0.895,-2.5 -2,-2.5 -1.104,0 -2,1.119 -2,2.5 0,1.38 0.896,2.5 2,2.5 1.105,0 2,-1.12 2,-2.5"/></g><g transform="translate(9.6709,29.667)" id="g32"><path id="path34" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.164,0.087 -0.303,0.223 -0.391,0.398 -0.607,0.827 -0.431,1.325 0.002,1.511 4.268,3.341 7.701,1.554 7.845,1.477 8.278,1.246 8.453,0.729 8.236,0.323 8.02,-0.082 7.496,-0.223 7.063,0.005 6.94,0.069 4.231,1.437 0.785,-0.042 0.528,-0.151 0.238,-0.127 0,0"/></g><g transform="translate(14.7427,16.4277)" id="g36"><path id="path38" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.136,0.127 -0.236,0.293 -0.276,0.486 -0.375,0.955 -0.078,1.392 0.389,1.46 4.981,2.138 7.841,-0.469 7.962,-0.58 8.322,-0.914 8.357,-1.457 8.044,-1.795 7.732,-2.131 7.189,-2.133 6.83,-1.801 6.726,-1.709 4.458,0.307 0.748,-0.24 0.471,-0.281 0.197,-0.184 0,0"/></g><g transform="translate(20.4307,25.917)" id="g40"><path id="path42" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.156,0.098 -0.286,0.243 -0.362,0.424 -0.549,0.866 -0.339,1.352 0.105,1.508 4.486,3.044 7.79,1.028 7.929,0.941 8.344,0.681 8.483,0.154 8.24,-0.237 7.998,-0.627 7.464,-0.732 7.049,-0.475 6.929,-0.402 4.321,1.146 0.782,-0.095 0.518,-0.187 0.23,-0.143 0,0"/></g><g transform="translate(17.2764,0.8682)" id="g44"><path id="path46" style="fill:#f4900c;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,0 1.265,0.411 1.429,1.352 0.173,0.971 -0.624,1.167 -0.624,1.167 0,0 1.041,0.208 1.172,1.376 0.123,1.1 -0.862,1.363 -0.862,1.363 0,0 0.97,0.4 1.016,1.539 0.038,0.959 -0.995,1.428 -0.995,1.428 0,0 5.038,1.22 5.555,1.34 0.516,0.121 1.321,0.616 1.07,1.695 -0.249,1.08 -1.204,1.118 -1.698,1.003 -0.494,-0.116 -6.744,-1.567 -8.9,-2.069 -0.23,-0.053 -1.308,-0.302 -1.439,-0.334 -0.54,-0.127 -0.785,0.111 -0.405,0.512 0.509,0.536 0.833,1.129 0.947,2.113 0.119,1.036 -0.232,2.314 -0.433,2.809 -0.374,0.921 -1.005,1.649 -1.734,1.899 -1.138,0.39 -1.946,-0.321 -1.542,-1.561 0.604,-1.855 0.209,-3.375 -0.833,-4.293 -2.449,-2.157 -3.589,-3.695 -2.83,-6.973 0.827,-3.575 4.377,-5.876 7.952,-5.048 C -2.965,-0.64 0,0 0,0"/></g></g></g></g></svg> </span> Software comparisons </a> </li> </ul> </nav> <nav class="mb-4" data-testid="other-nav" aria-labelledby="other-nav-heading-sidebar"> <h2 id="other-nav-heading-sidebar" class="crayons-subtitle-3 py-2 pl-3"> Other </h2> <ul class="other-navigation-links sidebar-navigation-links spec-sidebar-navigation-links"> <li> <a href="/code-of-conduct" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFDB5E" d="M38.956 21.916c0-.503-.12-.975-.321-1.404-1.341-4.326-7.619-4.01-16.549-4.221-1.493-.035-.639-1.798-.115-5.668.341-2.517-1.282-6.382-4.01-6.382-4.498 0-.171 3.548-4.148 12.322-2.125 4.688-6.875 2.062-6.875 6.771v10.719c0 1.833.18 3.595 2.758 3.885 2.499.281 1.937 2.062 5.542 2.062h18.044a3.337 3.337 0 003.333-3.334c0-.762-.267-1.456-.698-2.018 1.02-.571 1.72-1.649 1.72-2.899 0-.76-.266-1.454-.696-2.015 1.023-.57 1.725-1.649 1.725-2.901 0-.909-.368-1.733-.961-2.336a3.311 3.311 0 001.251-2.581z"/> <path fill="#EE9547" d="M27.02 25.249h8.604c1.17 0 2.268-.626 2.866-1.633a.876.876 0 00-1.506-.892 1.588 1.588 0 01-1.361.775h-8.81c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583H32.7a.875.875 0 000-1.75h-5.888a3.337 3.337 0 00-3.333 3.333c0 1.025.475 1.932 1.205 2.544a3.32 3.32 0 00-.998 2.373c0 1.028.478 1.938 1.212 2.549a3.318 3.318 0 00.419 5.08 3.305 3.305 0 00-.852 2.204 3.337 3.337 0 003.333 3.333h5.484a3.35 3.35 0 002.867-1.632.875.875 0 00-1.504-.894 1.594 1.594 0 01-1.363.776h-5.484c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583h6.506a3.35 3.35 0 002.867-1.633.875.875 0 10-1.504-.894 1.572 1.572 0 01-1.363.777h-7.063a1.585 1.585 0 010-3.167h8.091a3.35 3.35 0 002.867-1.632.875.875 0 00-1.504-.894 1.573 1.573 0 01-1.363.776H27.02a1.585 1.585 0 010-3.167z"/> </g> </svg> </span> Code of Conduct </a> </li> <li> <a href="/privacy" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <circle fill="#FFCC4D" cx="18" cy="18" r="18"/> <path fill="#664500" d="M27.335 23.629a.501.501 0 00-.635-.029c-.039.029-3.922 2.9-8.7 2.9-4.766 0-8.662-2.871-8.7-2.9a.5.5 0 10-.729.657C8.7 24.472 11.788 29.5 18 29.5s9.301-5.028 9.429-5.243a.499.499 0 00-.094-.628z"/> <path fill="#65471B" d="M18 26.591c-.148 0-.291-.011-.438-.016v4.516h.875v-4.517c-.145.005-.289.017-.437.017z"/> <path fill="#FFF" d="M22 26c.016-.004-1.45.378-2.446.486-.366.042-.737.076-1.117.089v4.517H20c1.1 0 2-.9 2-2V26zm-8 0c-.016-.004 1.45.378 2.446.486.366.042.737.076 1.117.089v4.517H16c-1.1 0-2-.9-2-2V26z"/> <path fill="#65471B" d="M27.335 23.629a.501.501 0 00-.635-.029c-.03.022-2.259 1.668-5.411 2.47-.443.113-1.864.43-3.286.431-1.424 0-2.849-.318-3.292-.431-3.152-.802-5.381-2.448-5.411-2.47a.501.501 0 00-.729.657c.097.162 1.885 3.067 5.429 4.481v-1.829c-.016-.004 1.45.378 2.446.486.366.042.737.076 1.117.089.146.005.289.016.437.016.148 0 .291-.011.438-.016.38-.013.751-.046 1.117-.089.996-.108 2.462-.49 2.446-.486v1.829c3.544-1.414 5.332-4.319 5.429-4.481a.5.5 0 00-.095-.628zm-.711-9.605c0 1.714-.938 3.104-2.096 3.104-1.157 0-2.096-1.39-2.096-3.104s.938-3.104 2.096-3.104c1.158 0 2.096 1.39 2.096 3.104zm-17.167 0c0 1.714.938 3.104 2.096 3.104 1.157 0 2.096-1.39 2.096-3.104s-.938-3.104-2.096-3.104c-1.158 0-2.096 1.39-2.096 3.104z"/> <path fill="#292F33" d="M34.808 9.627c-.171-.166-1.267.274-2.376-.291-2.288-1.166-8.07-2.291-11.834.376-.403.285-2.087.333-2.558.313-.471.021-2.155-.027-2.558-.313-3.763-2.667-9.545-1.542-11.833-.376-1.109.565-2.205.125-2.376.291-.247.239-.247 1.196.001 1.436.246.239 1.477.515 1.722 1.232.247.718.249 4.958 2.213 6.424 1.839 1.372 6.129 1.785 8.848.238 2.372-1.349 2.289-4.189 2.724-5.881.155-.603.592-.907 1.26-.907s1.105.304 1.26.907c.435 1.691.351 4.532 2.724 5.881 2.719 1.546 7.009 1.133 8.847-.238 1.965-1.465 1.967-5.706 2.213-6.424.245-.717 1.476-.994 1.722-1.232.248-.24.249-1.197.001-1.436zm-20.194 3.65c-.077 1.105-.274 3.227-1.597 3.98-.811.462-1.868.743-2.974.743h-.001c-1.225 0-2.923-.347-3.587-.842-.83-.619-1.146-3.167-1.265-4.12-.076-.607-.28-2.09.388-2.318 1.06-.361 2.539-.643 4.052-.643.693 0 3.021.043 4.155.741 1.005.617.872 1.851.829 2.459zm16.278-.253c-.119.954-.435 3.515-1.265 4.134-.664.495-2.362.842-3.587.842h-.001c-1.107 0-2.163-.281-2.975-.743-1.323-.752-1.52-2.861-1.597-3.966-.042-.608-.176-1.851.829-2.468 1.135-.698 3.462-.746 4.155-.746 1.513 0 2.991.277 4.052.638.668.228.465 1.702.389 2.309z"/> </g> </svg> </span> Privacy Policy </a> </li> <li> <a href="/terms" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <ellipse fill="#F5F8FA" cx="8.828" cy="18" rx="7.953" ry="13.281"/> <path fill="#E1E8ED" d="M8.828 32.031C3.948 32.031.125 25.868.125 18S3.948 3.969 8.828 3.969 17.531 10.132 17.531 18s-3.823 14.031-8.703 14.031zm0-26.562C4.856 5.469 1.625 11.09 1.625 18s3.231 12.531 7.203 12.531S16.031 24.91 16.031 18 12.8 5.469 8.828 5.469z"/> <circle fill="#8899A6" cx="6.594" cy="18" r="4.96"/> <circle fill="#292F33" cx="6.594" cy="18" r="3.565"/> <circle fill="#F5F8FA" cx="7.911" cy="15.443" r="1.426"/> <ellipse fill="#F5F8FA" cx="27.234" cy="18" rx="7.953" ry="13.281"/> <path fill="#E1E8ED" d="M27.234 32.031c-4.88 0-8.703-6.163-8.703-14.031s3.823-14.031 8.703-14.031S35.938 10.132 35.938 18s-3.824 14.031-8.704 14.031zm0-26.562c-3.972 0-7.203 5.622-7.203 12.531 0 6.91 3.231 12.531 7.203 12.531S34.438 24.91 34.438 18 31.206 5.469 27.234 5.469z"/> <circle fill="#8899A6" cx="25" cy="18" r="4.96"/> <circle fill="#292F33" cx="25" cy="18" r="3.565"/> <circle fill="#F5F8FA" cx="26.317" cy="15.443" r="1.426"/> </g> </svg> </span> Terms of use </a> </li> </ul> </nav> <div class="mb-4"> <a href="https://x.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-50 -50 620 620" role="img" aria-labelledby="a82j5tw0ycfr8pwvgf985uvot1cvqb54" class="crayons-icon c-link__icon" width="24" height="24"><title id="a82j5tw0ycfr8pwvgf985uvot1cvqb54">Twitter</title> <path d="M394.033.25h76.67L303.202 191.693l197.052 260.511h-154.29L225.118 294.205 86.844 452.204H10.127l179.16-204.77L.254.25H158.46l109.234 144.417zm-26.908 406.063h42.483L135.377 43.73h-45.59z" fill="#000"></path> </svg> </a> <a href="https://facebook.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a3oruh4wnud0mgltqasbtoujj57srksv" class="crayons-icon c-link__icon"><title id="a3oruh4wnud0mgltqasbtoujj57srksv">Facebook</title> <path d="M15.402 21v-6.966h2.333l.349-2.708h-2.682V9.598c0-.784.218-1.319 1.342-1.319h1.434V5.857a19.188 19.188 0 00-2.09-.107c-2.067 0-3.482 1.262-3.482 3.58v1.996h-2.338v2.708h2.338V21H4a1 1 0 01-1-1V4a1 1 0 011-1h16a1 1 0 011 1v16a1 1 0 01-1 1h-4.598z"></path> </svg> </a> <a href="https://github.com/forem" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="al2n01544q5q5c4hh7n13fvq9lo29o9a" class="crayons-icon c-link__icon"><title id="al2n01544q5q5c4hh7n13fvq9lo29o9a">Github</title> <path d="M12 2C6.475 2 2 6.475 2 12a9.994 9.994 0 006.838 9.488c.5.087.687-.213.687-.476 0-.237-.013-1.024-.013-1.862-2.512.463-3.162-.612-3.362-1.175-.113-.288-.6-1.175-1.025-1.413-.35-.187-.85-.65-.013-.662.788-.013 1.35.725 1.538 1.025.9 1.512 2.338 1.087 2.912.825.088-.65.35-1.087.638-1.337-2.225-.25-4.55-1.113-4.55-4.938 0-1.088.387-1.987 1.025-2.688-.1-.25-.45-1.275.1-2.65 0 0 .837-.262 2.75 1.026a9.28 9.28 0 012.5-.338c.85 0 1.7.112 2.5.337 1.912-1.3 2.75-1.024 2.75-1.024.55 1.375.2 2.4.1 2.65.637.7 1.025 1.587 1.025 2.687 0 3.838-2.337 4.688-4.562 4.938.362.312.675.912.675 1.85 0 1.337-.013 2.412-.013 2.75 0 .262.188.574.688.474A10.016 10.016 0 0022 12c0-5.525-4.475-10-10-10z"></path> </svg> </a> <a href="https://instagram.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a1w3o0zliplkgzhgts8kcuz5dddbi4ya" class="crayons-icon c-link__icon"><title id="a1w3o0zliplkgzhgts8kcuz5dddbi4ya">Instagram</title> <path d="M12 2c2.717 0 3.056.01 4.122.06 1.065.05 1.79.217 2.428.465.66.254 1.216.598 1.772 1.153.509.5.902 1.105 1.153 1.772.247.637.415 1.363.465 2.428.047 1.066.06 1.405.06 4.122 0 2.717-.01 3.056-.06 4.122-.05 1.065-.218 1.79-.465 2.428a4.883 4.883 0 01-1.153 1.772c-.5.508-1.105.902-1.772 1.153-.637.247-1.363.415-2.428.465-1.066.047-1.405.06-4.122.06-2.717 0-3.056-.01-4.122-.06-1.065-.05-1.79-.218-2.428-.465a4.89 4.89 0 01-1.772-1.153 4.904 4.904 0 01-1.153-1.772c-.248-.637-.415-1.363-.465-2.428C2.013 15.056 2 14.717 2 12c0-2.717.01-3.056.06-4.122.05-1.066.217-1.79.465-2.428a4.88 4.88 0 011.153-1.772A4.897 4.897 0 015.45 2.525c.638-.248 1.362-.415 2.428-.465C8.944 2.013 9.283 2 12 2zm0 5a5 5 0 100 10 5 5 0 000-10zm6.5-.25a1.25 1.25 0 10-2.5 0 1.25 1.25 0 002.5 0zM12 9a3 3 0 110 6 3 3 0 010-6z"></path> </svg> </a> <a href="https://twitch.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="ar8a7vhrfuzwyaq9k6bev6jpx6sm4wz2" class="crayons-icon c-link__icon"><title id="ar8a7vhrfuzwyaq9k6bev6jpx6sm4wz2">Twitch</title> <path d="M4.3 3H21v11.7l-4.7 4.7h-3.9l-2.5 2.4H7v-2.4H3V6.2L4.3 3zM5 17.4h4v2.4h.095l2.5-2.4h3.877L19 13.872V5H5v12.4zM15 8h2v4.7h-2V8zm0 0h2v4.7h-2V8zm-5 0h2v4.7h-2V8z"></path> </svg> </a> <a href="https://fosstodon.org/@thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="abjwnd9gtj2vl2f5ewzienymih2sr9c7" class="crayons-icon c-link__icon"><title id="abjwnd9gtj2vl2f5ewzienymih2sr9c7">Mastodon</title> <path d="M21.258 13.99c-.274 1.41-2.456 2.955-4.962 3.254-1.306.156-2.593.3-3.965.236-2.243-.103-4.014-.535-4.014-.535 0 .218.014.426.04.62.292 2.215 2.196 2.347 4 2.41 1.82.062 3.44-.45 3.44-.45l.076 1.646s-1.274.684-3.542.81c-1.25.068-2.803-.032-4.612-.51-3.923-1.039-4.598-5.22-4.701-9.464-.031-1.26-.012-2.447-.012-3.44 0-4.34 2.843-5.611 2.843-5.611 1.433-.658 3.892-.935 6.45-.956h.062c2.557.02 5.018.298 6.451.956 0 0 2.843 1.272 2.843 5.61 0 0 .036 3.201-.397 5.424zm-2.956-5.087c0-1.074-.273-1.927-.822-2.558-.567-.631-1.308-.955-2.229-.955-1.065 0-1.871.41-2.405 1.228l-.518.87-.519-.87C11.276 5.8 10.47 5.39 9.405 5.39c-.921 0-1.663.324-2.229.955-.549.631-.822 1.484-.822 2.558v5.253h2.081V9.057c0-1.075.452-1.62 1.357-1.62 1 0 1.501.647 1.501 1.927v2.79h2.07v-2.79c0-1.28.5-1.927 1.5-1.927.905 0 1.358.545 1.358 1.62v5.1h2.08V8.902l.001.001z"></path> </svg> </a> <a href="https://bsky.app/profile/dev.to" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -3.268 64 68.414" width="24" height="24" role="img" aria-labelledby="acfj1ulpyomsjscimykorem3h7ttbz1t" class="crayons-icon c-link__icon"><title id="acfj1ulpyomsjscimykorem3h7ttbz1t">Bluesky</title><path fill="#0085ff" d="M13.873 3.805C21.21 9.332 29.103 20.537 32 26.55v15.882c0-.338-.13.044-.41.867-1.512 4.456-7.418 21.847-20.923 7.944-7.111-7.32-3.819-14.64 9.125-16.85-7.405 1.264-15.73-.825-18.014-9.015C1.12 23.022 0 8.51 0 6.55 0-3.268 8.579-.182 13.873 3.805zm36.254 0C42.79 9.332 34.897 20.537 32 26.55v15.882c0-.338.13.044.41.867 1.512 4.456 7.418 21.847 20.923 7.944 7.111-7.32 3.819-14.64-9.125-16.85 7.405 1.264 15.73-.825 18.014-9.015C62.88 23.022 64 8.51 64 6.55c0-9.818-8.578-6.732-13.873-2.745z"></path></svg> </a> </div> <nav class="mb-6" aria-label="Secondary sidebar nav"> <h3 class="crayons-subtitle-3 p-2">Popular Tags</h3> <div id="sidebar-nav-default-tags" class="overflow-y-auto" style="max-height: 42vh"> <div class="sidebar-nav-element" id="default-sidebar-element-webdev"> <a class="c-link c-link--block" href="/t/webdev"> #webdev </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-programming"> <a class="c-link c-link--block" href="/t/programming"> #programming </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-javascript"> <a class="c-link c-link--block" href="/t/javascript"> #javascript </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-beginners"> <a class="c-link c-link--block" href="/t/beginners"> #beginners </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-ai"> <a class="c-link c-link--block" href="/t/ai"> #ai </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-tutorial"> <a class="c-link c-link--block" href="/t/tutorial"> #tutorial </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-devops"> <a class="c-link c-link--block" href="/t/devops"> #devops </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-react"> <a class="c-link c-link--block" href="/t/react"> #react </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-python"> <a class="c-link c-link--block" href="/t/python"> #python </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-productivity"> <a class="c-link c-link--block" href="/t/productivity"> #productivity </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-opensource"> <a class="c-link c-link--block" href="/t/opensource"> #opensource </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-career"> <a class="c-link c-link--block" href="/t/career"> #career </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-discuss"> <a class="c-link c-link--block" href="/t/discuss"> #discuss </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-aws"> <a class="c-link c-link--block" href="/t/aws"> #aws </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-news"> <a class="c-link c-link--block" href="/t/news"> #news </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-machinelearning"> <a class="c-link c-link--block" href="/t/machinelearning"> #machinelearning </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-cloud"> <a class="c-link c-link--block" href="/t/cloud"> #cloud </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-learning"> <a class="c-link c-link--block" href="/t/learning"> #learning </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-node"> <a class="c-link c-link--block" href="/t/node"> #node </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-java"> <a class="c-link c-link--block" href="/t/java"> #java </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-typescript"> <a class="c-link c-link--block" href="/t/typescript"> #typescript </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-linux"> <a class="c-link c-link--block" href="/t/linux"> #linux </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-css"> <a class="c-link c-link--block" href="/t/css"> #css </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-datascience"> <a class="c-link c-link--block" href="/t/datascience"> #datascience </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-blockchain"> <a class="c-link c-link--block" href="/t/blockchain"> #blockchain </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-security"> <a class="c-link c-link--block" href="/t/security"> #security </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-database"> <a class="c-link c-link--block" href="/t/database"> #database </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-frontend"> <a class="c-link c-link--block" href="/t/frontend"> #frontend </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-api"> <a class="c-link c-link--block" href="/t/api"> #api </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-softwaredevelopment"> <a class="c-link c-link--block" href="/t/softwaredevelopment"> #softwaredevelopment </a> </div> </div> </nav> <div class="js-billboard-container" data-async-url="/bmar11/sidebar_left"></div> <div class="js-billboard-container pt-4" data-async-url="/bmar11/sidebar_left_2"></div> <footer class="mt-6 fs-s sidebar-footer"> <p> <a class="c-link c-link--branded fw-medium" aria-label="DEV Community Home" href="/">DEV Community</a> A constructive and inclusive social network for software developers. With you every step of your journey. </p> <p class="mt-4">Built on <a class="c-link c-link--branded" target="_blank" rel="noopener" href="https://www.forem.com">Forem</a> β€” the <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/opensource">open source</a> software that powers <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to">DEV</a> and other inclusive communities.</p> <p class="mt-4">Made with love and <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/rails">Ruby on Rails</a>. DEV Community <span title="copyright">&copy;</span> 2016 - 2025.</p> </footer> </aside> </div> <script src="https://assets.dev.to/assets/billboard-818c196f17931002334ea0a9f5a2abea9e2afb2d59259a9b9102ffb07206df72.js" defer="defer"></script> <main class="articles-list crayons-layout__content" id="main-content" data-follow-button-container="true"> <header class="p-2 px-3 m:p-0 m:px-0 m:mb-2 fs-l"> <h1 class="screen-reader-only">Posts</h1> <nav class="-mx-3 m:mx-0 s:flex items-center justify-between" aria-label="View posts by"> <ul class="crayons-navigation crayons-navigation--horizontal"> <li> <a data-text="Relevant" href="/" class="crayons-navigation__item crayons-navigation__item--current" aria-current="page">Relevant</a> </li> <li> <a data-text="Latest" href="/latest" class="crayons-navigation__item "> Latest </a> </li> <li> <a data-text="Top" href="/top/week" class="crayons-navigation__item " > Top </a> </li> </ul> </nav> </header> <style> .long-bb-body { max-height: calc(100vh - 200px); overflow: hidden; } .long-bb-bottom { height: 180px; background: linear-gradient(to top, var(--card-bg), transparent); margin-top: -180px; position:relative; z-index: 5; } </style> <div class="crayons-story crayons-story__billboard bb-placement js-billboard" style="" data-display-unit data-id="220943" data-category-click="click" data-category-impression="impression" data-context-type="home" data-dismissal-sku="devchallenge_april_2_2025" data-special="nothing" data-article-id="" data-type-of="in_house"> <div class="crayons-story__body"> <div class="crayons-story__top flex"> <div class="crayons-bb__header relative"> <div class="crayons-bb__title">πŸ‘‹ DEV Challenges</div> <button id="sponsorship-dropdown-trigger-220943" aria-controls="sponsorship-dropdown-220943" aria-expanded="false" aria-haspopup="true" class="dropBtn crayons-bb__dropdown crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon" aria-label="Toggle dropdown menu"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="ak8ab7kcav5f7ewxf8o2m4ty1261i6bs" class="crayons-icon pointer-events-none"><title id="ak8ab7kcav5f7ewxf8o2m4ty1261i6bs">Dropdown menu</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.25 12a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm5.25 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm3.75 1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> </button> <div id="sponsorship-dropdown-220943" class="crayons-dropdown bb-dropdown right-0"> <ul class="list-none m-0"> <li> <a class="crayons-link crayons-link--block" href='/billboards'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 100-16 8 8 0 000 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z"></path> </svg> What&#39;s a billboard? </a> </li> <li> <a class="crayons-link crayons-link--block" href='/settings/customization#sponsors'> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M3.34 16.9999C2.91727 16.2689 2.58866 15.4874 2.362 14.6739C2.85531 14.423 3.26959 14.0406 3.55903 13.5688C3.84846 13.0971 4.00176 12.5545 4.00197 12.0011C4.00218 11.4476 3.84928 10.9049 3.5602 10.4329C3.27112 9.961 2.85712 9.57821 2.364 9.32694C2.81604 7.69243 3.67673 6.1999 4.865 4.98994C5.32909 5.29167 5.86762 5.45911 6.42098 5.47373C6.97434 5.48834 7.52095 5.34958 8.00033 5.07278C8.47971 4.79598 8.87315 4.39194 9.13713 3.90539C9.4011 3.41883 9.52531 2.86872 9.496 2.31594C11.1381 1.89157 12.8612 1.89226 14.503 2.31795C14.474 2.87071 14.5984 3.42073 14.8626 3.90715C15.1268 4.39357 15.5204 4.79742 15.9998 5.07401C16.4793 5.35059 17.0259 5.48913 17.5793 5.4743C18.1326 5.45946 18.671 5.29183 19.135 4.98994C19.714 5.57994 20.228 6.25095 20.66 6.99995C21.093 7.74895 21.417 8.52995 21.638 9.32595C21.1447 9.57685 20.7304 9.95932 20.441 10.4311C20.1515 10.9028 19.9982 11.4454 19.998 11.9988C19.9978 12.5523 20.1507 13.095 20.4398 13.5669C20.7289 14.0389 21.1429 14.4217 21.636 14.6729C21.184 16.3075 20.3233 17.8 19.135 19.0099C18.6709 18.7082 18.1324 18.5408 17.579 18.5262C17.0257 18.5115 16.479 18.6503 15.9997 18.9271C15.5203 19.2039 15.1268 19.6079 14.8629 20.0945C14.5989 20.5811 14.4747 21.1312 14.504 21.6839C12.8619 22.1083 11.1388 22.1076 9.497 21.6819C9.52605 21.1292 9.4016 20.5792 9.13742 20.0927C8.87324 19.6063 8.47964 19.2025 8.00017 18.9259C7.5207 18.6493 6.97405 18.5108 6.42073 18.5256C5.8674 18.5404 5.32896 18.7081 4.865 19.0099C4.27399 18.4069 3.76159 17.7315 3.34 16.9999ZM9 17.1959C10.0656 17.8106 10.8668 18.797 11.25 19.9659C11.749 20.0129 12.25 20.0139 12.749 19.9669C13.1324 18.7978 13.934 17.8114 15 17.1969C16.0652 16.5806 17.3205 16.3794 18.525 16.6319C18.815 16.2239 19.065 15.7889 19.273 15.3339C18.4524 14.4174 17.9991 13.2302 18 11.9999C18 10.7399 18.47 9.56295 19.273 8.66595C19.0635 8.21109 18.8125 7.77658 18.523 7.36795C17.3193 7.62025 16.0648 7.41942 15 6.80395C13.9344 6.18932 13.1332 5.20293 12.75 4.03394C12.251 3.98694 11.75 3.98594 11.251 4.03294C10.8676 5.20209 10.066 6.1885 9 6.80295C7.93478 7.41926 6.67948 7.62046 5.475 7.36795C5.18556 7.77623 4.93513 8.21081 4.727 8.66595C5.54757 9.5825 6.00088 10.7697 6 11.9999C6 13.2599 5.53 14.4369 4.727 15.3339C4.93647 15.7888 5.18754 16.2233 5.477 16.6319C6.68072 16.3796 7.93521 16.5805 9 17.1959ZM12 14.9999C11.2044 14.9999 10.4413 14.6839 9.87868 14.1213C9.31607 13.5587 9 12.7956 9 11.9999C9 11.2043 9.31607 10.4412 9.87868 9.87862C10.4413 9.31602 11.2044 8.99995 12 8.99995C12.7956 8.99995 13.5587 9.31602 14.1213 9.87862C14.6839 10.4412 15 11.2043 15 11.9999C15 12.7956 14.6839 13.5587 14.1213 14.1213C13.5587 14.6839 12.7956 14.9999 12 14.9999ZM12 12.9999C12.2652 12.9999 12.5196 12.8946 12.7071 12.7071C12.8946 12.5195 13 12.2652 13 11.9999C13 11.7347 12.8946 11.4804 12.7071 11.2928C12.5196 11.1053 12.2652 10.9999 12 10.9999C11.7348 10.9999 11.4804 11.1053 11.2929 11.2928C11.1054 11.4804 11 11.7347 11 11.9999C11 12.2652 11.1054 12.5195 11.2929 12.7071C11.4804 12.8946 11.7348 12.9999 12 12.9999Z" fill="black"></path> </svg> Manage preferences </a> </li> <hr /> <li> <a class="crayons-link crayons-link--block" href="/report-abuse?billboard=220943"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12.382 3a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5v6H3V3h9.382Zm-.618 2H5v9h8.236l1 2H19V7h-6.236l-1-2Z"></path> </svg> Report billboard </a> </li> </ul> </div> </div> <button id="sponsorship-close-trigger-220943" aria-controls="sponsorship-close-220943" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="athcm7yg5bwauk6d4bit92fn7gr3u2wv" class="crayons-icon pointer-events-none"><title id="athcm7yg5bwauk6d4bit92fn7gr3u2wv">Close</title><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z"></path></svg> </button> </div> <div class="crayons-story__indention-billboard"> <div class="text-styles text-styles--billboard"> <p><a href="https://dev.to/devteam/join-us-for-the-alibaba-cloud-web-game-challenge-3000-in-prizes-1n5d?bb=220943"><img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0jljr04cbr9hpg28kbk.png" alt="Join the Alibaba Cloud Web Game Challenge" width="4096" height="1720" loading="lazy"></a></p> <h3> <a name="time-to-build" href="#time-to-build"> </a> πŸ‘ΎπŸ‘Ύ Time to build πŸ‘ΎπŸ‘Ύ</h3> <div class="ltag__link"> <a href="/devteam?bb=220943" class="ltag__link__link"> <div class="ltag__link__org__pic"> <img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" alt="The DEV Team" width="150" height="150" loading="lazy"> <div class="ltag__link__user__pic"> <img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3%2F13d3b32a-d381-4549-b95e-ec665768ce8f.png" alt="" width="150" height="150" loading="lazy"> </div> </div> </a> <a href="https://dev.to/devteam/join-us-for-the-alibaba-cloud-web-game-challenge-3000-in-prizes-1n5d?bb=220943" class="ltag__link__link"> <div class="ltag__link__content"> <h2>Join us for the Alibaba Cloud Web Game Challenge: $3,000 in Prizes!</h2> <h3>dev.to staff for The DEV Team ・ Apr 2</h3> <div class="ltag__link__taglist"> <span class="ltag__link__tag">#devchallenge</span> <span class="ltag__link__tag">#alibabachallenge</span> <span class="ltag__link__tag">#webdev</span> <span class="ltag__link__tag">#cloud</span> </div> </div> </a> </div> <p>Good luck!</p> </div> </div> </div> </div> <div class="crayons-story crayons-story--featured" data-feed-content-id="2399977" data-content-user-id="264"> <a href="https://dev.to/devteam/what-was-your-win-this-week-229d" aria-labelledby="article-link-2399977" class="crayons-story__hidden-navigation-link">What was your win this week?</a> <div id="featured-story-marker" data-featured-article="articles-2399977"></div> <div class="crayons-article__cover crayons-article__cover__image__feed" style="aspect-ratio: auto 1000 / 420;"> <a href="https://dev.to/devteam/what-was-your-win-this-week-229d" title="What was your win this week?" aria-label="article" class="crayons-article__cover__image__feed crayons-story__cover__image"> <img src="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5couutg5fmdod4obi15.jpg" width="1000" height="420" style="background-color:#dddddd;" class="crayons-article__cover__image__feed" alt="Cover image for What was your win this week?"> </a> </div> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/devteam"> <img alt="The DEV Team logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" class="crayons-logo__image" loading="lazy" /> </a> <a href="/jess" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg" alt="jess profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/jess" class="crayons-story__secondary fw-medium m:hidden"> Jess Lee </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2399977" aria-controls="story-author-preview-content-2399977" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Jess Lee profile details"> Jess Lee <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2399977" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/jess" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Jess Lee</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:264,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Jess Lee&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="264"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/devteam" class="crayons-story__secondary fw-medium">The DEV Team</a> </span> </div> <a href="https://dev.to/devteam/what-was-your-win-this-week-229d" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T14:53:22Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744383202"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/devteam/what-was-your-win-this-week-229d" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5couutg5fmdod4obi15.jpg" id="article-link-2399977"> What was your win this week? </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(113, 234, 139, 0.10); --tag-prefix: #71EA8B; --tag-bg-hover: rgba(113, 234, 139, 0.10); --tag-prefix-hover: #71EA8B; " href="/t/discuss"><span class="crayons-tag__prefix">#</span>discuss</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(162, 255, 241, 0.10); --tag-prefix: #A2FFF1; --tag-bg-hover: rgba(162, 255, 241, 0.10); --tag-prefix-hover: #A2FFF1; " href="/t/weeklyretro"><span class="crayons-tag__prefix">#</span>weeklyretro</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/devteam/what-was-your-win-this-week-229d" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2399977" aria-label="Add a comment to post - What was your win this week?"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">8<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/devteam/what-was-your-win-this-week-229d#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - What was your win this week?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a83x3bjy6735wvrzeg70ifkguw5b3g4c" class="crayons-icon"><title id="a83x3bjy6735wvrzeg70ifkguw5b3g4c">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 4<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2399977" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2399977" data-article-author-id="264" aria-label="Save post What was your win this week? to reading list" title="Save post What was your win this week? to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div id="article-index-podcast-div"></div> <div class="substories" id="substories"> <div class="crayons-story " data-feed-content-id="2399846" data-content-user-id="3"> <a href="https://dev.to/devteam/deadline-extended-for-the-alibaba-cloud-web-game-challenge-45ip" aria-labelledby="article-link-2399846" class="crayons-story__hidden-navigation-link">Deadline Extended for the Alibaba Cloud Web Game Challenge!</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/devteam"> <img alt="The DEV Team logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" class="crayons-logo__image" loading="lazy" /> </a> <a href="/thepracticaldev" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3%2F13d3b32a-d381-4549-b95e-ec665768ce8f.png" alt="thepracticaldev profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/thepracticaldev" class="crayons-story__secondary fw-medium m:hidden"> dev.to staff </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2399846" aria-controls="story-author-preview-content-2399846" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="dev.to staff profile details"> dev.to staff </button> <div id="story-author-preview-content-2399846" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/thepracticaldev" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3%2F13d3b32a-d381-4549-b95e-ec665768ce8f.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">dev.to staff</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:3,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;dev.to staff&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="3"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/devteam" class="crayons-story__secondary fw-medium">The DEV Team</a> </span> </div> <a href="https://dev.to/devteam/deadline-extended-for-the-alibaba-cloud-web-game-challenge-45ip" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T13:39:23Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744378763"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/devteam/deadline-extended-for-the-alibaba-cloud-web-game-challenge-45ip" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0jljr04cbr9hpg28kbk.png" id="article-link-2399846"> Deadline Extended for the Alibaba Cloud Web Game Challenge! </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 106, 0, 0.10); --tag-prefix: #FF6a00; --tag-bg-hover: rgba(255, 106, 0, 0.10); --tag-prefix-hover: #FF6a00; " href="/t/alibabachallenge"><span class="crayons-tag__prefix">#</span>alibabachallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(51, 132, 217, 0.10); --tag-prefix: #3384d9; --tag-bg-hover: rgba(51, 132, 217, 0.10); --tag-prefix-hover: #3384d9; " href="/t/gamedev"><span class="crayons-tag__prefix">#</span>gamedev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(132, 206, 249, 0.10); --tag-prefix: #84CEF9; --tag-bg-hover: rgba(132, 206, 249, 0.10); --tag-prefix-hover: #84CEF9; " href="/t/devchallenge"><span class="crayons-tag__prefix">#</span>devchallenge</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/devteam/deadline-extended-for-the-alibaba-cloud-web-game-challenge-45ip" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2399846" aria-label="Add a comment to post - Deadline Extended for the Alibaba Cloud Web Game Challenge!"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/devteam/deadline-extended-for-the-alibaba-cloud-web-game-challenge-45ip#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Deadline Extended for the Alibaba Cloud Web Game Challenge!"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ak6ncqpgsejo2w5bl8rrjdmp4wrb9f37" class="crayons-icon"><title id="ak6ncqpgsejo2w5bl8rrjdmp4wrb9f37">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2399846" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2399846" data-article-author-id="3" aria-label="Save post Deadline Extended for the Alibaba Cloud Web Game Challenge! to reading list" title="Save post Deadline Extended for the Alibaba Cloud Web Game Challenge! to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2392055" data-content-user-id="1127015"> <a href="https://dev.to/composiodev/metas-llama-4-maverick-vs-deepseek-v3-0324-1fgn" aria-labelledby="article-link-2392055" class="crayons-story__hidden-navigation-link">πŸ’₯ Meta&#39;s Llama 4 Maverick vs. DeepSeek v3 0324 βœ…</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/composiodev"> <img alt="Composio logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F9157%2F71fb2fc3-d2ec-4d74-978d-b29ff9abb8d2.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/shricodev" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1127015%2F1c5e48a2-f602-4e7d-8312-3c0322d155c6.jpg" alt="shricodev profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/shricodev" class="crayons-story__secondary fw-medium m:hidden"> Shrijal Acharya </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2392055" aria-controls="story-author-preview-content-2392055" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Shrijal Acharya profile details"> Shrijal Acharya </button> <div id="story-author-preview-content-2392055" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/shricodev" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1127015%2F1c5e48a2-f602-4e7d-8312-3c0322d155c6.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Shrijal Acharya</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1127015,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Shrijal Acharya&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1127015"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/composiodev" class="crayons-story__secondary fw-medium">Composio</a> </span> </div> <a href="https://dev.to/composiodev/metas-llama-4-maverick-vs-deepseek-v3-0324-1fgn" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T12:56:23Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744376183"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/composiodev/metas-llama-4-maverick-vs-deepseek-v3-0324-1fgn" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihgum9efuv7yipc626bp.png" id="article-link-2392055"> πŸ’₯ Meta&#39;s Llama 4 Maverick vs. DeepSeek v3 0324 βœ… </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/composiodev/metas-llama-4-maverick-vs-deepseek-v3-0324-1fgn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2392055" aria-label="Add a comment to post - πŸ’₯ Meta&#39;s Llama 4 Maverick vs. DeepSeek v3 0324 βœ…"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">30<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/composiodev/metas-llama-4-maverick-vs-deepseek-v3-0324-1fgn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - πŸ’₯ Meta&#39;s Llama 4 Maverick vs. DeepSeek v3 0324 βœ…"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ar80nzp7q8rz1xg1mmkhjjg2tfwijk9o" class="crayons-icon"><title id="ar80nzp7q8rz1xg1mmkhjjg2tfwijk9o">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 8<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 12 min read </small> <button type="button" id="article-save-button-2392055" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2392055" data-article-author-id="1127015" aria-label="Save post πŸ’₯ Meta&#39;s Llama 4 Maverick vs. DeepSeek v3 0324 βœ… to reading list" title="Save post πŸ’₯ Meta&#39;s Llama 4 Maverick vs. DeepSeek v3 0324 βœ… to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2399999" data-content-user-id="31047"> <a href="https://dev.to/devteam/welcome-thread-v321-444l" aria-labelledby="article-link-2399999" class="crayons-story__hidden-navigation-link">Welcome Thread - v321</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/devteam"> <img alt="The DEV Team logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" class="crayons-logo__image" loading="lazy" /> </a> <a href="/sloan" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F31047%2Faf153cd6-9994-4a68-83f4-8ddf3e13f0bf.jpg" alt="sloan profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sloan" class="crayons-story__secondary fw-medium m:hidden"> Sloan the DEV Moderator </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2399999" aria-controls="story-author-preview-content-2399999" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Sloan the DEV Moderator profile details"> Sloan the DEV Moderator </button> <div id="story-author-preview-content-2399999" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/sloan" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F31047%2Faf153cd6-9994-4a68-83f4-8ddf3e13f0bf.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Sloan the DEV Moderator</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:31047,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Sloan the DEV Moderator&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="31047"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/devteam" class="crayons-story__secondary fw-medium">The DEV Team</a> </span> </div> <a href="https://dev.to/devteam/welcome-thread-v321-444l" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T15:13:09Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744384389"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/devteam/welcome-thread-v321-444l" data-preload-image="" id="article-link-2399999"> Welcome Thread - v321 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(82, 27, 146, 0.10); --tag-prefix: #521b92; --tag-bg-hover: rgba(82, 27, 146, 0.10); --tag-prefix-hover: #521b92; " href="/t/welcome"><span class="crayons-tag__prefix">#</span>welcome</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/devteam/welcome-thread-v321-444l" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2399999" aria-label="Add a comment to post - Welcome Thread - v321"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">6<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/devteam/welcome-thread-v321-444l#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Welcome Thread - v321"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aosyuxvj4gaa6qg4g4pwynwneweukkh4" class="crayons-icon"><title id="aosyuxvj4gaa6qg4g4pwynwneweukkh4">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 2<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2399999" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2399999" data-article-author-id="31047" aria-label="Save post Welcome Thread - v321 to reading list" title="Save post Welcome Thread - v321 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2398903" data-content-user-id="2096147"> <a href="https://dev.to/therealmrmumba/i-tested-zapier-mcp-server-and-here-are-my-thoughts-2dk2" aria-labelledby="article-link-2398903" class="crayons-story__hidden-navigation-link">I tested Zapier MCP Server and here are my thoughts</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/therealmrmumba" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2096147%2Fcfb04d29-bd0a-4f15-9e93-594834b52f6b.jpg" alt="therealmrmumba profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/therealmrmumba" class="crayons-story__secondary fw-medium m:hidden"> Emmanuel Mumba </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2398903" aria-controls="story-author-preview-content-2398903" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Emmanuel Mumba profile details"> Emmanuel Mumba </button> <div id="story-author-preview-content-2398903" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/therealmrmumba" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2096147%2Fcfb04d29-bd0a-4f15-9e93-594834b52f6b.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Emmanuel Mumba</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2096147,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Emmanuel Mumba&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2096147"></div> </div> </div> </div> </div> <a href="https://dev.to/therealmrmumba/i-tested-zapier-mcp-server-and-here-are-my-thoughts-2dk2" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T06:33:05Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744353185"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/therealmrmumba/i-tested-zapier-mcp-server-and-here-are-my-thoughts-2dk2" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsze8356fbr3kgrod3ndr.png" id="article-link-2398903"> I tested Zapier MCP Server and here are my thoughts </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/mcp"><span class="crayons-tag__prefix">#</span>mcp</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/zapier"><span class="crayons-tag__prefix">#</span>zapier</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/therealmrmumba/i-tested-zapier-mcp-server-and-here-are-my-thoughts-2dk2" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2398903" aria-label="Add a comment to post - I tested Zapier MCP Server and here are my thoughts"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">65<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/therealmrmumba/i-tested-zapier-mcp-server-and-here-are-my-thoughts-2dk2#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - I tested Zapier MCP Server and here are my thoughts"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ahq0ga73yqu38wof7pamg1r7jjy1n5oi" class="crayons-icon"><title id="ahq0ga73yqu38wof7pamg1r7jjy1n5oi">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 6<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2398903" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2398903" data-article-author-id="2096147" aria-label="Save post I tested Zapier MCP Server and here are my thoughts to reading list" title="Save post I tested Zapier MCP Server and here are my thoughts to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2398002" data-content-user-id="900098"> <a href="https://dev.to/taradepan/5-ai-tools-to-build-your-first-mvp-in-days-not-months-38aj" aria-labelledby="article-link-2398002" class="crayons-story__hidden-navigation-link">5 AI Tools to Build Your First MVP in Days, Not MonthsπŸš€πŸš€πŸš€</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/taradepan" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F900098%2F17804f3d-a926-480f-838f-e37d4bd0964d.jpg" alt="taradepan profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/taradepan" class="crayons-story__secondary fw-medium m:hidden"> Taradepan R </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2398002" aria-controls="story-author-preview-content-2398002" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Taradepan R profile details"> Taradepan R </button> <div id="story-author-preview-content-2398002" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/taradepan" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F900098%2F17804f3d-a926-480f-838f-e37d4bd0964d.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Taradepan R</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:900098,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Taradepan R&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="900098"></div> </div> </div> </div> </div> <a href="https://dev.to/taradepan/5-ai-tools-to-build-your-first-mvp-in-days-not-months-38aj" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T11:11:31Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744369891"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/taradepan/5-ai-tools-to-build-your-first-mvp-in-days-not-months-38aj" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwl1sf5n9abvbresn4a1.png" id="article-link-2398002"> 5 AI Tools to Build Your First MVP in Days, Not MonthsπŸš€πŸš€πŸš€ </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(230, 255, 251, 0.10); --tag-prefix: #E6FFFB; --tag-bg-hover: rgba(230, 255, 251, 0.10); --tag-prefix-hover: #E6FFFB; " href="/t/startup"><span class="crayons-tag__prefix">#</span>startup</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 7, 152, 0.10); --tag-prefix: #2A0798; --tag-bg-hover: rgba(42, 7, 152, 0.10); --tag-prefix-hover: #2A0798; " href="/t/productivity"><span class="crayons-tag__prefix">#</span>productivity</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/taradepan/5-ai-tools-to-build-your-first-mvp-in-days-not-months-38aj" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2398002" aria-label="Add a comment to post - 5 AI Tools to Build Your First MVP in Days, Not MonthsπŸš€πŸš€πŸš€"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">208<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/taradepan/5-ai-tools-to-build-your-first-mvp-in-days-not-months-38aj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 5 AI Tools to Build Your First MVP in Days, Not MonthsπŸš€πŸš€πŸš€"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9j63qytg39890rcxlq7lzkiq0olw6l2" class="crayons-icon"><title id="a9j63qytg39890rcxlq7lzkiq0olw6l2">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 14<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 7 min read </small> <button type="button" id="article-save-button-2398002" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2398002" data-article-author-id="900098" aria-label="Save post 5 AI Tools to Build Your First MVP in Days, Not MonthsπŸš€πŸš€πŸš€ to reading list" title="Save post 5 AI Tools to Build Your First MVP in Days, Not MonthsπŸš€πŸš€πŸš€ to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2398533" data-content-user-id="312143"> <a href="https://dev.to/aws/amazon-q-developer-cli-173-now-with-vim-4fj7" aria-labelledby="article-link-2398533" class="crayons-story__hidden-navigation-link">Amazon Q Developer CLI 1.7.3 - Now with VIM! 😍</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/aws"> <img alt="AWS logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1726%2Fe01690b9-c8bd-4eb9-bbe2-a4db25a702a9.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/darkosubotica" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F312143%2Fa6b4bf45-f236-4de5-a50c-3642174aee81.png" alt="darkosubotica profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/darkosubotica" class="crayons-story__secondary fw-medium m:hidden"> Darko MesaroΕ‘ ⛅️ </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2398533" aria-controls="story-author-preview-content-2398533" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Darko MesaroΕ‘ ⛅️ profile details"> Darko MesaroΕ‘ ⛅️ </button> <div id="story-author-preview-content-2398533" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/darkosubotica" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F312143%2Fa6b4bf45-f236-4de5-a50c-3642174aee81.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Darko MesaroΕ‘ ⛅️</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:312143,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Darko MesaroΕ‘ ⛅️&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="312143"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/aws" class="crayons-story__secondary fw-medium">AWS</a> </span> </div> <a href="https://dev.to/aws/amazon-q-developer-cli-173-now-with-vim-4fj7" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T04:10:02Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744344602"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/aws/amazon-q-developer-cli-173-now-with-vim-4fj7" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2wlip36he79qp9841hg.jpg" id="article-link-2398533"> Amazon Q Developer CLI 1.7.3 - Now with VIM! 😍 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(17, 17, 17, 0.10); --tag-prefix: #111111; --tag-bg-hover: rgba(17, 17, 17, 0.10); --tag-prefix-hover: #111111; " href="/t/news"><span class="crayons-tag__prefix">#</span>news</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(33, 43, 58, 0.10); --tag-prefix: #212b3a; --tag-bg-hover: rgba(33, 43, 58, 0.10); --tag-prefix-hover: #212b3a; " href="/t/aws"><span class="crayons-tag__prefix">#</span>aws</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/developer"><span class="crayons-tag__prefix">#</span>developer</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/aws/amazon-q-developer-cli-173-now-with-vim-4fj7" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2398533" aria-label="Add a comment to post - Amazon Q Developer CLI 1.7.3 - Now with VIM! 😍"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">13<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/aws/amazon-q-developer-cli-173-now-with-vim-4fj7#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Amazon Q Developer CLI 1.7.3 - Now with VIM! 😍"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="anlmkf5dbfsjnkdushb1v986vqkalj4y" class="crayons-icon"><title id="anlmkf5dbfsjnkdushb1v986vqkalj4y">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2398533" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2398533" data-article-author-id="312143" aria-label="Save post Amazon Q Developer CLI 1.7.3 - Now with VIM! 😍 to reading list" title="Save post Amazon Q Developer CLI 1.7.3 - Now with VIM! 😍 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400091" data-content-user-id="2711665"> <a href="https://dev.to/shayy/this-typescript-library-helped-me-build-full-stack-apps-faster-3mc3" aria-labelledby="article-link-2400091" class="crayons-story__hidden-navigation-link">This TypeScript Library Helped Me Build Full-Stack Apps Faster</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/shayy" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2711665%2Fe528db00-6ac0-4654-b0d5-c68d84ed332e.png" alt="shayy profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/shayy" class="crayons-story__secondary fw-medium m:hidden"> Shayan </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400091" aria-controls="story-author-preview-content-2400091" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Shayan profile details"> Shayan </button> <div id="story-author-preview-content-2400091" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/shayy" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2711665%2Fe528db00-6ac0-4654-b0d5-c68d84ed332e.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Shayan</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2711665,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Shayan&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2711665"></div> </div> </div> </div> </div> <a href="https://dev.to/shayy/this-typescript-library-helped-me-build-full-stack-apps-faster-3mc3" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T16:11:12Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744387872"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/shayy/this-typescript-library-helped-me-build-full-stack-apps-faster-3mc3" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftip1sx4z0togdnh4vqg8.png" id="article-link-2400091"> This TypeScript Library Helped Me Build Full-Stack Apps Faster </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(35, 74, 132, 0.10); --tag-prefix: #234A84; --tag-bg-hover: rgba(35, 74, 132, 0.10); --tag-prefix-hover: #234A84; " href="/t/typescript"><span class="crayons-tag__prefix">#</span>typescript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/shayy/this-typescript-library-helped-me-build-full-stack-apps-faster-3mc3" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2400091" aria-label="Add a comment to post - This TypeScript Library Helped Me Build Full-Stack Apps Faster"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">15<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/shayy/this-typescript-library-helped-me-build-full-stack-apps-faster-3mc3#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - This TypeScript Library Helped Me Build Full-Stack Apps Faster"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a5r54l72n1ve7jfi4xhk715v55ytvbgz" class="crayons-icon"><title id="a5r54l72n1ve7jfi4xhk715v55ytvbgz">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2400091" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400091" data-article-author-id="2711665" aria-label="Save post This TypeScript Library Helped Me Build Full-Stack Apps Faster to reading list" title="Save post This TypeScript Library Helped Me Build Full-Stack Apps Faster to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2399890" data-content-user-id="298966"> <a href="https://dev.to/jenueldev/the-rise-of-ai-a-turning-point-for-all-of-us-2ddc" aria-labelledby="article-link-2399890" class="crayons-story__hidden-navigation-link">The Rise of AI: A Turning Point for All of Us</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/jenueldev" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F298966%2F7553efef-a0be-42ef-80b6-7173bfb9460a.png" alt="jenueldev profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/jenueldev" class="crayons-story__secondary fw-medium m:hidden"> Jenuel Oras Ganawed </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2399890" aria-controls="story-author-preview-content-2399890" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Jenuel Oras Ganawed profile details"> Jenuel Oras Ganawed </button> <div id="story-author-preview-content-2399890" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/jenueldev" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F298966%2F7553efef-a0be-42ef-80b6-7173bfb9460a.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Jenuel Oras Ganawed</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:298966,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Jenuel Oras Ganawed&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="298966"></div> </div> </div> </div> </div> <a href="https://dev.to/jenueldev/the-rise-of-ai-a-turning-point-for-all-of-us-2ddc" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T14:02:11Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744380131"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/jenueldev/the-rise-of-ai-a-turning-point-for-all-of-us-2ddc" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhslsoujft0yfjbcp8h7.png" id="article-link-2399890"> The Rise of AI: A Turning Point for All of Us </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(113, 234, 139, 0.10); --tag-prefix: #71EA8B; --tag-bg-hover: rgba(113, 234, 139, 0.10); --tag-prefix-hover: #71EA8B; " href="/t/discuss"><span class="crayons-tag__prefix">#</span>discuss</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(6, 181, 0, 0.10); --tag-prefix: #06B500; --tag-bg-hover: rgba(6, 181, 0, 0.10); --tag-prefix-hover: #06B500; " href="/t/devops"><span class="crayons-tag__prefix">#</span>devops</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 37, 102, 0.10); --tag-prefix: #2A2566; --tag-bg-hover: rgba(42, 37, 102, 0.10); --tag-prefix-hover: #2A2566; " href="/t/career"><span class="crayons-tag__prefix">#</span>career</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/jenueldev/the-rise-of-ai-a-turning-point-for-all-of-us-2ddc" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2399890" aria-label="Add a comment to post - The Rise of AI: A Turning Point for All of Us"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">6<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/jenueldev/the-rise-of-ai-a-turning-point-for-all-of-us-2ddc#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - The Rise of AI: A Turning Point for All of Us"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ac03u8qe5g6ffgpghja4azd4j4wr0x6e" class="crayons-icon"><title id="ac03u8qe5g6ffgpghja4azd4j4wr0x6e">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2399890" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2399890" data-article-author-id="298966" aria-label="Save post The Rise of AI: A Turning Point for All of Us to reading list" title="Save post The Rise of AI: A Turning Point for All of Us to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2398883" data-content-user-id="1732877"> <a href="https://dev.to/leo_ko_7e30548a8d765dde77/automating-cs-refund-inquiries-with-an-ai-agent-using-agentica-6bn" aria-labelledby="article-link-2398883" class="crayons-story__hidden-navigation-link">Automating CS Refund Inquiries with an AI Agent: Using Agentica</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/leo_ko_7e30548a8d765dde77" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1732877%2Fb3acce01-6391-45fa-b6ae-29fb8ebbee91.png" alt="leo_ko_7e30548a8d765dde77 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/leo_ko_7e30548a8d765dde77" class="crayons-story__secondary fw-medium m:hidden"> Leo Ko </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2398883" aria-controls="story-author-preview-content-2398883" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Leo Ko profile details"> Leo Ko </button> <div id="story-author-preview-content-2398883" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/leo_ko_7e30548a8d765dde77" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1732877%2Fb3acce01-6391-45fa-b6ae-29fb8ebbee91.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Leo Ko</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1732877,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Leo Ko&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1732877"></div> </div> </div> </div> </div> <a href="https://dev.to/leo_ko_7e30548a8d765dde77/automating-cs-refund-inquiries-with-an-ai-agent-using-agentica-6bn" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T06:25:17Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744352717"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/leo_ko_7e30548a8d765dde77/automating-cs-refund-inquiries-with-an-ai-agent-using-agentica-6bn" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5v6wgmgo9csqivwnk1x.png" id="article-link-2398883"> Automating CS Refund Inquiries with an AI Agent: Using Agentica </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(35, 74, 132, 0.10); --tag-prefix: #234A84; --tag-bg-hover: rgba(35, 74, 132, 0.10); --tag-prefix-hover: #234A84; " href="/t/typescript"><span class="crayons-tag__prefix">#</span>typescript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/leo_ko_7e30548a8d765dde77/automating-cs-refund-inquiries-with-an-ai-agent-using-agentica-6bn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2398883" aria-label="Add a comment to post - Automating CS Refund Inquiries with an AI Agent: Using Agentica"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">53<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/leo_ko_7e30548a8d765dde77/automating-cs-refund-inquiries-with-an-ai-agent-using-agentica-6bn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Automating CS Refund Inquiries with an AI Agent: Using Agentica"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="asxze0z8jiajhzr3afoj9xmczdfp098g" class="crayons-icon"><title id="asxze0z8jiajhzr3afoj9xmczdfp098g">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2398883" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2398883" data-article-author-id="1732877" aria-label="Save post Automating CS Refund Inquiries with an AI Agent: Using Agentica to reading list" title="Save post Automating CS Refund Inquiries with an AI Agent: Using Agentica to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2399858" data-content-user-id="1975529"> <a href="https://dev.to/sir-j/building-and-automating-the-deployment-of-a-flask-application-with-docker-github-and-cicd-2dc4" aria-labelledby="article-link-2399858" class="crayons-story__hidden-navigation-link">Building and Automating the Deployment of a Flask Application with Docker, GitHub, and CI/CD</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/sir-j" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1975529%2Fc6ac0540-1dd7-4c5c-b673-8ceb0d96851f.png" alt="sir-j profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sir-j" class="crayons-story__secondary fw-medium m:hidden"> Joseph Ibeh </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2399858" aria-controls="story-author-preview-content-2399858" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Joseph Ibeh profile details"> Joseph Ibeh </button> <div id="story-author-preview-content-2399858" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/sir-j" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1975529%2Fc6ac0540-1dd7-4c5c-b673-8ceb0d96851f.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Joseph Ibeh</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1975529,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Joseph Ibeh&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1975529"></div> </div> </div> </div> </div> <a href="https://dev.to/sir-j/building-and-automating-the-deployment-of-a-flask-application-with-docker-github-and-cicd-2dc4" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T13:40:24Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744378824"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/sir-j/building-and-automating-the-deployment-of-a-flask-application-with-docker-github-and-cicd-2dc4" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdal0nnbumz4brx0v0vu8.png" id="article-link-2399858"> Building and Automating the Deployment of a Flask Application with Docker, GitHub, and CI/CD </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/sir-j/building-and-automating-the-deployment-of-a-flask-application-with-docker-github-and-cicd-2dc4" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2399858" aria-label="Add a comment to post - Building and Automating the Deployment of a Flask Application with Docker, GitHub, and CI/CD"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">11<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/sir-j/building-and-automating-the-deployment-of-a-flask-application-with-docker-github-and-cicd-2dc4#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Building and Automating the Deployment of a Flask Application with Docker, GitHub, and CI/CD"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ar3wgm5cat288vptxzidmbaxaap26eko" class="crayons-icon"><title id="ar3wgm5cat288vptxzidmbaxaap26eko">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2399858" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2399858" data-article-author-id="1975529" aria-label="Save post Building and Automating the Deployment of a Flask Application with Docker, GitHub, and CI/CD to reading list" title="Save post Building and Automating the Deployment of a Flask Application with Docker, GitHub, and CI/CD to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2392532" data-content-user-id="973221"> <a href="https://dev.to/mongodb/grab-a-pint-with-django-mongodb-backend-voyage-ai-and-langchain-170n" aria-labelledby="article-link-2392532" class="crayons-story__hidden-navigation-link">Grab a Pint With Django-MongoDB-Backend, Voyage AI, and LangChain</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/mongodb"> <img alt="MongoDB logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F140%2F9639a040-3c27-4b99-b65a-85e100016d3c.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/anaiyaraisin" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F973221%2F0c884491-661f-4a9a-8d56-06c1fa7d06f2.jpg" alt="anaiyaraisin profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/anaiyaraisin" class="crayons-story__secondary fw-medium m:hidden"> Anaiya </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2392532" aria-controls="story-author-preview-content-2392532" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Anaiya profile details"> Anaiya </button> <div id="story-author-preview-content-2392532" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/anaiyaraisin" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F973221%2F0c884491-661f-4a9a-8d56-06c1fa7d06f2.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Anaiya</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:973221,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Anaiya&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="973221"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/mongodb" class="crayons-story__secondary fw-medium">MongoDB</a> </span> </div> <a href="https://dev.to/mongodb/grab-a-pint-with-django-mongodb-backend-voyage-ai-and-langchain-170n" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T10:00:00Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744365600"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/mongodb/grab-a-pint-with-django-mongodb-backend-voyage-ai-and-langchain-170n" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffa2s4wn3f28ja5by6v0i.png" id="article-link-2392532"> Grab a Pint With Django-MongoDB-Backend, Voyage AI, and LangChain </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(16, 62, 46, 0.10); --tag-prefix: #103e2e; --tag-bg-hover: rgba(16, 62, 46, 0.10); --tag-prefix-hover: #103e2e; " href="/t/django"><span class="crayons-tag__prefix">#</span>django</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/voyageai"><span class="crayons-tag__prefix">#</span>voyageai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/langchain"><span class="crayons-tag__prefix">#</span>langchain</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(123, 204, 124, 0.10); --tag-prefix: #7bcc7c; --tag-bg-hover: rgba(123, 204, 124, 0.10); --tag-prefix-hover: #7bcc7c; " href="/t/mongodb"><span class="crayons-tag__prefix">#</span>mongodb</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/mongodb/grab-a-pint-with-django-mongodb-backend-voyage-ai-and-langchain-170n" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2392532" aria-label="Add a comment to post - Grab a Pint With Django-MongoDB-Backend, Voyage AI, and LangChain"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">23<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/mongodb/grab-a-pint-with-django-mongodb-backend-voyage-ai-and-langchain-170n#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Grab a Pint With Django-MongoDB-Backend, Voyage AI, and LangChain"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a5iqxmh3p6j78eq97kxih8aq2zz0pgwt" class="crayons-icon"><title id="a5iqxmh3p6j78eq97kxih8aq2zz0pgwt">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 19 min read </small> <button type="button" id="article-save-button-2392532" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2392532" data-article-author-id="973221" aria-label="Save post Grab a Pint With Django-MongoDB-Backend, Voyage AI, and LangChain to reading list" title="Save post Grab a Pint With Django-MongoDB-Backend, Voyage AI, and LangChain to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2399987" data-content-user-id="891467"> <a href="https://dev.to/tinybirdco/instrument-your-llm-calls-to-analyze-ai-costs-and-usage-57mo" aria-labelledby="article-link-2399987" class="crayons-story__hidden-navigation-link">Instrument your LLM calls to analyze AI costs and usage</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/tinybirdco"> <img alt="Tinybird logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F6115%2F998b809f-7e00-4289-9342-ae6ef811dd4a.jpg" class="crayons-logo__image" loading="lazy" /> </a> <a href="/tbperegrine" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F891467%2F15bc8346-af4c-4b65-a77f-6e77ec9ddc6b.jpeg" alt="tbperegrine profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/tbperegrine" class="crayons-story__secondary fw-medium m:hidden"> Cameron Archer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2399987" aria-controls="story-author-preview-content-2399987" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Cameron Archer profile details"> Cameron Archer </button> <div id="story-author-preview-content-2399987" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/tbperegrine" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F891467%2F15bc8346-af4c-4b65-a77f-6e77ec9ddc6b.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Cameron Archer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:891467,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Cameron Archer&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="891467"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/tinybirdco" class="crayons-story__secondary fw-medium">Tinybird</a> </span> </div> <a href="https://dev.to/tinybirdco/instrument-your-llm-calls-to-analyze-ai-costs-and-usage-57mo" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T14:57:24Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744383444"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/tinybirdco/instrument-your-llm-calls-to-analyze-ai-costs-and-usage-57mo" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8uwft1pg16bjj7yllwqr.png" id="article-link-2399987"> Instrument your LLM calls to analyze AI costs and usage </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(30, 56, 187, 0.10); --tag-prefix: #1E38BB; --tag-bg-hover: rgba(30, 56, 187, 0.10); --tag-prefix-hover: #1E38BB; " href="/t/python"><span class="crayons-tag__prefix">#</span>python</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/nextjs"><span class="crayons-tag__prefix">#</span>nextjs</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(35, 74, 132, 0.10); --tag-prefix: #234A84; --tag-bg-hover: rgba(35, 74, 132, 0.10); --tag-prefix-hover: #234A84; " href="/t/typescript"><span class="crayons-tag__prefix">#</span>typescript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/tinybirdco/instrument-your-llm-calls-to-analyze-ai-costs-and-usage-57mo#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Instrument your LLM calls to analyze AI costs and usage"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="adswbubyepv00s7fm4ttxofkf77jrvyf" class="crayons-icon"><title id="adswbubyepv00s7fm4ttxofkf77jrvyf">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 8 min read </small> <button type="button" id="article-save-button-2399987" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2399987" data-article-author-id="891467" aria-label="Save post Instrument your LLM calls to analyze AI costs and usage to reading list" title="Save post Instrument your LLM calls to analyze AI costs and usage to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2399771" data-content-user-id="898740"> <a href="https://dev.to/composiodev/notes-on-llama-4-the-hits-the-misses-and-the-disasters-18np" aria-labelledby="article-link-2399771" class="crayons-story__hidden-navigation-link">Notes on Llama 4: The Hits, the Misses, and the Disasters</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/composiodev"> <img alt="Composio logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F9157%2F71fb2fc3-d2ec-4d74-978d-b29ff9abb8d2.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/sunilkumrdash" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F898740%2Fbe1827e3-0e8a-40dc-8b74-90c2913aa39e.jpg" alt="sunilkumrdash profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sunilkumrdash" class="crayons-story__secondary fw-medium m:hidden"> Sunil Kumar Dash </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2399771" aria-controls="story-author-preview-content-2399771" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Sunil Kumar Dash profile details"> Sunil Kumar Dash <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2399771" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/sunilkumrdash" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F898740%2Fbe1827e3-0e8a-40dc-8b74-90c2913aa39e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Sunil Kumar Dash</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:898740,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Sunil Kumar Dash&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="898740"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/composiodev" class="crayons-story__secondary fw-medium">Composio</a> </span> </div> <a href="https://dev.to/composiodev/notes-on-llama-4-the-hits-the-misses-and-the-disasters-18np" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T12:59:16Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744376356"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/composiodev/notes-on-llama-4-the-hits-the-misses-and-the-disasters-18np" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq56mmdibvk5un5pld7hb.png" id="article-link-2399771"> Notes on Llama 4: The Hits, the Misses, and the Disasters </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 131, 53, 0.10); --tag-prefix: #008335; --tag-bg-hover: rgba(0, 131, 53, 0.10); --tag-prefix-hover: #008335; " href="/t/beginners"><span class="crayons-tag__prefix">#</span>beginners</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 7, 152, 0.10); --tag-prefix: #2A0798; --tag-bg-hover: rgba(42, 7, 152, 0.10); --tag-prefix-hover: #2A0798; " href="/t/productivity"><span class="crayons-tag__prefix">#</span>productivity</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/composiodev/notes-on-llama-4-the-hits-the-misses-and-the-disasters-18np" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2399771" aria-label="Add a comment to post - Notes on Llama 4: The Hits, the Misses, and the Disasters"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">10<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/composiodev/notes-on-llama-4-the-hits-the-misses-and-the-disasters-18np#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Notes on Llama 4: The Hits, the Misses, and the Disasters"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="afhs58knii6m3bb0da3e5ca0wjtasrr8" class="crayons-icon"><title id="afhs58knii6m3bb0da3e5ca0wjtasrr8">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 11 min read </small> <button type="button" id="article-save-button-2399771" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2399771" data-article-author-id="898740" aria-label="Save post Notes on Llama 4: The Hits, the Misses, and the Disasters to reading list" title="Save post Notes on Llama 4: The Hits, the Misses, and the Disasters to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2376145" data-content-user-id="138944"> <a href="https://dev.to/speakuptech/were-building-an-app-and-youre-in-for-the-ride-8h4" aria-labelledby="article-link-2376145" class="crayons-story__hidden-navigation-link">We’re Building an App, and You’re in for the Ride</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/speakuptech"> <img alt="Speak Up Tech logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10618%2Fb5723daa-1923-4764-99ca-e17519a11662.jpg" class="crayons-logo__image" loading="lazy" /> </a> <a href="/thiagodella" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F138944%2Fbb79f4b3-ff93-4555-9553-70084baafa94.jpeg" alt="thiagodella profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/thiagodella" class="crayons-story__secondary fw-medium m:hidden"> Thiago </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2376145" aria-controls="story-author-preview-content-2376145" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Thiago profile details"> Thiago </button> <div id="story-author-preview-content-2376145" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/thiagodella" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F138944%2Fbb79f4b3-ff93-4555-9553-70084baafa94.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Thiago</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:138944,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Thiago&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="138944"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/speakuptech" class="crayons-story__secondary fw-medium">Speak Up Tech</a> </span> </div> <a href="https://dev.to/speakuptech/were-building-an-app-and-youre-in-for-the-ride-8h4" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T15:25:53Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744385153"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/speakuptech/were-building-an-app-and-youre-in-for-the-ride-8h4" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk5lsbejb1n0g43bfzrn.jpeg" id="article-link-2376145"> We’re Building an App, and You’re in for the Ride </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 131, 53, 0.10); --tag-prefix: #008335; --tag-bg-hover: rgba(0, 131, 53, 0.10); --tag-prefix-hover: #008335; " href="/t/beginners"><span class="crayons-tag__prefix">#</span>beginners</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 7, 152, 0.10); --tag-prefix: #2A0798; --tag-bg-hover: rgba(42, 7, 152, 0.10); --tag-prefix-hover: #2A0798; " href="/t/productivity"><span class="crayons-tag__prefix">#</span>productivity</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/speakuptech/were-building-an-app-and-youre-in-for-the-ride-8h4" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2376145" aria-label="Add a comment to post - We’re Building an App, and You’re in for the Ride"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">4<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/speakuptech/were-building-an-app-and-youre-in-for-the-ride-8h4#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - We’re Building an App, and You’re in for the Ride"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a13iju7sa0tj2mf9j5nqmlun62zzuhbm" class="crayons-icon"><title id="a13iju7sa0tj2mf9j5nqmlun62zzuhbm">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2376145" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2376145" data-article-author-id="138944" aria-label="Save post We’re Building an App, and You’re in for the Ride to reading list" title="Save post We’re Building an App, and You’re in for the Ride to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400072" data-content-user-id="1038767"> <a href="https://dev.to/mechcloud/managing-cloudflare-zone-waf-rules-using-rest-agent-1oeo" aria-labelledby="article-link-2400072" class="crayons-story__hidden-navigation-link">Managing Cloudflare Zone WAF Custom Rules using MechCloud REST Agent</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/mechcloud"> <img alt="MechCloud logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10406%2Fe5034316-6be5-44ba-a373-930ac3254e32.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/koyadume" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1038767%2Fb8fd76b2-fd34-4c77-9ddd-b62b7a852bae.jpeg" alt="koyadume profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/koyadume" class="crayons-story__secondary fw-medium m:hidden"> Shailendra Singh </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400072" aria-controls="story-author-preview-content-2400072" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Shailendra Singh profile details"> Shailendra Singh </button> <div id="story-author-preview-content-2400072" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/koyadume" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1038767%2Fb8fd76b2-fd34-4c77-9ddd-b62b7a852bae.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Shailendra Singh</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1038767,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Shailendra Singh&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1038767"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/mechcloud" class="crayons-story__secondary fw-medium">MechCloud</a> </span> </div> <a href="https://dev.to/mechcloud/managing-cloudflare-zone-waf-rules-using-rest-agent-1oeo" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T15:57:30Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744387050"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/mechcloud/managing-cloudflare-zone-waf-rules-using-rest-agent-1oeo" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhhaa1kigkgf71whducd8.png" id="article-link-2400072"> Managing Cloudflare Zone WAF Custom Rules using MechCloud REST Agent </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/cloudflare"><span class="crayons-tag__prefix">#</span>cloudflare</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/cloudcomputing"><span class="crayons-tag__prefix">#</span>cloudcomputing</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(27, 172, 128, 0.10); --tag-prefix: #1bac80; --tag-bg-hover: rgba(27, 172, 128, 0.10); --tag-prefix-hover: #1bac80; " href="/t/security"><span class="crayons-tag__prefix">#</span>security</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/firewall"><span class="crayons-tag__prefix">#</span>firewall</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/mechcloud/managing-cloudflare-zone-waf-rules-using-rest-agent-1oeo" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2400072" aria-label="Add a comment to post - Managing Cloudflare Zone WAF Custom Rules using MechCloud REST Agent"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/mechcloud/managing-cloudflare-zone-waf-rules-using-rest-agent-1oeo#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Managing Cloudflare Zone WAF Custom Rules using MechCloud REST Agent"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a7sjoh2bg3lstpcycf9sxpx1w2p291z" class="crayons-icon"><title id="a7sjoh2bg3lstpcycf9sxpx1w2p291z">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2400072" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400072" data-article-author-id="1038767" aria-label="Save post Managing Cloudflare Zone WAF Custom Rules using MechCloud REST Agent to reading list" title="Save post Managing Cloudflare Zone WAF Custom Rules using MechCloud REST Agent to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400104" data-content-user-id="2273569"> <a href="https://dev.to/pravinjadhav/graphql-in-2025-what-it-is-why-it-matters-and-whether-you-should-bother-learning-it-e9h" aria-labelledby="article-link-2400104" class="crayons-story__hidden-navigation-link">GraphQL in 2025: What It Is, Why It Matters, and Whether You Should Bother Learning It</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/pravinjadhav" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2273569%2F42b75027-be8a-4548-b2fb-6e97931c240a.jpg" alt="pravinjadhav profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/pravinjadhav" class="crayons-story__secondary fw-medium m:hidden"> Pravin Jadhav </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400104" aria-controls="story-author-preview-content-2400104" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Pravin Jadhav profile details"> Pravin Jadhav </button> <div id="story-author-preview-content-2400104" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/pravinjadhav" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2273569%2F42b75027-be8a-4548-b2fb-6e97931c240a.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Pravin Jadhav</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2273569,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Pravin Jadhav&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2273569"></div> </div> </div> </div> </div> <a href="https://dev.to/pravinjadhav/graphql-in-2025-what-it-is-why-it-matters-and-whether-you-should-bother-learning-it-e9h" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T16:19:04Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744388344"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/pravinjadhav/graphql-in-2025-what-it-is-why-it-matters-and-whether-you-should-bother-learning-it-e9h" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp2y67lm0c3u8i086vbv.png" id="article-link-2400104"> GraphQL in 2025: What It Is, Why It Matters, and Whether You Should Bother Learning It </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 30, 38, 0.10); --tag-prefix: #171e26; --tag-bg-hover: rgba(23, 30, 38, 0.10); --tag-prefix-hover: #171e26; " href="/t/graphql"><span class="crayons-tag__prefix">#</span>graphql</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(237, 21, 86, 0.10); --tag-prefix: #ED1556; --tag-bg-hover: rgba(237, 21, 86, 0.10); --tag-prefix-hover: #ED1556; " href="/t/database"><span class="crayons-tag__prefix">#</span>database</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/pravinjadhav/graphql-in-2025-what-it-is-why-it-matters-and-whether-you-should-bother-learning-it-e9h#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - GraphQL in 2025: What It Is, Why It Matters, and Whether You Should Bother Learning It"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ajsempodil3zzs1i2jlkq3znk2ftr3q7" class="crayons-icon"><title id="ajsempodil3zzs1i2jlkq3znk2ftr3q7">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2400104" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400104" data-article-author-id="2273569" aria-label="Save post GraphQL in 2025: What It Is, Why It Matters, and Whether You Should Bother Learning It to reading list" title="Save post GraphQL in 2025: What It Is, Why It Matters, and Whether You Should Bother Learning It to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400102" data-content-user-id="455983"> <a href="https://dev.to/sameech/future-of-developers-is-changing-faster-than-your-vs-code-auto-save-1ih" aria-labelledby="article-link-2400102" class="crayons-story__hidden-navigation-link">πŸš€ Future of Developers is changing faster than your VS Code auto-save!</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/sameech" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F455983%2Fd7de6231-8327-4524-bff8-def82c55fd1a.jpeg" alt="sameech profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sameech" class="crayons-story__secondary fw-medium m:hidden"> Samee Ch </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400102" aria-controls="story-author-preview-content-2400102" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Samee Ch profile details"> Samee Ch </button> <div id="story-author-preview-content-2400102" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/sameech" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F455983%2Fd7de6231-8327-4524-bff8-def82c55fd1a.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Samee Ch</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:455983,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Samee Ch&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="455983"></div> </div> </div> </div> </div> <a href="https://dev.to/sameech/future-of-developers-is-changing-faster-than-your-vs-code-auto-save-1ih" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T16:16:21Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744388181"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/sameech/future-of-developers-is-changing-faster-than-your-vs-code-auto-save-1ih" data-preload-image="" id="article-link-2400102"> πŸš€ Future of Developers is changing faster than your VS Code auto-save! </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(60, 165, 234, 0.10); --tag-prefix: #3ca5ea; --tag-bg-hover: rgba(60, 165, 234, 0.10); --tag-prefix-hover: #3ca5ea; " href="/t/vscode"><span class="crayons-tag__prefix">#</span>vscode</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(175, 39, 242, 0.10); --tag-prefix: #af27f2; --tag-bg-hover: rgba(175, 39, 242, 0.10); --tag-prefix-hover: #af27f2; " href="/t/coding"><span class="crayons-tag__prefix">#</span>coding</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/sameech/future-of-developers-is-changing-faster-than-your-vs-code-auto-save-1ih#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - πŸš€ Future of Developers is changing faster than your VS Code auto-save!"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a4kjfvgop0gqrakuy7bvhbj949w7e76o" class="crayons-icon"><title id="a4kjfvgop0gqrakuy7bvhbj949w7e76o">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2400102" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400102" data-article-author-id="455983" aria-label="Save post πŸš€ Future of Developers is changing faster than your VS Code auto-save! to reading list" title="Save post πŸš€ Future of Developers is changing faster than your VS Code auto-save! to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400096" data-content-user-id="865016"> <a href="https://dev.to/gitguardian/bsides-san-diego-2025-shifting-the-risk-conversation-by-the-sea-shore-4gg3" aria-labelledby="article-link-2400096" class="crayons-story__hidden-navigation-link">BSides San Diego 2025: Shifting the Risk Conversation By The Sea Shore</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/gitguardian"> <img alt="GitGuardian logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F4775%2Fc847a31e-0f21-49f1-a6fe-7b55c0e0c954.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/dwayne_mcdaniel" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F865016%2Fa8b060e5-eccd-496d-909b-6d9c0a5b0202.jpg" alt="dwayne_mcdaniel profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/dwayne_mcdaniel" class="crayons-story__secondary fw-medium m:hidden"> Dwayne McDaniel </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400096" aria-controls="story-author-preview-content-2400096" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Dwayne McDaniel profile details"> Dwayne McDaniel </button> <div id="story-author-preview-content-2400096" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/dwayne_mcdaniel" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F865016%2Fa8b060e5-eccd-496d-909b-6d9c0a5b0202.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Dwayne McDaniel</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:865016,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Dwayne McDaniel&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="865016"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/gitguardian" class="crayons-story__secondary fw-medium">GitGuardian</a> </span> </div> <a href="https://dev.to/gitguardian/bsides-san-diego-2025-shifting-the-risk-conversation-by-the-sea-shore-4gg3" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T16:13:28Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744388008"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/gitguardian/bsides-san-diego-2025-shifting-the-risk-conversation-by-the-sea-shore-4gg3" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjy848mfev6imk5fyypac.png" id="article-link-2400096"> BSides San Diego 2025: Shifting the Risk Conversation By The Sea Shore </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(27, 172, 128, 0.10); --tag-prefix: #1bac80; --tag-bg-hover: rgba(27, 172, 128, 0.10); --tag-prefix-hover: #1bac80; " href="/t/security"><span class="crayons-tag__prefix">#</span>security</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(227, 255, 0, 0.10); --tag-prefix: #e3ff00; --tag-bg-hover: rgba(227, 255, 0, 0.10); --tag-prefix-hover: #e3ff00; " href="/t/cybersecurity"><span class="crayons-tag__prefix">#</span>cybersecurity</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(6, 181, 0, 0.10); --tag-prefix: #06B500; --tag-bg-hover: rgba(6, 181, 0, 0.10); --tag-prefix-hover: #06B500; " href="/t/devops"><span class="crayons-tag__prefix">#</span>devops</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(152, 134, 255, 0.10); --tag-prefix: #9886FF; --tag-bg-hover: rgba(152, 134, 255, 0.10); --tag-prefix-hover: #9886FF; " href="/t/eventsinyourcity"><span class="crayons-tag__prefix">#</span>eventsinyourcity</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/gitguardian/bsides-san-diego-2025-shifting-the-risk-conversation-by-the-sea-shore-4gg3#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - BSides San Diego 2025: Shifting the Risk Conversation By The Sea Shore"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a4xib464uylg3whj9je3gjbp7b2p3v2h" class="crayons-icon"><title id="a4xib464uylg3whj9je3gjbp7b2p3v2h">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 7 min read </small> <button type="button" id="article-save-button-2400096" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400096" data-article-author-id="865016" aria-label="Save post BSides San Diego 2025: Shifting the Risk Conversation By The Sea Shore to reading list" title="Save post BSides San Diego 2025: Shifting the Risk Conversation By The Sea Shore to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400101" data-content-user-id="499850"> <a href="https://dev.to/devcorner/what-is-the-temporal-dead-zone-11j9" aria-labelledby="article-link-2400101" class="crayons-story__hidden-navigation-link">🧠 What is the Temporal Dead Zone?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/devcorner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F499850%2F992e147b-27c9-43ee-a2aa-fbc2fa359a46.png" alt="devcorner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/devcorner" class="crayons-story__secondary fw-medium m:hidden"> Dev Cookies </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400101" aria-controls="story-author-preview-content-2400101" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Dev Cookies profile details"> Dev Cookies </button> <div id="story-author-preview-content-2400101" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/devcorner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F499850%2F992e147b-27c9-43ee-a2aa-fbc2fa359a46.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Dev Cookies</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:499850,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Dev Cookies&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="499850"></div> </div> </div> </div> </div> <a href="https://dev.to/devcorner/what-is-the-temporal-dead-zone-11j9" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T16:15:46Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744388146"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/devcorner/what-is-the-temporal-dead-zone-11j9" data-preload-image="" id="article-link-2400101"> 🧠 What is the Temporal Dead Zone? </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/devcorner/what-is-the-temporal-dead-zone-11j9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 🧠 What is the Temporal Dead Zone?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9wstin44q3t217iumczl0m21izu5r4o" class="crayons-icon"><title id="a9wstin44q3t217iumczl0m21izu5r4o">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2400101" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400101" data-article-author-id="499850" aria-label="Save post 🧠 What is the Temporal Dead Zone? to reading list" title="Save post 🧠 What is the Temporal Dead Zone? to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400112" data-content-user-id="2397174"> <a href="https://dev.to/discord-tools/best-email-marketing-tool-for-gyms-5ab7" aria-labelledby="article-link-2400112" class="crayons-story__hidden-navigation-link">Best Email Marketing Tool for Gyms</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/discord-tools" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2397174%2Ffe6232ed-6056-4bf5-bf97-dcfcc69b3f21.png" alt="discord-tools profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/discord-tools" class="crayons-story__secondary fw-medium m:hidden"> Jenny C </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400112" aria-controls="story-author-preview-content-2400112" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Jenny C profile details"> Jenny C </button> <div id="story-author-preview-content-2400112" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/discord-tools" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2397174%2Ffe6232ed-6056-4bf5-bf97-dcfcc69b3f21.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Jenny C</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2397174,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Jenny C&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2397174"></div> </div> </div> </div> </div> <a href="https://dev.to/discord-tools/best-email-marketing-tool-for-gyms-5ab7" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T16:23:57Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744388637"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/discord-tools/best-email-marketing-tool-for-gyms-5ab7" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foiqkkd3vqhnzbwfuz4ft.png" id="article-link-2400112"> Best Email Marketing Tool for Gyms </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 7, 152, 0.10); --tag-prefix: #2A0798; --tag-bg-hover: rgba(42, 7, 152, 0.10); --tag-prefix-hover: #2A0798; " href="/t/productivity"><span class="crayons-tag__prefix">#</span>productivity</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/software"><span class="crayons-tag__prefix">#</span>software</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/discord-tools/best-email-marketing-tool-for-gyms-5ab7#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Best Email Marketing Tool for Gyms"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a93vaguxd6obtin3t1v87vsedabut8o2" class="crayons-icon"><title id="a93vaguxd6obtin3t1v87vsedabut8o2">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2400112" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400112" data-article-author-id="2397174" aria-label="Save post Best Email Marketing Tool for Gyms to reading list" title="Save post Best Email Marketing Tool for Gyms to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400062" data-content-user-id="1131014"> <a href="https://dev.to/ismailg/how-to-set-up-aws-efs-static-provisioning-across-multiple-kubernetes-namespaces-58i2" aria-labelledby="article-link-2400062" class="crayons-story__hidden-navigation-link">How to Set Up AWS EFS Static Provisioning Across Multiple Kubernetes Namespaces</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ismailg" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1131014%2F3961d002-9e1f-450e-9988-f387fc6b8a78.png" alt="ismailg profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ismailg" class="crayons-story__secondary fw-medium m:hidden"> Ismail G. </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400062" aria-controls="story-author-preview-content-2400062" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ismail G. profile details"> Ismail G. </button> <div id="story-author-preview-content-2400062" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/ismailg" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1131014%2F3961d002-9e1f-450e-9988-f387fc6b8a78.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ismail G.</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1131014,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Ismail G.&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1131014"></div> </div> </div> </div> </div> <a href="https://dev.to/ismailg/how-to-set-up-aws-efs-static-provisioning-across-multiple-kubernetes-namespaces-58i2" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T15:57:48Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744387068"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/ismailg/how-to-set-up-aws-efs-static-provisioning-across-multiple-kubernetes-namespaces-58i2" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcvfl1h5fnr68iqf3cww.jpg" id="article-link-2400062"> How to Set Up AWS EFS Static Provisioning Across Multiple Kubernetes Namespaces </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/ismailg/how-to-set-up-aws-efs-static-provisioning-across-multiple-kubernetes-namespaces-58i2#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - How to Set Up AWS EFS Static Provisioning Across Multiple Kubernetes Namespaces"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="atc7ip2zwxo0guviugcivzblay4a14ir" class="crayons-icon"><title id="atc7ip2zwxo0guviugcivzblay4a14ir">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2400062" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400062" data-article-author-id="1131014" aria-label="Save post How to Set Up AWS EFS Static Provisioning Across Multiple Kubernetes Namespaces to reading list" title="Save post How to Set Up AWS EFS Static Provisioning Across Multiple Kubernetes Namespaces to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400006" data-content-user-id="1464450"> <a href="https://dev.to/tomjohnson3/identifying-code-that-needs-refactoring-4gp6" aria-labelledby="article-link-2400006" class="crayons-story__hidden-navigation-link">Identifying Code That Needs Refactoring</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/tomjohnson3" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1464450%2Fd82f6836-f3d2-4e78-90da-7bf74cbc9467.png" alt="tomjohnson3 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/tomjohnson3" class="crayons-story__secondary fw-medium m:hidden"> Thomas Johnson </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400006" aria-controls="story-author-preview-content-2400006" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Thomas Johnson profile details"> Thomas Johnson </button> <div id="story-author-preview-content-2400006" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/tomjohnson3" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1464450%2Fd82f6836-f3d2-4e78-90da-7bf74cbc9467.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Thomas Johnson</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1464450,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Thomas Johnson&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1464450"></div> </div> </div> </div> </div> <a href="https://dev.to/tomjohnson3/identifying-code-that-needs-refactoring-4gp6" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T15:13:24Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744384404"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/tomjohnson3/identifying-code-that-needs-refactoring-4gp6" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fil6etklgc473hnj6bqw1.jpg" id="article-link-2400006"> Identifying Code That Needs Refactoring </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/refactoring"><span class="crayons-tag__prefix">#</span>refactoring</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/softwaredevelopment"><span class="crayons-tag__prefix">#</span>softwaredevelopment</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 131, 53, 0.10); --tag-prefix: #008335; --tag-bg-hover: rgba(0, 131, 53, 0.10); --tag-prefix-hover: #008335; " href="/t/beginners"><span class="crayons-tag__prefix">#</span>beginners</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/tomjohnson3/identifying-code-that-needs-refactoring-4gp6#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Identifying Code That Needs Refactoring"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ai6v191plmv1vohdguzzuamc1jps9bcq" class="crayons-icon"><title id="ai6v191plmv1vohdguzzuamc1jps9bcq">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2400006" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400006" data-article-author-id="1464450" aria-label="Save post Identifying Code That Needs Refactoring to reading list" title="Save post Identifying Code That Needs Refactoring to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400001" data-content-user-id="745679"> <a href="https://dev.to/gauravdalvi/mastering-minikube-a-deep-dive-beyond-the-basics-48b9" aria-labelledby="article-link-2400001" class="crayons-story__hidden-navigation-link">Mastering Minikube: A Deep Dive Beyond the Basics</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/gauravdalvi" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F745679%2F72c64a97-9655-46bc-b948-67da4a26c7fa.jpeg" alt="gauravdalvi profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/gauravdalvi" class="crayons-story__secondary fw-medium m:hidden"> Gaurav Dalvi </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400001" aria-controls="story-author-preview-content-2400001" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Gaurav Dalvi profile details"> Gaurav Dalvi </button> <div id="story-author-preview-content-2400001" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/gauravdalvi" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F745679%2F72c64a97-9655-46bc-b948-67da4a26c7fa.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Gaurav Dalvi</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:745679,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Gaurav Dalvi&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="745679"></div> </div> </div> </div> </div> <a href="https://dev.to/gauravdalvi/mastering-minikube-a-deep-dive-beyond-the-basics-48b9" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T15:11:46Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744384306"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/gauravdalvi/mastering-minikube-a-deep-dive-beyond-the-basics-48b9" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4igiyrkznp2lu45uhafy.webp" id="article-link-2400001"> Mastering Minikube: A Deep Dive Beyond the Basics </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(6, 181, 0, 0.10); --tag-prefix: #06B500; --tag-bg-hover: rgba(6, 181, 0, 0.10); --tag-prefix-hover: #06B500; " href="/t/devops"><span class="crayons-tag__prefix">#</span>devops</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/microservices"><span class="crayons-tag__prefix">#</span>microservices</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/cicd"><span class="crayons-tag__prefix">#</span>cicd</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(50, 109, 230, 0.10); --tag-prefix: #326de6; --tag-bg-hover: rgba(50, 109, 230, 0.10); --tag-prefix-hover: #326de6; " href="/t/kubernetes"><span class="crayons-tag__prefix">#</span>kubernetes</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/gauravdalvi/mastering-minikube-a-deep-dive-beyond-the-basics-48b9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2400001" aria-label="Add a comment to post - Mastering Minikube: A Deep Dive Beyond the Basics"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="https://dev.to/gauravdalvi/mastering-minikube-a-deep-dive-beyond-the-basics-48b9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Mastering Minikube: A Deep Dive Beyond the Basics"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a5ztwws3tmidy1m7artdatl964jf6jm6" class="crayons-icon"><title id="a5ztwws3tmidy1m7artdatl964jf6jm6">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2400001" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400001" data-article-author-id="745679" aria-label="Save post Mastering Minikube: A Deep Dive Beyond the Basics to reading list" title="Save post Mastering Minikube: A Deep Dive Beyond the Basics to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2400084" data-content-user-id="2758405"> <a href="https://dev.to/publish/the-comprehensive-guide-to-ice-maker-machines-8jm" aria-labelledby="article-link-2400084" class="crayons-story__hidden-navigation-link">The Comprehensive Guide to Ice Maker Machines</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/publish" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2758405%2Fe2e72ec8-89eb-4291-ad25-3bc9497750d4.jpg" alt="publish profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/publish" class="crayons-story__secondary fw-medium m:hidden"> Smith </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2400084" aria-controls="story-author-preview-content-2400084" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Smith profile details"> Smith </button> <div id="story-author-preview-content-2400084" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/publish" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2758405%2Fe2e72ec8-89eb-4291-ad25-3bc9497750d4.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Smith</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2758405,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Smith&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2758405"></div> </div> </div> </div> </div> <a href="https://dev.to/publish/the-comprehensive-guide-to-ice-maker-machines-8jm" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-11T16:05:20Z">Apr 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744387520"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/publish/the-comprehensive-guide-to-ice-maker-machines-8jm" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuaryl2s3xb1sbm1u6j1o.jpg" id="article-link-2400084"> The Comprehensive Guide to Ice Maker Machines </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(229, 255, 227, 0.10); --tag-prefix: #E5FFE3; --tag-bg-hover: rgba(229, 255, 227, 0.10); --tag-prefix-hover: #E5FFE3; " href="/t/machinelearning"><span class="crayons-tag__prefix">#</span>machinelearning</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/marketing"><span class="crayons-tag__prefix">#</span>marketing</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 131, 53, 0.10); --tag-prefix: #008335; --tag-bg-hover: rgba(0, 131, 53, 0.10); --tag-prefix-hover: #008335; " href="/t/beginners"><span class="crayons-tag__prefix">#</span>beginners</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(230, 255, 251, 0.10); --tag-prefix: #E6FFFB; --tag-bg-hover: rgba(230, 255, 251, 0.10); --tag-prefix-hover: #E6FFFB; " href="/t/startup"><span class="crayons-tag__prefix">#</span>startup</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/publish/the-comprehensive-guide-to-ice-maker-machines-8jm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - The Comprehensive Guide to Ice Maker Machines"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="afgq8emw2o2wmed0ehwtvl0i63gv2m5h" class="crayons-icon"><title id="afgq8emw2o2wmed0ehwtvl0i63gv2m5h">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2400084" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2400084" data-article-author-id="2758405" aria-label="Save post The Comprehensive Guide to Ice Maker Machines to reading list" title="Save post The Comprehensive Guide to Ice Maker Machines to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="placeholder-div"></div> <div class="single-article-small-pic" id="article-index-hidden-div" style="display:none"></div> </div> <script src="https://assets.dev.to/assets/homePageFeedShortcuts-f7364bc2d6cb139c03e7fe80e32782ba5af34857d2b308e3caa8d902e579a3af.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedPreviewCards-8d16b0b656456a28c0a290f756cf6e21e19833111c4796f48c631bfea8323d51.js" defer="defer"></script> <div id="followed-podcasts" data-episodes="null"></div> <div class="loading-articles" id="loading-articles"> loading... </div> </main> <div id="sidebar-wrapper-right" class="sidebar-wrapper sidebar-wrapper-right crayons-layout__sidebar-right crayons-layout__content"> <aside class="side-bar sidebar-additional showing grid gap-4" id="sidebar-additional"> <style> .long-bb-body { max-height: calc(100vh - 200px); overflow: hidden; } .long-bb-bottom { height: 180px; background: linear-gradient(to top, var(--card-bg), transparent); margin-top: -180px; position:relative; z-index: 5; } </style> <div class="crayons-card crayons-card--secondary crayons-bb bb-placement js-billboard" style="" data-display-unit data-id="216179" data-category-click="click" data-category-impression="impression" data-context-type="home" data-special="nothing" data-article-id="" data-type-of="in_house"> <div class="crayons-bb__header relative"> <div class="crayons-bb__title">πŸ‘‹ What&#39;s happening this week</div> <button id="sponsorship-dropdown-trigger-216179" aria-controls="sponsorship-dropdown-216179" aria-expanded="false" aria-haspopup="true" class="dropBtn crayons-bb__dropdown crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon" aria-label="Toggle dropdown menu"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="adartaqu7qxveggmhh56gz7o80pkot11" class="crayons-icon pointer-events-none"><title id="adartaqu7qxveggmhh56gz7o80pkot11">Dropdown menu</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.25 12a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm5.25 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm3.75 1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> </button> <div id="sponsorship-dropdown-216179" class="crayons-dropdown bb-dropdown right-0"> <ul class="list-none m-0"> <li> <a class="crayons-link crayons-link--block" href='/billboards'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 100-16 8 8 0 000 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z"></path> </svg> What&#39;s a billboard? </a> </li> <li> <a class="crayons-link crayons-link--block" href='/settings/customization#sponsors'> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M3.34 16.9999C2.91727 16.2689 2.58866 15.4874 2.362 14.6739C2.85531 14.423 3.26959 14.0406 3.55903 13.5688C3.84846 13.0971 4.00176 12.5545 4.00197 12.0011C4.00218 11.4476 3.84928 10.9049 3.5602 10.4329C3.27112 9.961 2.85712 9.57821 2.364 9.32694C2.81604 7.69243 3.67673 6.1999 4.865 4.98994C5.32909 5.29167 5.86762 5.45911 6.42098 5.47373C6.97434 5.48834 7.52095 5.34958 8.00033 5.07278C8.47971 4.79598 8.87315 4.39194 9.13713 3.90539C9.4011 3.41883 9.52531 2.86872 9.496 2.31594C11.1381 1.89157 12.8612 1.89226 14.503 2.31795C14.474 2.87071 14.5984 3.42073 14.8626 3.90715C15.1268 4.39357 15.5204 4.79742 15.9998 5.07401C16.4793 5.35059 17.0259 5.48913 17.5793 5.4743C18.1326 5.45946 18.671 5.29183 19.135 4.98994C19.714 5.57994 20.228 6.25095 20.66 6.99995C21.093 7.74895 21.417 8.52995 21.638 9.32595C21.1447 9.57685 20.7304 9.95932 20.441 10.4311C20.1515 10.9028 19.9982 11.4454 19.998 11.9988C19.9978 12.5523 20.1507 13.095 20.4398 13.5669C20.7289 14.0389 21.1429 14.4217 21.636 14.6729C21.184 16.3075 20.3233 17.8 19.135 19.0099C18.6709 18.7082 18.1324 18.5408 17.579 18.5262C17.0257 18.5115 16.479 18.6503 15.9997 18.9271C15.5203 19.2039 15.1268 19.6079 14.8629 20.0945C14.5989 20.5811 14.4747 21.1312 14.504 21.6839C12.8619 22.1083 11.1388 22.1076 9.497 21.6819C9.52605 21.1292 9.4016 20.5792 9.13742 20.0927C8.87324 19.6063 8.47964 19.2025 8.00017 18.9259C7.5207 18.6493 6.97405 18.5108 6.42073 18.5256C5.8674 18.5404 5.32896 18.7081 4.865 19.0099C4.27399 18.4069 3.76159 17.7315 3.34 16.9999ZM9 17.1959C10.0656 17.8106 10.8668 18.797 11.25 19.9659C11.749 20.0129 12.25 20.0139 12.749 19.9669C13.1324 18.7978 13.934 17.8114 15 17.1969C16.0652 16.5806 17.3205 16.3794 18.525 16.6319C18.815 16.2239 19.065 15.7889 19.273 15.3339C18.4524 14.4174 17.9991 13.2302 18 11.9999C18 10.7399 18.47 9.56295 19.273 8.66595C19.0635 8.21109 18.8125 7.77658 18.523 7.36795C17.3193 7.62025 16.0648 7.41942 15 6.80395C13.9344 6.18932 13.1332 5.20293 12.75 4.03394C12.251 3.98694 11.75 3.98594 11.251 4.03294C10.8676 5.20209 10.066 6.1885 9 6.80295C7.93478 7.41926 6.67948 7.62046 5.475 7.36795C5.18556 7.77623 4.93513 8.21081 4.727 8.66595C5.54757 9.5825 6.00088 10.7697 6 11.9999C6 13.2599 5.53 14.4369 4.727 15.3339C4.93647 15.7888 5.18754 16.2233 5.477 16.6319C6.68072 16.3796 7.93521 16.5805 9 17.1959ZM12 14.9999C11.2044 14.9999 10.4413 14.6839 9.87868 14.1213C9.31607 13.5587 9 12.7956 9 11.9999C9 11.2043 9.31607 10.4412 9.87868 9.87862C10.4413 9.31602 11.2044 8.99995 12 8.99995C12.7956 8.99995 13.5587 9.31602 14.1213 9.87862C14.6839 10.4412 15 11.2043 15 11.9999C15 12.7956 14.6839 13.5587 14.1213 14.1213C13.5587 14.6839 12.7956 14.9999 12 14.9999ZM12 12.9999C12.2652 12.9999 12.5196 12.8946 12.7071 12.7071C12.8946 12.5195 13 12.2652 13 11.9999C13 11.7347 12.8946 11.4804 12.7071 11.2928C12.5196 11.1053 12.2652 10.9999 12 10.9999C11.7348 10.9999 11.4804 11.1053 11.2929 11.2928C11.1054 11.4804 11 11.7347 11 11.9999C11 12.2652 11.1054 12.5195 11.2929 12.7071C11.4804 12.8946 11.7348 12.9999 12 12.9999Z" fill="black"></path> </svg> Manage preferences </a> </li> <hr /> <li> <a class="crayons-link crayons-link--block" href="/report-abuse?billboard=216179"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12.382 3a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5v6H3V3h9.382Zm-.618 2H5v9h8.236l1 2H19V7h-6.236l-1-2Z"></path> </svg> Report billboard </a> </li> </ul> </div> </div> <div class="p-1 pt-3 text-styles text-styles--billboard"> <h3>Challenges πŸ€—</h3> <div style="border: 2px solid #3c3d40; padding: 12px; border-radius: 8px; margin-top: 10px; margin-bottom: 15px"> <p style="margin-bottom:10px;">Happening Now ✨</p> <a href="https://dev.to/devteam/join-us-for-the-alibaba-cloud-web-game-challenge-3000-in-prizes-1n5d?bb=216179"><img src="https://media2.dev.to/dynamic/image/width=880%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0jljr04cbr9hpg28kbk.png" style="width:100%;display:block;margin-bottom: 10px;" height="1720" width="4096" loading="lazy"></a> <p style="margin-bottom: 5px;"><strong><a href="https://dev.to/devteam/join-us-for-the-alibaba-cloud-web-game-challenge-3000-in-prizes-1n5d?bb=216179">Alibaba Cloud Web Game Challenge</a></strong></p> <p style="margin-bottom: 5px;"><em>Get your submissions in early!</em></p> </div> <h4>Have a great week ❀️</h4> </div> </div> <section class="crayons-card crayons-card--secondary crayons-layout__content"> <header class="crayons-card__header"> <h3 class="crayons-subtitle-2"><a href="/t/discuss" class="crayons-link">#discuss</a></h3> <div class="fs-xs color-base-70"> Discussion threads targeting the whole community </div> </header> <div> <a class="crayons-link crayons-link--contentful" href="https://dev.to/m__mdy__m/protocol-agnostic-framework-9p2"> Protocol Agnostic Framework <div class="crayons-link__secondary"> 21 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/devteam/what-was-your-win-this-week-229d"> What was your win this week? <div class="crayons-link__secondary"> 4 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/declan_sodeman_a2acb83804/ever-had-a-client-ghost-you-halfway-through-a-project-mi6"> Ever had a client ghost you halfway through a project? <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/sarahmatta/greener-code-how-developers-can-increase-sustainability-with-cleaner-software-12jn"> Greener Code: How Developers Can Increase Sustainability with Cleaner Software <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/splime_project/when-one-tech-stack-isnt-enough-orchestrating-a-multi-language-pipeline-with-local-faas-4nl7"> When One Tech Stack Isn’t Enough: Orchestrating a Multi-Language Pipeline with Local FaaS <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> </div> </section> <section class="crayons-card crayons-card--secondary crayons-layout__content"> <header class="crayons-card__header"> <h3 class="crayons-subtitle-2"><a href="/t/watercooler" class="crayons-link">#watercooler</a></h3> <div class="fs-xs color-base-70"> Light, and off-topic conversation. </div> </header> <div> <a class="crayons-link crayons-link--contentful" href="https://dev.to/declan_sodeman_a2acb83804/ever-had-a-client-ghost-you-halfway-through-a-project-mi6"> Ever had a client ghost you halfway through a project? <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/tylermorganaqe/boost-manufacturing-efficiency-with-advanced-digital-twin-mapping-1930"> Boost Manufacturing Efficiency with Advanced Digital Twin Mapping <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/hanzla-baig/i-am-waiting-for-winners-announcement-3c46"> I am waiting for winners announcement 😁😁 <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/shri_radharaman_01e9a9194/what-is-the-connection-between-gopal-bhatta-goswami-and-the-radha-raman-temple-2b47"> What is the connection between Gopal Bhatta Goswami and the Radha Raman Temple? <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/timothy_hoffman_8d5a12618/i-highly-recommend-infinite-digital-recovery-for-anyone-dealing-with-data-loss-or-digital-issues-lp6"> I highly recommend Infinite Digital Recovery for anyone dealing with data loss or digital issues.... <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> </div> </section> <section class="widget"> <header> <h4>trending guides/resources</h4> </header> <div class="widget-body"> <div class="widget-link-list"> <a class="crayons-link crayons-link--contentful" href="/somadevtoo/7-must-read-tech-books-for-experienced-developers-and-leads-in-2025-2j0n"> 7 Must Read Tech Books for Experienced Developers and Leads in 2025 </a> <a class="crayons-link crayons-link--contentful" href="/copilotkit/automate-90-of-your-work-with-ai-agents-real-examples-code-inside-46ke"> Automate 90% of Your Work with AI Agents (Real Examples &amp; Code Inside) πŸš€ πŸ€– </a> <a class="crayons-link crayons-link--contentful" href="/anmolbaranwal/10-common-backend-tasks-and-how-to-automate-them-4c79"> 10 common backend tasks and how to automate them </a> <a class="crayons-link crayons-link--contentful" href="/samchon/every-typescript-developer-is-an-ai-developer-2kan"> Every TypeScript Developer is an AI Developer </a> <a class="crayons-link crayons-link--contentful" href="/composiodev/how-to-connect-cursor-to-100-mcp-servers-within-minutes-3h74"> How to connect Cursor to 100+ MCP Servers within minutes </a> <a class="crayons-link crayons-link--contentful" href="/prodevopsguytech/cicd-devops-pipeline-project-deployment-of-java-application-on-kubernetes-4fi2"> CI/CD DevOps Pipeline Project: Deployment of Java Application on Kubernetes </a> <a class="crayons-link crayons-link--contentful" href="/hellonehha/system-design-roadmap-for-beginners-nfi"> System Design Roadmap for Beginners </a> <a class="crayons-link crayons-link--contentful" href="/creativetim_official/from-dev-to-founder-6-books-every-developer-turned-entrepreneur-should-read-8nb"> πŸ’Ό From Dev to Founder: 6 Books Every Developer-Turned-Entrepreneur Should Read </a> <a class="crayons-link crayons-link--contentful" href="/timescale/benchmarking-databases-for-real-time-analytics-applications-f2d"> Benchmarking Databases for Real-Time Analytics Applications </a> <a class="crayons-link crayons-link--contentful" href="/mattlewandowski93/stop-chasing-new-javascript-frameworks-build-with-fundamentals-instead-1lni"> Stop Chasing New JavaScript Frameworks: Build with Fundamentals Instead πŸ—οΈ </a> <a class="crayons-link crayons-link--contentful" href="/holasoymalva/why-the-latest-javascript-frameworks-are-a-waste-of-time-52pc"> Why the Latest JavaScript Frameworks Are a Waste of Time </a> <a class="crayons-link crayons-link--contentful" href="/pavanbelagatti/run-deepseek-r1-locally-for-free-in-just-3-minutes-1e82"> Run DeepSeek-R1 Locally &amp; Build RAG Applications! </a> <a class="crayons-link crayons-link--contentful" href="/samchon/autoview-turning-your-blueprint-into-ui-components-ai-code-generator-fp"> AutoView - turning your blueprint into UI components (AI Code Generator) </a> <a class="crayons-link crayons-link--contentful" href="/resource_bunk_1077cab07da/i-built-a-web-app-in-10-minutes-1c89"> I Built a Web App in 10 Minutes. </a> <a class="crayons-link crayons-link--contentful" href="/leonardorafael/beer-css-a-battle-for-less-html-and-css-2he5"> Beer CSS - A battle for less HTML and CSS </a> <a class="crayons-link crayons-link--contentful" href="/hackmamba/these-are-the-best-large-language-models-for-coding-1co2"> These are the best large language models for coding </a> <a class="crayons-link crayons-link--contentful" href="/somadevtoo/10-must-read-system-design-interview-books-for-software-engineers-1g1b"> 10 Must Read System Design Interview Books for Software Engineers </a> <a class="crayons-link crayons-link--contentful" href="/alvaromontoro/microsoft-announces-a-revolutionary-keyboard-designed-for-vibe-coding-12d0"> Microsoft announces a revolutionary keyboard designed for vibe coding! </a> <a class="crayons-link crayons-link--contentful" href="/jps27cse/the-role-of-consistency-in-software-engineering-why-daily-practice-beats-weekend-learning-36b9"> The Role of Consistency in Software Engineering: Why Daily Practice Beats Weekend Learning </a> <a class="crayons-link crayons-link--contentful" href="/ruppysuppy/7-tools-that-make-me-productive-as-a-software-engineer-4p3l"> 7 Tools that Make Me Productive as a Software Engineer </a> </div> </div> </section> </aside> </div> </div> <script src="https://assets.dev.to/assets/storiesList-b9c50cbd898a3a64258a3a49db1c531651b0a4a11937be35ed4651111802b5b5.js" defer="defer"></script> <script src="https://assets.dev.to/assets/followButtons-f2455d1f50a862b83fa006b1953e3a1644598781243cae25d3e75b13c04184fd.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedPreviewCards-8d16b0b656456a28c0a290f756cf6e21e19833111c4796f48c631bfea8323d51.js" defer="defer"></script> <script src="https://assets.dev.to/assets/heroBannerClose-08daef9d8f6109d73b3876fb088e26e5a46a047f93d787c38871fdbfbfc56e95.js" defer="defer"></script> <script src="https://assets.dev.to/assets/localizeArticleDates-70147c5c6bfe350b42e020ebb2a3dd37419d83978982b5a67b6389119bf162ac.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedEvents-a261980d186baaa8a38bc641ab1f21cd7e94efa28d0c50a060195c7811afdfc1.js" defer="defer"></script> <div id="runtime-banner-container"></div> </div> </div> <footer id="footer" class="crayons-footer print-hidden"> <div id="footer-container" class="crayons-footer__container"> <style> .long-bb-body { max-height: calc(100vh - 200px); overflow: hidden; } .long-bb-bottom { height: 180px; background: linear-gradient(to top, var(--card-bg), transparent); margin-top: -180px; position:relative; z-index: 5; } </style> <div style="" data-display-unit data-id="146443" data-category-click="click" data-category-impression="impression" data-context-type="home" data-special="nothing" data-article-id="412938" data-type-of="in_house"> <p style="font-weight: bold;margin-bottom: 10px"> Thank you to our Diamond Sponsor <a href="https://neon.tech/?bb=146443">Neon</a> for supporting our community. </p> </div> <p class="fs-s crayons-footer__description"> <a class="c-link c-link--branded fw-medium" aria-label="DEV Community Home" href="/">DEV Community</a> β€” A constructive and inclusive social network for software developers. With you every step of your journey. </p> <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" /> <li class="footer__nav-link flex items-center"> <a href="/"> Home </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/++"> DEV++ </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/pod"> Podcasts </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/videos"> Videos </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/tags"> Tags </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/help"> DEV Help </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="https://shop.forem.com/"> Forem Shop </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/advertise"> Advertise on DEV </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/challenges"> DEV Challenges </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/showcase"> DEV Showcase </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/about"> About </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/contact"> Contact </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/free-postgres-database-tier"> Free Postgres Database </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/software-comparisons"> Software comparisons </a> <span class="dot ml-2"></span> </li> </ul> <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" /> <li class="footer__nav-link flex items-center"> <a href="/code-of-conduct"> Code of Conduct </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/privacy"> Privacy Policy </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/terms"> Terms of use </a> <span class="dot ml-2"></span> </li> </ul> <div class="fs-s"> <p>Built on <a class="c-link c-link--branded" target="_blank" rel="noopener" href="https://www.forem.com">Forem</a> β€” the <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/opensource">open source</a> software that powers <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to">DEV</a> and other inclusive communities.</p> <p>Made with love and <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/rails">Ruby on Rails</a>. DEV Community <span title="copyright">&copy;</span> 2016 - 2025.</p> </div> </div> </footer> <div id="snack-zone"></div> <div id="global-signup-modal" class="authentication-modal hidden"> <div class="authentication-modal__container"> <figure class="authentication-modal__image-container"> <img class="authentication-modal__image" src="https://media2.dev.to/dynamic/image/width=190,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" alt="DEV Community" loading="lazy" /> </figure> <div class="authentication-modal__content"> <p class="authentication-modal__description"> We&#39;re a place where coders share, stay up-to-date and grow their careers. </p> </div> <div class="authentication-modal__actions"> <a href="/enter" class="crayons-btn" aria-label="Log in" data-no-instant> Log in </a> <a href="/enter?state=new-user" class="crayons-btn crayons-btn--ghost-brand js-global-signup-modal__create-account" aria-label="Create new account" data-no-instant> Create account </a> </div> </div> </div> <script src="https://assets.dev.to/assets/signupModalShortcuts-0b25469b985100a01e94cbd7fccaf7f0a4d776e129aac65c766aa32cb28ab29a.js" defer="defer"></script> <div id="cookie-consent"></div> <div id="i18n-translations" data-translations="{&quot;en&quot;:{&quot;core&quot;:{&quot;add_comment&quot;:&quot;Add comment&quot;,&quot;beta&quot;:&quot;beta&quot;,&quot;comment&quot;:&quot;Comment&quot;,&quot;copy_link&quot;:&quot;Copy link&quot;,&quot;edit_profile&quot;:&quot;Edit profile&quot;,&quot;follow&quot;:&quot;Follow&quot;,&quot;follow_back&quot;:&quot;Follow back&quot;,&quot;following&quot;:&quot;Following&quot;,&quot;like&quot;:&quot;Like&quot;,&quot;loading&quot;:&quot;loading...&quot;,&quot;reaction&quot;:&quot;Reaction&quot;,&quot;report_abuse&quot;:&quot;Report abuse&quot;,&quot;search&quot;:&quot;Search&quot;,&quot;success_settings&quot;:&quot;Successfully updated settings.&quot;,&quot;counted_organization&quot;:{&quot;one&quot;:&quot;%{count} organization&quot;,&quot;other&quot;:&quot;%{count} organizations&quot;},&quot;counted_user&quot;:{&quot;one&quot;:&quot;%{count} person&quot;,&quot;other&quot;:&quot;%{count} people&quot;},&quot;not_following&quot;:&quot;You&#39;re not following anyone&quot;,&quot;following_everyone&quot;:&quot;You&#39;re following %{details} (everyone)&quot;,&quot;you_are_following&quot;:&quot;You&#39;re following&quot;,&quot;and&quot;:&quot;and&quot;}}}"></div> <div id="reaction-category-resources" class="hidden" aria-hidden="true"> <img data-name="Like" data-slug="like" data-position="1" src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> <img data-name="Unicorn" data-slug="unicorn" data-position="2" src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> <img data-name="Exploding Head" data-slug="exploding_head" data-position="3" src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> <img data-name="Raised Hands" data-slug="raised_hands" data-position="4" src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> <img data-name="Fire" data-slug="fire" data-position="5" src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </div> <script> var userSignedIn = false; if (document.readyState === 'complete' || document.readyState === 'interactive') { initAuth(); } else { document.addEventListener('DOMContentLoaded', initAuth); } function initAuth() { var paramToken = new URLSearchParams(window.location.search).get('jwt'); if (paramToken && !userSignedIn) { authenticateUser(paramToken); } else { var iframe = document.createElement('iframe'); iframe.style.display = 'none'; iframe.src = 'https://forem.com/auth_pass/iframe'; document.body.appendChild(iframe); window.addEventListener('message', function(event) { if (event.origin !== 'https://forem.com' && event.origin !== window.location.origin) { return; } var data = event.data; if (data.authenticated && !userSignedIn) { authenticateUser(data.token); } else if(data.authenticated && window.ReactNativeWebView && window.ReactNativeWebView.postMessage) { window.ReactNativeWebView.postMessage(JSON.stringify({ action: 'login', token: data.token, })); } }); } function authenticateUser(token) { fetch('/auth_pass/token_login', { method: 'POST', credentials: 'include', headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': getMetaContent('csrf-token'), }, body: JSON.stringify({ token: token }), }) .then(function(response) { return response.json(); }) .then(function(data) { if (data.success) { if (document.head.querySelector('meta[name="user-signed-in"][content="false"]')) { // Reload the page to update the user's state location.reload(); } } }) .catch(function(error) { console.error('Error during authentication:', error); }); } function getMetaContent(name) { var element = document.querySelector('meta[name="' + name + '"]'); return element ? element.getAttribute('content') : ''; } } </script> </body> </html>

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