1<!DOCTYPE html> 2<html lang="en-us" class="dark-theme bg-canvas"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 <title>What developers say about AdonisJS</title><meta name="description" content="See what developers are saying about AdonisJS. Real testimonials and feedback from teams building applications with the framework" /> 7<link rel="canonical" href="https://adonisjs.com/wall-of-love" /> 8<meta name="twitter:title" content="What developers say about AdonisJS" /> 9<meta name="twitter:description" content="See what developers are saying about AdonisJS. Real testimonials and feedback from teams building applications with the framework" /> 10<meta name="twitter:card" content="summary_large_image" /> 11<meta name="twitter:site" content="@adonisframework" /> 12<meta name="twitter:creator" content="@adonisframework" /> 13<meta property="og:title" content="What developers say about AdonisJS" /> 14<meta property="og:description" content="See what developers are saying about AdonisJS. Real testimonials and feedback from teams building applications with the framework" /> 15<meta property="og:url" content="https://adonisjs.com/wall-of-love" /> 16 <meta name="twitter:image" content="https://adonisjs.com/assets/wall-of-love-C10A5VC0.jpg" /> 17 <meta property="og:image" content="https://adonisjs.com/assets/wall-of-love-C10A5VC0.jpg" /> 18 19<meta property="og:type" content="website" /> 20 21<link 22 rel="apple-touch-icon" 23 sizes="57x57" 24 href="/assets/apple-icon-57x57-xYBJLDWT.png" 25/> 26<link 27 rel="apple-touch-icon" 28 sizes="60x60" 29 href="/assets/apple-icon-60x60-D6_J_159.png" 30/> 31<link 32 rel="apple-touch-icon" 33 sizes="72x72" 34 href="/assets/apple-icon-72x72-CwGQ7wCB.png" 35/> 36<link 37 rel="apple-touch-icon" 38 sizes="76x76" 39 href="/assets/apple-icon-76x76-aYOM4d7G.png" 40/> 41<link 42 rel="apple-touch-icon" 43 sizes="114x114" 44 href="/assets/apple-icon-114x114-Buyr7H-g.png" 45/> 46<link 47 rel="apple-touch-icon" 48 sizes="120x120" 49 href="/assets/apple-icon-120x120-ribyuC-s.png" 50/> 51<link 52 rel="apple-touch-icon" 53 sizes="144x144" 54 href="/assets/ms-icon-144x144-CS5pvIdW.png" 55/> 56<link 57 rel="apple-touch-icon" 58 sizes="152x152" 59 href="/assets/apple-icon-152x152-5WCCzTD-.png" 60/> 61<link 62 rel="apple-touch-icon" 63 sizes="180x180" 64 href="/assets/apple-icon-180x180-9a7N4Jr0.png" 65/> 66<link 67 rel="icon" 68 type="image/png" 69 sizes="192x192" 70 href="/assets/android-icon-192x192-BsKbegpC.png" 71/> 72<link 73 rel="icon" 74 type="image/png" 75 sizes="32x32" 76 href="/assets/favicon-32x32-B8wNBOa_.png" 77/> 78<link 79 rel="icon" 80 type="image/png" 81 sizes="96x96" 82 href="/assets/favicon-96x96-cvA9CZU9.png" 83/> 84<link 85 rel="icon" 86 type="image/png" 87 sizes="16x16" 88 href="/assets/favicon-16x16-BIWFZ2zQ.png" 89/> 90<link rel="manifest" href="/assets/icons_manifest--KzPhL4h.json" /> 91<meta name="msapplication-TileColor" content="#09090b" /> 92<meta 93 name="msapplication-TileImage" 94 content="/assets/ms-icon-144x144-CS5pvIdW.png" 95/> 96<meta name="theme-color" content="#09090b" /> 97
98<script> 99 (() => { 100 const root = document.documentElement; 101 let storedTheme = null; 102 103 try { 104 storedTheme = localStorage.getItem('adonisjs:theme'); 105 } catch {} 106 107 const theme = 108 storedTheme === 'light' || storedTheme === 'dark' 109 ? storedTheme 110 : window.matchMedia('(prefers-color-scheme: light)').matches 111 ? 'light' 112 : 'dark'; 113 114 root.classList.remove('light-theme', 'dark-theme'); 115 root.classList.add(`${theme}-theme`); 116 root.dataset.theme = theme; 117 118 document 119 .querySelector('meta[name="theme-color"]') 120 ?.setAttribute('content', theme === 'light' ? '#fafafa' : '#09090b'); 121 })(); 122</script>
122 123 124<link rel="preload" as="style" href="/assets/app-Lcq2UOUK.css"/> 125<link rel="preload" as="style" href="/assets/app-q6sJD9cd.css"/> 126<link rel="modulepreload" href="/assets/app-De46YKyw.js"/> 127<link rel="stylesheet" href="/assets/app-q6sJD9cd.css"/>
128<script type="module" defer src="/assets/app-De46YKyw.js"></script>
128 129<link rel="stylesheet" href="/assets/app-Lcq2UOUK.css"/> 130 131 </head> 132 133 <body class="font-sans antialiased text-foreground-muted relative"> 134<div x-data class="relative bg-highlighter"> 135 <p class="px-12 py-2.5 text-center text-13 sm:text-14 font-semibold text-highlighter-ink"> 136 Help shape what we build next. Take the 137 <a 138 href="https://tally.so/r/obgR8M" 139 target="_blank" 140 rel="noopener noreferrer" 141 class="underline underline-offset-3 hover:opacity-75 transition-opacity" 142 > 143 AdonisJS developer survey. 144 </a> 145 </p> 146 <button 147 type="button" 148 class="absolute right-2.5 top-1/2 -translate-y-1/2 flex size-7 items-center justify-center cursor-pointer text-highlighter-ink hover:bg-highlighter-ink/10 transition-colors" 149 aria-label="Dismiss announcement" 150 @click="localStorage.setItem('announcement:dev-survey', 'dismissed'); $root.remove()" 151 ><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-4 h-4"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M18 6L6 18M6 6l12 12"/></svg> 152 </button> 153</div>
154<script> 155 if (localStorage.getItem('announcement:dev-survey') === 'dismissed') { 156 document.currentScript.previousElementSibling.remove() 157 } 158</script>
158 159 160<header class="sticky inset-x-0 top-0 border-b border-divider z-10 backdrop-blur-3xl bg-nav-bg"> 161 <div class="container-full mx-auto px-5 lg:px-10 py-4 flex items-center justify-between h-18"> 162 <div class="text-foreground"> 163<a href="/" class="block"> 164 <svg width="107" height="33" viewBox="0 0 107 33" fill="none" xmlns="http://www.w3.org/2000/svg"> 165 <g clip-path="url(#clip0_1245_6827)"> 166 <path 167 fill-rule="evenodd" 168 clip-rule="evenodd" 169 d="M0 16.3331C0 29.506 3.16017 32.6662 16.3331 32.6662C29.506 32.6662 32.6662 29.506 32.6662 16.3331C32.6662 3.16017 29.506 0 16.3331 0C3.16017 0 0 3.16017 0 16.3331ZM6.58646 19.7261L11.7093 8.08338C12.5742 6.12075 14.2374 5.05627 16.3331 5.05627C18.4288 5.05627 20.092 6.12075 20.9569 8.08338L26.0797 19.7261C26.3126 20.2916 26.5122 21.0235 26.5122 21.6555C26.5122 24.5495 24.483 26.5787 21.589 26.5787C20.6032 26.5787 19.8203 26.3271 19.0278 26.0725C18.2158 25.8116 17.3937 25.5475 16.3331 25.5475C15.2847 25.5475 14.4426 25.814 13.6145 26.076C12.8136 26.3294 12.0258 26.5787 11.0772 26.5787C8.18318 26.5787 6.15402 24.5495 6.15402 21.6555C6.15402 21.0235 6.35361 20.2916 6.58646 19.7261ZM16.3331 10.1125L11.2768 21.5557C12.7737 20.8571 14.5035 20.5245 16.3331 20.5245C18.0961 20.5245 19.8924 20.8571 21.3228 21.5557L16.3331 10.1125Z" 170 fill="currentColor" 171 /> 172 <path 173 fill-rule="evenodd" 174 clip-rule="evenodd" 175 d="M93.7543 8.07967C92.6202 8.07967 91.8012 8.88296 91.8012 10.0013C91.8012 11.1195 92.6202 11.9228 93.7543 11.9228C94.8883 11.9228 95.7074 11.1195 95.7074 10.0013C95.7074 8.88296 94.8883 8.07967 93.7543 8.07967ZM58.0314 24.5865C55.0073 24.5865 52.8179 22.3504 52.8179 18.8532C52.8179 15.293 55.0073 13.0569 58.0314 13.0569C59.4333 13.0569 60.4728 13.5294 61.0871 14.4587V8.5837H64.2373V24.3345H61.0871V23.2162C60.4886 24.1297 59.449 24.5865 58.0314 24.5865ZM56.0311 18.8532C56.0311 16.9001 57.0864 15.6243 58.693 15.6243C60.3153 15.6243 61.3549 16.8843 61.3549 18.8374C61.3549 20.759 60.3153 22.0034 58.693 22.0034C57.0864 22.0034 56.0311 20.759 56.0311 18.8532ZM69.183 18.8217C69.183 16.8843 70.2383 15.64 71.8134 15.64C73.4042 15.64 74.4595 16.8843 74.4595 18.8217C74.4595 20.759 73.4042 22.0034 71.8134 22.0034C70.2383 22.0034 69.183 20.759 69.183 18.8217ZM103.898 21.3261C103.898 21.9088 103.457 22.2554 102.338 22.2554C101.078 22.2554 100.291 21.5938 100.291 20.7905H97.1407C97.2195 22.9642 99.2828 24.5865 102.275 24.5865C105.111 24.5865 106.922 23.3264 106.922 21.0898C106.922 19.4202 105.851 18.2547 103.725 17.8294L101.441 17.3726C100.748 17.2309 100.338 16.8843 100.338 16.4276C100.338 15.7503 101.031 15.388 101.913 15.388C103.173 15.388 103.662 15.9708 103.662 16.6638H106.654C106.575 14.6162 104.969 13.0569 101.976 13.0569C99.1883 13.0569 97.2982 14.4587 97.2982 16.5851C97.2982 18.5067 98.5425 19.373 100.401 19.7667L102.669 20.255C103.41 20.4125 103.898 20.7275 103.898 21.3261ZM95.3451 24.3345H92.1949V13.3089H95.3451V24.3345ZM82.5555 13.3089V14.4587C83.3587 13.5294 84.4298 13.0569 85.7529 13.0569C88.2257 13.0569 89.8323 14.6635 89.8323 17.1521V24.3345H86.6822V17.8136C86.6822 16.4748 85.9261 15.6715 84.6188 15.6715C83.3115 15.6715 82.5555 16.4748 82.5555 17.8136V24.3345H79.4053V13.3089H82.5555ZM71.8134 13.0569C68.4585 13.0569 65.9699 15.4825 65.9699 18.8217C65.9699 22.1609 68.4585 24.5865 71.8134 24.5865C75.1841 24.5865 77.6727 22.1609 77.6727 18.8217C77.6727 15.4825 75.1841 13.0569 71.8134 13.0569ZM45.5411 15.6243C43.9345 15.6243 42.8792 16.9001 42.8792 18.8532C42.8792 20.759 43.9345 22.0034 45.5411 22.0034C47.1634 22.0034 48.2029 20.759 48.2029 18.8374C48.2029 16.8843 47.1634 15.6243 45.5411 15.6243ZM39.666 18.8532C39.666 22.3504 41.8554 24.5865 44.8638 24.5865C46.2971 24.5865 47.3209 24.1297 47.9352 23.2162V24.3345H51.0853V13.3089H47.9352V14.4587C47.3051 13.5294 46.2656 13.0569 44.8638 13.0569C41.8554 13.0569 39.666 15.293 39.666 18.8532Z" 176 fill="currentColor" 177 /> 178 </g> 179 <defs> 180 <clipPath id="clip0_1245_6827"> 181 <rect width="106.922" height="32.6662" fill="currentColor" /> 182 </clipPath> 183 </defs> 184</svg> 185 186 <span class="sr-only">Home page</span> 187</a> 188 189 </div> 190 191 <div class="flex items-center gap-7"> 192 <nav class="flex items-center gap-7"> 193 <ul class="hidden md:flex items-center gap-5"> 194 <li> 195<a href="/packages" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted">
196 <span>Packages</span> 197</a> 198 199 </li> 200 <li> 201<a href="/wall-of-love" class="current md:text-sm hover:text-foreground transition-colors text-foreground"> 202 <span>Wall of love</span> 203</a> 204 205 </li> 206 <li> 207<a href="https://docs.adonisjs.com" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted" rel="noopener noreferrer" target="_blank"> 208 <span>Docs</span> 209</a> 210 211 </li> 212 <li> 213<a href="/blog" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 214 <span>Blog</span> 215</a> 216 217 </li> 218 <li> 219<a href="/roadmap" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 220 <span>Roadmap</span> 221</a> 222 223 </li> 224 <li> 225<a href="/sponsor" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 226 <span>Sponsor</span> 227</a> 228 229 </li> 230 <li> 231<a href="/about" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 232 <span>About</span> 233</a> 234 235 </li> 236 237 </ul> 238 239 <ul class="flex items-center gap-5"> 240 <li x-data="themeSwitcher" class="flex items-center"> 241 <button 242 type="button" 243 @click="toggle()" 244 :aria-label="theme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'" 245 :title="theme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'" 246 class="inline-flex size-8 cursor-pointer items-center justify-center rounded-full border border-control-line bg-control text-foreground-muted transition-colors hover:border-control-line-hover hover:bg-control-hover hover:text-foreground" 247 > 248 <span x-cloak x-show="theme === 'dark'"><svg width="1em" height="1em" viewBox="0 0 24 24" class="size-4.5"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M16 12a4 4 0 1 1-8 0a4 4 0 0 1 8 0m-4-9v2m0 14.004v2M5 12H3m18 0h-2m0-7l-2 2M5 5l2 2m0 10l-2 2m14 0l-2-2"/></svg> 249 </span> 250 <span x-cloak x-show="theme === 'light'"><svg width="1em" height="1em" viewBox="0 0 24 24" class="size-4.5"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21 12.808c-.5 5.347-5.849 9.14-11.107 7.983C-.078 18.6 1.15 3.909 11.11 3C6.395 9.296 14.619 17.462 21 12.808"/></svg> 251 </span> 252 </button> 253 </li> 254 255 <li> 256 <a class="font-medium items-center justify-center cursor-pointer transition-colors text-center uppercase inline-flex bg-accent hover:bg-accent-hover focus:bg-accent-hover text-accent-contrast font-mono focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-indigo-400 px-3 py-1.5 text-xs" target="_blank" href="https://plus.adonisjs.com"> 257 Plus 258 </a> 259 260 </li> 261 262 <li class="hidden md:block"> 263<a href="https://github.com/adonisjs/core" class="flex items-center gap-2 text-foreground-muted hover:text-foreground transition-colors" rel="noopener noreferrer" target="_blank"> 264 <svg width="20px" height="20px" viewBox="0 0 20 20"><path fill="currentColor" d="M20 10.25q0 3.351-1.908 6.027t-4.928 3.703q-.352.068-.514-.093a.54.54 0 0 1-.163-.4V16.67q0-1.295-.677-1.895a9 9 0 0 0 1.335-.24q.591-.16 1.223-.52a3.7 3.7 0 0 0 1.055-.888q.423-.528.69-1.402t.267-2.008q0-1.616-1.028-2.75q.48-1.214-.105-2.723q-.364-.12-1.054.147a7 7 0 0 0-1.198.587l-.495.32a9 9 0 0 0-2.5-.346a9 9 0 0 0-2.5.347a12 12 0 0 0-.553-.36q-.345-.214-1.088-.514q-.741-.3-1.12-.18q-.572 1.507-.09 2.722q-1.03 1.134-1.03 2.75q0 1.134.268 2.002q.267.867.683 1.401a3.5 3.5 0 0 0 1.048.894q.632.36 1.224.52q.593.162 1.335.241q-.52.48-.638 1.375a2.5 2.5 0 0 1-.586.2a3.6 3.6 0 0 1-.742.067q-.43 0-.853-.287q-.423-.288-.723-.834a2.1 2.1 0 0 0-.631-.694q-.384-.267-.645-.32l-.26-.04q-.273 0-.378.06t-.065.153a.7.7 0 0 0 .117.187a1 1 0 0 0 .17.16l.09.066q.287.135.567.508q.28.374.41.68l.13.307q.17.507.574.821q.404.315.872.4q.468.087.905.094q.436.006.723-.047l.299-.053q0 .507.007 1.188l.006.72q0 .24-.17.4q-.168.162-.52.094q-3.021-1.028-4.928-3.703Q0 13.6 0 10.25q0-2.79 1.341-5.145a10.1 10.1 0 0 1 3.64-3.73A9.6 9.6 0 0 1 10 0a9.6 9.6 0 0 1 5.02 1.375a10.1 10.1 0 0 1 3.639 3.73Q20 7.461 20 10.25"/></svg>
265 <span class="font-mono text-14 font-semibold">19K</span> 266 <span class="sr-only">Star adonisjs/core on GitHub</span> 267</a> 268 269 </li> 270 271 <li x-data="" class="flex self-center md:hidden"> 272 <button @click.prevent="$dispatch('toggle-mobile-nav')"><svg width="20px" height="20px" viewBox="0 0 24 24" class="text-foreground-muted hover:text-foreground transition-colors"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4.5 6.5h15M4.5 12h15m-15 5.5h15"/></svg> 273 <span class="sr-only">Open menu</span> 274 </button> 275 </li> 276 </ul> 277 </nav> 278 </div> 279 </div> 280</header> 281 282 283<div 284 x-data="{ isOpen: false }" 285 x-cloak 286 @toggle-mobile-nav.window="isOpen = !isOpen" 287 x-show="isOpen" 288 class="md:hidden fixed text-center backdrop-blur-xl border-t border-divider bg-nav-bg left-0 right-0 top-26 bottom-0 z-10 px-5 py-10" 289> 290 <ul class="flex flex-col gap-5"> 291 <li> 292<a href="/packages" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 293 <span>Packages</span> 294</a> 295 296 </li> 297 <li> 298<a href="/wall-of-love" class="current md:text-sm hover:text-foreground transition-colors text-foreground"> 299 <span>Wall of love</span> 300</a> 301 302 </li> 303 <li> 304<a href="https://docs.adonisjs.com" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted" rel="noopener noreferrer" target="_blank"> 305 <span>Docs</span> 306</a> 307 308 </li> 309 <li> 310<a href="/blog" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 311 <span>Blog</span> 312</a> 313 314 </li> 315 <li> 316<a href="/roadmap" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 317 <span>Roadmap</span> 318</a> 319 320 </li> 321 <li> 322<a href="/sponsor" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 323 <span>Sponsor</span> 324</a> 325 326 </li> 327 <li> 328<a href="/about" class="md:text-sm hover:text-foreground transition-colors text-foreground-muted"> 329 <span>About</span> 330</a> 331 332 </li> 333 334 <li> 335<a href="https://github.com/adonisjs/core" class="inline-block" rel="noopener noreferrer" target="_blank"> 336 <svg width="24px" height="24px" viewBox="0 0 20 20" class="text-foreground-muted hover:text-foreground transition-colors"><path fill="currentColor" d="M20 10.25q0 3.351-1.908 6.027t-4.928 3.703q-.352.068-.514-.093a.54.54 0 0 1-.163-.4V16.67q0-1.295-.677-1.895a9 9 0 0 0 1.335-.24q.591-.16 1.223-.52a3.7 3.7 0 0 0 1.055-.888q.423-.528.69-1.402t.267-2.008q0-1.616-1.028-2.75q.48-1.214-.105-2.723q-.364-.12-1.054.147a7 7 0 0 0-1.198.587l-.495.32a9 9 0 0 0-2.5-.346a9 9 0 0 0-2.5.347a12 12 0 0 0-.553-.36q-.345-.214-1.088-.514q-.741-.3-1.12-.18q-.572 1.507-.09 2.722q-1.03 1.134-1.03 2.75q0 1.134.268 2.002q.267.867.683 1.401a3.5 3.5 0 0 0 1.048.894q.632.36 1.224.52q.593.162 1.335.241q-.52.48-.638 1.375a2.5 2.5 0 0 1-.586.2a3.6 3.6 0 0 1-.742.067q-.43 0-.853-.287q-.423-.288-.723-.834a2.1 2.1 0 0 0-.631-.694q-.384-.267-.645-.32l-.26-.04q-.273 0-.378.06t-.065.153a.7.7 0 0 0 .117.187a1 1 0 0 0 .17.16l.09.066q.287.135.567.508q.28.374.41.68l.13.307q.17.507.574.821q.404.315.872.4q.468.087.905.094q.436.006.723-.047l.299-.053q0 .507.007 1.188l.006.72q0 .24-.17.4q-.168.162-.52.094q-3.021-1.028-4.928-3.703Q0 13.6 0 10.25q0-2.79 1.341-5.145a10.1 10.1 0 0 1 3.64-3.73A9.6 9.6 0 0 1 10 0a9.6 9.6 0 0 1 5.02 1.375a10.1 10.1 0 0 1 3.639 3.73Q20 7.461 20 10.25"/></svg> 337 <span class="sr-only">GitHub repository</span> 338</a> 339 340 </li> 341 </ul> 342</div> 343 344 345 346 <main><div class="hero text-center"> 347 <div class="container mx-auto px-5 lg:px-10 py-24 lg:border-x border-divider relative"> 348 <h1 349 class="font-display text-34 lg:text-42 text-foreground leading-10 lg:leading-52 tracking-tight" 350 > 351 Wall of love 352 </h1> 353 <p 354 class="text-16 lg:text-18 text-foreground-muted max-w-lg sm:px-2.5 mx-auto mt-5 lg:mt-3 leading-7" 355 > 356 Real stories and genuine gratitude from the people who inspire us every day. 357 </p> 358 359 <div 360 class="absolute inset-0 pointer-events-none -z-1 bg-hero-pattern bg-position-[60%] md:bg-top bg-cover" 361 ></div> 362 </div> 363</div> 364 365<div class="border-t border-divider relative"> 366 <div class="container mx-auto lg:border-x border-divider px-5 lg:px-10 py-5 lg:py-10"> 367 <div class="md:gap-8 space-y-5 md:space-y-8 sm:columns-2 lg:columns-3"> 368 369 370 371<a href="https://twitter.com/andruu/status/1708376936710291599" class="block" rel="noopener noreferrer" target="_blank"> 372 373 <div 374 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 375 > 376 <div class="flex gap-2 items-center"> 377 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 378 <img 379 src="/assets/andruu-OyPiTE4I.jpg" 380 alt="@andruu" 381 loading="lazy" 382 width="24" 383 height="24" 384 /> 385 </div>
386 <span class="text-12 font-medium text-foreground">@andruu</span> 387 </div> 388 <div> 389 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 390 <p>So funny seeing everyone looking/begging for the node/ts equivalent of rails/Laravel when it's existed for years. I started using @adonisframework in 2016 in production for one of the biggest startups in Asia. If you want full stack with everything built in take a look.</p> 391 </div> 392 </div> 393 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 394 </div> 395 </div> 396 397</a> 398 399 400 401 402 403<a href="https://x.com/Hexacker/status/1865071153460506924" class="block" rel="noopener noreferrer" target="_blank"> 404 405 <div 406 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 407 > 408 <div class="flex gap-2 items-center"> 409 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 410 <img 411 src="/assets/hexacker-qoxwoe48.jpg" 412 alt="@Hexacker" 413 loading="lazy" 414 width="24" 415 height="24" 416 /> 417 </div> 418 <span class="text-12 font-medium text-foreground">@Hexacker</span> 419 </div> 420 <div> 421 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 422 <p>It took me exactly 2 months to learn AdonisJS and rebuild 75% of @workleen after it was built using NestJS/React. Why the migration? The backend took about 4 months to be done, and the front was about to take more than that.</p> 423 </div> 424 </div> 425 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 426 </div> 427 </div> 428 429</a> 430 431 432 433 434 435<a href="https://x.com/Drag0sNedelcu/status/1751173678295928837" class="block" rel="noopener noreferrer" target="_blank"> 436 437 <div 438 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 439 > 440 <div class="flex gap-2 items-center"> 441 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 442 <img 443 src="/assets/Drag0sNedelcu-CgfqZ95r.jpg" 444 alt="@Drag0sNedelcu" 445 loading="lazy" 446 width="24" 447 height="24" 448 /> 449 </div> 450 <span class="text-12 font-medium text-foreground">@Drag0sNedelcu</span> 451 </div> 452 <div> 453 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 454 <p>Tried recently @adonisframework v6 and I am blown away. I love how the modules are separated, like orm, validation etc. Wish there were more discussions on this. Feels highly underrated...</p> 455 </div> 456 </div> 457 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 458 </div> 459 </div> 460 461</a> 462 463 464 465 466 467<a href="https://x.com/redicreate/status/1985690564826972573" class="block" rel="noopener noreferrer" target="_blank"> 468 469 <div 470 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 471 > 472 <div class="flex gap-2 items-center"> 473 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 474 <img 475 src="/assets/redicreate-DH1tqaxz.jpg" 476 alt="@redicreate" 477 loading="lazy" 478 width="24" 479 height="24" 480 /> 481 </div>
482 <span class="text-12 font-medium text-foreground">@redicreate</span> 483 </div> 484 <div> 485 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 486 <p>Looking for the Laravel of JavaScript? ð</p> 487 <p>Meet #AdonisJS - elegant, full-featured, and built for productivity.</p> 488 <p>Pair it with #InertiaJS for a seamless full-stack experience.</p> 489 </div> 490 </div> 491 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 492 </div> 493 </div> 494 495</a> 496 497 498 499 500 501<a href="https://twitter.com/techreagan/status/1209464504003768320" class="block" rel="noopener noreferrer" target="_blank"> 502 503 <div 504 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 505 > 506 <div class="flex gap-2 items-center"> 507 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 508 <img 509 src="/assets/techreagan-C2Ebuz1H.jpg" 510 alt="@techreagan" 511 loading="lazy" 512 width="24" 513 height="24" 514 /> 515 </div> 516 <span class="text-12 font-medium text-foreground">@techreagan</span> 517 </div> 518 <div> 519 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 520 <p>@adonisframework is the first ever framework I learnt from the docs, I'm in love with this framework, it's just like @Laravel but for the @nodejs world. I will be like I'm stuck how can i solve this, the docs got you covered. It's gonna be my long term buddy.</p> 521 </div> 522 </div> 523 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 524 </div> 525 </div> 526 527</a> 528 529 530 531 532 533 534<a href="https://www.linkedin.com/posts/anjali-pandey-71b74024b_adonisjs-nodejs-backenddevelopment-activity-7380681987948236800-4CwX" class="block" rel="noopener noreferrer" target="_blank"> 535 <div 536 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 537> 538 <div class="flex gap-2 items-center"> 539 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 540 <img 541 src="/assets/anjali-pandey-B72JHZkk.jpeg" 542 alt="Anjali Pandey" 543 loading="lazy" 544 width="24" 545 height="24" 546 /> 547 </div> 548 <span class="text-12 font-medium text-foreground">Anjali Pandey</span> 549 </div> 550 <div> 551 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 552 <p>Working on a recent project introduced me to AdonisJS, and it's been a great experience.</p> 553 <p>Coming from Node.js and Express, AdonisJS stood out with its clean MVC architecture, built-in authentication and validation, a powerful ORM, and a TypeScript-first approach.</p> 554 <p>It delivers a smooth, structured developer experienceâvery much like Laravel for Node.js. AdonisJS is an impressive framework that truly elevates backend development.</p> 555 </div> 556 </div> 557 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-blue-600"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M3 9.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 3 7.16 3 9.4 3h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 6.04 21 7.16 21 9.4v5.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 21 16.84 21 14.6 21H9.4c-2.24 0-3.36 0-4.216-.436a4 4 0 0 1-1.748-1.748C3 17.96 3 16.84 3 14.6zm5-1.775v.5"/><path d="M8 16.375V10.75m4 5.625V13.5m0 0v-2.75m0 2.75c0-1.288 1.222-2 2.4-2c1.6 0 1.6 1.375 1.6 2.875v2"/></g></svg> 558 </div> 559</div> 560 561</a> 562 563 564 565<a href="https://www.reddit.com/r/node/comments/1e760go/comment/nd2tm3x/?utm_source=share&utm_medium=web3x&utm_name=web3xcss" class="block" rel="noopener noreferrer" target="_blank"> 566 <div 567 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 568> 569 <div class="flex justify-between items-center"> 570 <span class="text-12 font-semibold text-foreground-muted">r/node</span> 571 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 572 <path 573 d="M21.9996 11.8147C21.9996 10.5939 21.0061 9.6002 19.7853 9.6002C19.2063 9.6002 18.6693 9.83384 18.2595 10.2296C16.7503 9.23057 14.706 8.59367 12.443 8.51274L13.6791 4.60407L17.0255 5.39225C17.0247 5.40876 17.0206 5.42405 17.0206 5.44056C17.0206 6.43914 17.8326 7.25157 18.8322 7.25157C19.8304 7.25157 20.642 6.43934 20.642 5.44056C20.642 4.4424 19.8304 3.63037 18.8322 3.63037C18.0654 3.63037 17.4122 4.11029 17.1482 4.78389L13.5411 3.93516C13.3841 3.89683 13.223 3.98797 13.1743 4.14332L11.7955 8.50152C9.42915 8.53027 7.28542 9.17043 5.70948 10.1978C5.30194 9.82201 4.77085 9.59999 4.21305 9.59999C2.99266 9.59999 2 10.5937 2 11.8145C2 12.6049 2.42467 13.327 3.09643 13.7211C3.05423 13.9549 3.02589 14.1918 3.02589 14.4326C3.02589 17.7064 7.03262 20.369 11.958 20.369C16.8836 20.369 20.8905 17.706 20.8905 14.4326C20.8905 14.2057 20.8669 13.9827 20.8292 13.7621C21.5464 13.3802 21.9996 12.6432 21.9996 11.8147ZM18.832 4.24994C19.4883 4.24994 20.0218 4.78389 20.0218 5.44056C20.0218 6.09745 19.4883 6.6318 18.832 6.6318C18.1749 6.6318 17.64 6.09745 17.64 5.44056C17.64 4.78389 18.1749 4.24994 18.832 4.24994ZM2.61998 11.8147C2.61998 10.9356 3.33456 10.2202 4.21305 10.2202C4.57166 10.2202 4.9156 10.3466 5.1949 10.5657C4.26891 11.2801 3.59653 12.1415 3.26483 13.0899C2.86646 12.7941 2.61998 12.3248 2.61998 11.8147ZM11.958 19.7496C7.37472 19.7496 3.64587 17.3649 3.64587 14.433C3.64587 11.5017 7.37472 9.116 11.958 9.116C16.5415 9.116 20.2709 11.5015 20.2709 14.433C20.2709 17.3645 16.5415 19.7496 11.958 19.7496ZM20.6695 13.1366C20.3482 12.1831 19.6836 11.3162 18.7631 10.5963C19.0477 10.357 19.4047 10.22 19.7847 10.22C20.6642 10.22 21.379 10.9356 21.379 11.8145C21.3794 12.358 21.10
57376 12.8455 20.6695 13.1366Z" 574 fill="#FF4500" 575 stroke="#FF4500" 576 stroke-width="0.266661" 577 /> 578 <path 579 d="M10.2822 13.3348C10.2822 12.6082 9.69134 12.0166 8.96473 12.0166C8.23813 12.0166 7.64648 12.6076 7.64648 13.3348C7.64648 14.061 8.23792 14.6523 8.96473 14.6523C9.69134 14.6523 10.2822 14.0612 10.2822 13.3348Z" 580 fill="#FF4500" 581 stroke="#FF4500" 582 stroke-width="0.266661" 583 /> 584 <path 585 d="M15.0401 12.0166C14.3139 12.0166 13.7227 12.6076 13.7227 13.3348C13.7227 14.061 14.3133 14.6523 15.0401 14.6523C15.7663 14.6523 16.3573 14.0617 16.3573 13.3348C16.3573 12.6078 15.7663 12.0166 15.0401 12.0166Z" 586 fill="#FF4500" 587 stroke="#FF4500" 588 stroke-width="0.266661" 589 /> 590 <path 591 d="M14.7584 16.8032C14.2165 17.3451 13.3176 17.6087 12.0102 17.6087C12.0065 17.6087 12.0034 17.6108 11.9992 17.6108C11.9953 17.6108 11.992 17.6087 11.9882 17.6087C10.6807 17.6087 9.78183 17.3451 9.24014 16.8032C9.11904 16.6821 8.92271 16.6821 8.80181 16.8032C8.68071 16.9247 8.68071 17.1207 8.80141 17.2414C9.46563 17.9058 10.5078 18.2283 11.9882 18.2283C11.992 18.2283 11.9953 18.2261 11.9992 18.2261C12.0034 18.2261 12.0065 18.2283 12.0102 18.2283C13.4901 18.2283 14.5327 17.9058 15.1967 17.2414C15.3178 17.1203 15.3178 16.9243 15.1967 16.8032C15.0758 16.6821 14.8795 16.6821 14.7584 16.8032Z" 592 fill="#FF4500" 593 stroke="#FF4500" 594 stroke-width="0.266661" 595 /> 596</svg> 597 598 </div> 599 </div> 600 601 <div> 602 <label class="text-16 text-foreground mb-2.5 leading-25 block font-medium">Adonis is incredible</label> 603 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 604 <p>Adonis is incredible. Absolutely love it. I've used every web framework and have been an engineer for 15 years. It's my fav node web framework by far. Excellent work!</p> 605 </div> 606 </div> 607</div> 608 609</a> 610 611 612 613 614 615 616<a href="https://x.com/mdthansil/status/1913682701535818130" class="block" rel="noopener noreferrer" target="_blank"> 617 618 <div 619 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 620 > 621 <div class="flex gap-2 items-center"> 622 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 623 <img 624 src="/assets/mdthansil-DUSY-KKm.jpg" 625 alt="@mdthansil" 626 loading="lazy" 627 width="24" 628 height="24" 629 /> 630 </div> 631 <span class="text-12 font-medium text-foreground">@mdthansil</span> 632 </div> 633 <div> 634 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 635 <p>Every day I use AdonisJS, and it uncovers new gems for me; I love it more and more! The combination of AdonisJS, InertiaJS, and React is simply amazing. I'm truly enjoying the experience. Thank you, @adonisframework, and the team.</p> 636 </div> 637 </div> 638 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 639 </div> 640 </div> 641 642</a> 643 644 645 646 647 648 649<a href="https://www.linkedin.com/posts/peterimoh_adonisjs-javascript-nodejs-activity-7401255852508098560-m3Hd" class="block" rel="noopener noreferrer" target="_blank"> 650 <div 651 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 652> 653 <div class="flex gap-2 items-center"> 654 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 655 <img 656 src="/assets/Imoh-peter-wB7zNgC_.jpeg" 657 alt="Imoh Peter" 658 loading="lazy" 659 width="24" 660 height="24" 661 /> 662 </div> 663 <span class="text-12 font-medium text-foreground">Imoh Peter</span> 664 </div> 665 <div> 666 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 667 <p>AdonisJS is the only fullstack JavaScript framework that actually makes sense if you value structure, speed, convention, and developer experience.</p> 668 </div> 669 </div> 670 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-blue-600"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M3 9.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 3 7.16 3 9.4 3h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 6.04 21 7.16 21 9.4v5.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 21 16.84 21 14.6 21H9.4c-2.24 0-3.36 0-4.216-.436a4 4 0 0 1-1.748-1.748C3 17.96 3 16.84 3 14.6zm5-1.775v.5"/><path d="M8 16.375V10.75m4 5.625V13.5m0 0v-2.75m0 2.75c0-1.288 1.222-2 2.4-2c1.6 0 1.6 1.375 1.6 2.875v2"/></g></svg> 671 </div> 672</div> 673 674</a> 675 676 677 678 679<a href="https://x.com/AdrienADV/status/1957340516003000663" class="block" rel="noopener noreferrer" target="_blank"> 680 681 <div 682 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 683 > 684 <div class="flex gap-2 items-center"> 685 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 686 <img 687 src="/assets/AdrienADV-CywwPmU2.jpg" 688 alt="@AdrienADV" 689 loading="lazy" 690 width="24" 691 height="24" 692 /> 693 </div>
694 <span class="text-12 font-medium text-foreground">@AdrienADV</span> 695 </div> 696 <div> 697 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 698 <p>Once you've tried @adonisframework</p> 699 <p>â DB setup in minutes</p> 700 <p>â Auth ready with @adonisjs/auth</p> 701 <p>â Fullstack with @inertiajs React</p> 702 <p>â TypeScript & type-safe out of the box</p> 703 <p>I honestly wonder: why do people still use Express.js today ?</p> 704 </div> 705 </div> 706 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 707 </div> 708 </div> 709 710</a> 711 712 713 714 715 716<a href="https://twitter.com/SamNewby_/status/1396120662289309708" class="block" rel="noopener noreferrer" target="_blank"> 717 718 <div 719 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 720 > 721 <div class="flex gap-2 items-center"> 722 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 723 <img 724 src="/assets/samnewby-D5kgCGoq.jpg" 725 alt="@SamNewby_" 726 loading="lazy" 727 width="24" 728 height="24" 729 /> 730 </div> 731 <span class="text-12 font-medium text-foreground">@SamNewby_</span> 732 </div> 733 <div> 734 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 735 <p>If you're a PHP dev who loves Laravel and want to give another language a go and use a similar style framework then make sure to check out @adonisframework. It has its own ORM, Auth support, and even a CLI tool called Ace which is very similar to Artisan.#Laravel #NodeJS</p> 736 </div> 737 </div> 738 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 739 </div> 740 </div> 741 742</a> 743 744 745 746 747 748 749<a href="https://www.linkedin.com/posts/ashanwithana_from-laravel-to-adonisjs-my-developer-take-activity-7392434915851784192-E5rl" class="block" rel="noopener noreferrer" target="_blank"> 750 <div 751 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 752> 753 <div class="flex gap-2 items-center"> 754 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 755 <img 756 src="/assets/ashanwithana-nrTzmffc.jpeg" 757 alt="Ashan Withana" 758 loading="lazy" 759 width="24" 760 height="24" 761 /> 762 </div> 763 <span class="text-12 font-medium text-foreground">Ashan Withana</span> 764 </div> 765 <div> 766 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 767 <p>After spending years working with Laravel, I recently decided to explore AdonisJS, and honestly, it feels like discovering Laravel's long-lost cousin in the JavaScript world.</p> 768 </div> 769 </div> 770 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-blue-600"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M3 9.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 3 7.16 3 9.4 3h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 6.04 21 7.16 21 9.4v5.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 21 16.84 21 14.6 21H9.4c-2.24 0-3.36 0-4.216-.436a4 4 0 0 1-1.748-1.748C3 17.96 3 16.84 3 14.6zm5-1.775v.5"/><path d="M8 16.375V10.75m4 5.625V13.5m0 0v-2.75m0 2.75c0-1.288 1.222-2 2.4-2c1.6 0 1.6 1.375 1.6 2.875v2"/></g></svg> 771 </div> 772</div> 773 774</a> 775 776 777 778 779<a href="https://x.com/devhammed/status/1983487581070438671" class="block" rel="noopener noreferrer" target="_blank"> 780 781 <div 782 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 783 > 784 <div class="flex gap-2 items-center"> 785 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 786 <img 787 src="/assets/devhammed-RT4QnowG.jpg" 788 alt="@devhammed" 789 loading="lazy" 790 width="24" 791 height="24" 792 /> 793 </div>
794 <span class="text-12 font-medium text-foreground">@devhammed</span> 795 </div> 796 <div> 797 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 798 <p>Let me say this again!</p> 799 <p>AdonisJS is the only full-stack framework in JavaScript land.</p> 800 <p>ðððð</p> 801 </div> 802 </div> 803 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 804 </div> 805 </div> 806 807</a> 808 809 810 811 812 813<a href="https://twitter.com/carlmathisen/status/1695704205674119664" class="block" rel="noopener noreferrer" target="_blank"> 814 815 <div 816 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 817 > 818 <div class="flex gap-2 items-center"> 819 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 820 <img 821 src="/assets/carlmathisen-NjFk7zDX.jpg" 822 alt="@carlmathisen" 823 loading="lazy" 824 width="24" 825 height="24" 826 /> 827 </div> 828 <span class="text-12 font-medium text-foreground">@carlmathisen</span> 829 </div> 830 <div> 831 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 832 <p>We've used it at work for a couple of years, just replacing these express cocktails. They were fine, but I was tired of maintaining and upgrading a unique set of libraries that were our company unique combination of regular features.</p> 833 </div> 834 </div> 835 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 836 </div> 837 </div> 838 839</a> 840 841 842 843 844 845<a href="https://twitter.com/mucotreso/status/1504606612656381957" class="block" rel="noopener noreferrer" target="_blank"> 846 847 <div 848 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 849 > 850 <div class="flex gap-2 items-center"> 851 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 852 <img 853 src="/assets/mucotreso-_a0W4jiz.jpg" 854 alt="@mucotreso" 855 loading="lazy" 856 width="24" 857 height="24" 858 /> 859 </div> 860 <span class="text-12 font-medium text-foreground">@mucotreso</span> 861 </div> 862 <div> 863 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 864 <p>The more I work with @adonisframework the more I'm convinced that it is the best framework in the Nodejs Ecosystem.</p> 865 <p>The docs are well written, well designed, you just want to stay there and learn more.</p> 866 <p>Thanks to all the people who are working on this project.</p> 867 </div> 868 </div> 869 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 870 </div> 871 </div> 872 873</a> 874 875 876 877 878<a href="https://www.reddit.com/r/node/comments/1e760go/comment/le047od/?utm_source=share&utm_medium=web3x&utm_name=web3xcss" class="block" rel="noopener noreferrer" target="_blank"> 879 <div 880 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 881> 882 <div class="flex justify-between items-center"> 883 <span class="text-12 font-semibold text-foreground-muted">r/node</span> 884 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 885 <path 886 d="M21.9996 11.8147C21.9996 10.5939 21.0061 9.6002 19.7853 9.6002C19.2063 9.6002 18.6693 9.83384 18.2595 10.2296C16.7503 9.23057 14.706 8.59367 12.443 8.51274L13.6791 4.60407L17.0255 5.39225C17.0247 5.40876 17.0206 5.42405 17.0206 5.44056C17.0206 6.43914 17.8326 7.25157 18.8322 7.25157C19.8304 7.25157 20.642 6.43934 20.642 5.44056C20.642 4.4424 19.8304 3.63037 18.8322 3.63037C18.0654 3.63037 17.4122 4.11029 17.1482 4.78389L13.5411 3.93516C13.3841 3.89683 13.223 3.98797 13.1743 4.14332L11.7955 8.50152C9.42915 8.53027 7.28542 9.17043 5.70948 10.1978C5.30194 9.82201 4.77085 9.59999 4.21305 9.59999C2.99266 9.59999 2 10.5937 2 11.8145C2 12.6049 2.42467 13.327 3.09643 13.7211C3.05423 13.9549 3.02589 14.1918 3.02589 14.4326C3.02589 17.7064 7.03262 20.369 11.958 20.369C16.8836 20.369 20.8905 17.706 20.8905 14.4326C20.8905 14.2057 20.8669 13.9827 20.8292 13.7621C21.5464 13.3802 21.9996 12.6432 21.9996 11.8147ZM18.832 4.24994C19.4883 4.24994 20.0218 4.78389 20.0218 5.44056C20.0218 6.09745 19.4883 6.6318 18.832 6.6318C18.1749 6.6318 17.64 6.09745 17.64 5.44056C17.64 4.78389 18.1749 4.24994 18.832 4.24994ZM2.61998 11.8147C2.61998 10.9356 3.33456 10.2202 4.21305 10.2202C4.57166 10.2202 4.9156 10.3466 5.1949 10.5657C4.26891 11.2801 3.59653 12.1415 3.26483 13.0899C2.86646 12.7941 2.61998 12.3248 2.61998 11.8147ZM11.958 19.7496C7.37472 19.7496 3.64587 17.3649 3.64587 14.433C3.64587 11.5017 7.37472 9.116 11.958 9.116C16.5415 9.116 20.2709 11.5015 20.2709 14.433C20.2709 17.3645 16.5415 19.7496 11.958 19.7496ZM20.6695 13.1366C20.3482 12.1831 19.6836 11.3162 18.7631 10.5963C19.0477 10.357 19.4047 10.22 19.7847 10.22C20.6642 10.22 21.379 10.9356 21.379 11.8145C21.3794 12.358 21.10
88676 12.8455 20.6695 13.1366Z" 887 fill="#FF4500" 888 stroke="#FF4500" 889 stroke-width="0.266661" 890 /> 891 <path 892 d="M10.2822 13.3348C10.2822 12.6082 9.69134 12.0166 8.96473 12.0166C8.23813 12.0166 7.64648 12.6076 7.64648 13.3348C7.64648 14.061 8.23792 14.6523 8.96473 14.6523C9.69134 14.6523 10.2822 14.0612 10.2822 13.3348Z" 893 fill="#FF4500" 894 stroke="#FF4500" 895 stroke-width="0.266661" 896 /> 897 <path 898 d="M15.0401 12.0166C14.3139 12.0166 13.7227 12.6076 13.7227 13.3348C13.7227 14.061 14.3133 14.6523 15.0401 14.6523C15.7663 14.6523 16.3573 14.0617 16.3573 13.3348C16.3573 12.6078 15.7663 12.0166 15.0401 12.0166Z" 899 fill="#FF4500" 900 stroke="#FF4500" 901 stroke-width="0.266661" 902 /> 903 <path 904 d="M14.7584 16.8032C14.2165 17.3451 13.3176 17.6087 12.0102 17.6087C12.0065 17.6087 12.0034 17.6108 11.9992 17.6108C11.9953 17.6108 11.992 17.6087 11.9882 17.6087C10.6807 17.6087 9.78183 17.3451 9.24014 16.8032C9.11904 16.6821 8.92271 16.6821 8.80181 16.8032C8.68071 16.9247 8.68071 17.1207 8.80141 17.2414C9.46563 17.9058 10.5078 18.2283 11.9882 18.2283C11.992 18.2283 11.9953 18.2261 11.9992 18.2261C12.0034 18.2261 12.0065 18.2283 12.0102 18.2283C13.4901 18.2283 14.5327 17.9058 15.1967 17.2414C15.3178 17.1203 15.3178 16.9243 15.1967 16.8032C15.0758 16.6821 14.8795 16.6821 14.7584 16.8032Z" 905 fill="#FF4500" 906 stroke="#FF4500" 907 stroke-width="0.266661" 908 /> 909</svg> 910 911 </div> 912 </div> 913 914 <div> 915 <label class="text-16 text-foreground mb-2.5 leading-25 block font-medium">I've really enjoyed the experience</label> 916 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 917 <p>I've been using Adonis for almost five years. I currently have applications running versions 4, 5, and 6, and for the most part I've really enjoyed the experience - it's my go-to for new projects. I've been playing with the recent support for SSR via Inertia and it has been pretty decent so far.</p> 918 </div> 919 </div> 920</div> 921 922</a> 923 924 925 926 927 928 929<a href="https://twitter.com/pvukovic/status/1691701408104394922" class="block" rel="noopener noreferrer" target="_blank"> 930 931 <div 932 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 933 > 934 <div class="flex gap-2 items-center"> 935 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 936 <img 937 src="/assets/pvukovic-DQnoQqFW.jpg" 938 alt="@pvukovic" 939 loading="lazy" 940 width="24" 941 height="24" 942 /> 943 </div> 944 <span class="text-12 font-medium text-foreground">@pvukovic</span> 945 </div> 946 <div> 947 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 948 <p>Adonis is wonderful - just a perfect level of cognitive load a framework can have both in documentation and implementation.</p> 949 <p>Not too much, not too little, but exactly what you need as a developer.</p> 950 </div> 951 </div> 952 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 953 </div> 954 </div> 955 956</a> 957 958 959 960 961 962<a href="https://twitter.com/MahmMousa/status/1691694561981321277" class="block" rel="noopener noreferrer" target="_blank"> 963 964 <div 965 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 966 > 967 <div class="flex gap-2 items-center"> 968 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 969 <img 970 src="/assets/MightyMoud-UMBBNWNq.jpg" 971 alt="@MightyMoud" 972 loading="lazy" 973 width="24" 974 height="24" 975 /> 976 </div>
977 <span class="text-12 font-medium text-foreground">@MightyMoud</span> 978 </div> 979 <div> 980 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 981 <p>Adonis in MVC is a blessing tbh! I use it with HTMX or Turbo and it's just perfect!</p> 982 </div> 983 </div> 984 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 985 </div> 986 </div> 987 988</a> 989 990 991 992 993 994 995<a href="https://www.linkedin.com/posts/harsh-savaliya_webdevelopment-saas-startuplife-activity-7403370439181414400-j9OT" class="block" rel="noopener noreferrer" target="_blank"> 996 <div 997 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 998> 999 <div class="flex gap-2 items-center"> 1000 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 1001 <img 1002 src="/assets/harsh-savaliya-DewVuuQH.jpeg" 1003 alt="Harsh Savaliya" 1004 loading="lazy" 1005 width="24" 1006 height="24" 1007 /> 1008 </div> 1009 <span class="text-12 font-medium text-foreground">Harsh Savaliya</span> 1010 </div> 1011 <div> 1012 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 1013 <p>If you are building an MVP in 2025, stop over-engineering the simple stuff. Nuxt + Adonis + Socket.io is the cheat code I wish I found 2 years ago.</p> 1014 </div> 1015 </div> 1016 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-blue-600"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M3 9.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 3 7.16 3 9.4 3h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 6.04 21 7.16 21 9.4v5.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 21 16.84 21 14.6 21H9.4c-2.24 0-3.36 0-4.216-.436a4 4 0 0 1-1.748-1.748C3 17.96 3 16.84 3 14.6zm5-1.775v.5"/><path d="M8 16.375V10.75m4 5.625V13.5m0 0v-2.75m0 2.75c0-1.288 1.222-2 2.4-2c1.6 0 1.6 1.375 1.6 2.875v2"/></g></svg> 1017 </div> 1018</div> 1019 1020</a> 1021 1022 1023 1024 1025<a href="https://x.com/_ndianabasi/status/1957436212421042398" class="block" rel="noopener noreferrer" target="_blank"> 1026 1027 <div 1028 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1029 > 1030 <div class="flex gap-2 items-center"> 1031 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 1032 <img 1033 src="/assets/_ndianabasi-B4Yh1rgJ.jpg" 1034 alt="@_ndianabasi" 1035 loading="lazy" 1036 width="24" 1037 height="24" 1038 /> 1039 </div> 1040 <span class="text-12 font-medium text-foreground">@_ndianabasi</span> 1041 </div> 1042 <div> 1043 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 1044 <p>Once you've tried @adonisframework</p> 1045 <p>â DB setup in minutes</p> 1046 <p>â Auth ready with @adonisjs/auth</p> 1047 <p>â Fullstack with @inertiajs React</p> 1048 <p>â TypeScript & type-safe out of the box</p> 1049 <p>I honestly wonder: why do people still use Express.js today ?</p> 1050 </div> 1051 </div> 1052 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 1053 </div> 1054 </div> 1055 1056</a> 1057 1058 1059 1060 1061<a href="https://www.reddit.com/r/webdev/comments/1haxnkj/please_give_adonisjs_a_shot/" class="block" rel="noopener noreferrer" target="_blank"> 1062 <div 1063 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1064> 1065 <div class="flex justify-between items-center"> 1066 <span class="text-12 font-semibold text-foreground-muted">r/node</span> 1067 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1068 <path 1069 d="M21.9996 11.8147C21.9996 10.5939 21.0061 9.6002 19.7853 9.6002C19.2063 9.6002 18.6693 9.83384 18.2595 10.2296C16.7503 9.23057 14.706 8.59367 12.443 8.51274L13.6791 4.60407L17.0255 5.39225C17.0247 5.40876 17.0206 5.42405 17.0206 5.44056C17.0206 6.43914 17.8326 7.25157 18.8322 7.25157C19.8304 7.25157 20.642 6.43934 20.642 5.44056C20.642 4.4424 19.8304 3.63037 18.8322 3.63037C18.0654 3.63037 17.4122 4.11029 17.1482 4.78389L13.5411 3.93516C13.3841 3.89683 13.223 3.98797 13.1743 4.14332L11.7955 8.50152C9.42915 8.53027 7.28542 9.17043 5.70948 10.1978C5.30194 9.82201 4.77085 9.59999 4.21305 9.59999C2.99266 9.59999 2 10.5937 2 11.8145C2 12.6049 2.42467 13.327 3.09643 13.7211C3.05423 13.9549 3.02589 14.1918 3.02589 14.4326C3.02589 17.7064 7.03262 20.369 11.958 20.369C16.8836 20.369 20.8905 17.706 20.8905 14.4326C20.8905 14.2057 20.8669 13.9827 20.8292 13.7621C21.5464 13.3802 21.9996 12.6432 21.9996 11.8147ZM18.832 4.24994C19.4883 4.24994 20.0218 4.78389 20.0218 5.44056C20.0218 6.09745 19.4883 6.6318 18.832 6.6318C18.1749 6.6318 17.64 6.09745 17.64 5.44056C17.64 4.78389 18.1749 4.24994 18.832 4.24994ZM2.61998 11.8147C2.61998 10.9356 3.33456 10.2202 4.21305 10.2202C4.57166 10.2202 4.9156 10.3466 5.1949 10.5657C4.26891 11.2801 3.59653 12.1415 3.26483 13.0899C2.86646 12.7941 2.61998 12.3248 2.61998 11.8147ZM11.958 19.7496C7.37472 19.7496 3.64587 17.3649 3.64587 14.433C3.64587 11.5017 7.37472 9.116 11.958 9.116C16.5415 9.116 20.2709 11.5015 20.2709 14.433C20.2709 17.3645 16.5415 19.7496 11.958 19.7496ZM20.6695 13.1366C20.3482 12.1831 19.6836 11.3162 18.7631 10.5963C19.0477 10.357 19.4047 10.22 19.7847 10.22C20.6642 10.22 21.379 10.9356 21.379 11.8145C21.3794 12.358 21.10
106976 12.8455 20.6695 13.1366Z" 1070 fill="#FF4500" 1071 stroke="#FF4500" 1072 stroke-width="0.266661" 1073 /> 1074 <path 1075 d="M10.2822 13.3348C10.2822 12.6082 9.69134 12.0166 8.96473 12.0166C8.23813 12.0166 7.64648 12.6076 7.64648 13.3348C7.64648 14.061 8.23792 14.6523 8.96473 14.6523C9.69134 14.6523 10.2822 14.0612 10.2822 13.3348Z" 1076 fill="#FF4500" 1077 stroke="#FF4500" 1078 stroke-width="0.266661" 1079 /> 1080 <path 1081 d="M15.0401 12.0166C14.3139 12.0166 13.7227 12.6076 13.7227 13.3348C13.7227 14.061 14.3133 14.6523 15.0401 14.6523C15.7663 14.6523 16.3573 14.0617 16.3573 13.3348C16.3573 12.6078 15.7663 12.0166 15.0401 12.0166Z" 1082 fill="#FF4500" 1083 stroke="#FF4500" 1084 stroke-width="0.266661" 1085 /> 1086 <path 1087 d="M14.7584 16.8032C14.2165 17.3451 13.3176 17.6087 12.0102 17.6087C12.0065 17.6087 12.0034 17.6108 11.9992 17.6108C11.9953 17.6108 11.992 17.6087 11.9882 17.6087C10.6807 17.6087 9.78183 17.3451 9.24014 16.8032C9.11904 16.6821 8.92271 16.6821 8.80181 16.8032C8.68071 16.9247 8.68071 17.1207 8.80141 17.2414C9.46563 17.9058 10.5078 18.2283 11.9882 18.2283C11.992 18.2283 11.9953 18.2261 11.9992 18.2261C12.0034 18.2261 12.0065 18.2283 12.0102 18.2283C13.4901 18.2283 14.5327 17.9058 15.1967 17.2414C15.3178 17.1203 15.3178 16.9243 15.1967 16.8032C15.0758 16.6821 14.8795 16.6821 14.7584 16.8032Z" 1088 fill="#FF4500" 1089 stroke="#FF4500" 1090 stroke-width="0.266661" 1091 /> 1092</svg> 1093 1094 </div> 1095 </div> 1096 1097 <div> 1098 <label class="text-16 text-foreground mb-2.5 leading-25 block font-medium">Please give AdonisJS a shot</label> 1099 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 1100 <p>As someone who was fatigued by the influx of JS frameworks, I did the smart thing and... learned another JS framework...</p> 1101 <p>But no no trust me, this one's different. It breaks all of the JavaScript rules and allows you to write a Rails-like app using TypeScript.</p> 1102 </div> 1103 </div> 1104</div> 1105 1106</a> 1107 1108 1109 1110 1111 1112<a href="https://www.reddit.com/r/webdev/comments/1hepzmw/im_really_enjoying_adonisjs_my_new_preferred/" class="block" rel="noopener noreferrer" target="_blank"> 1113 <div 1114 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1115> 1116 <div class="flex justify-between items-center"> 1117 <span class="text-12 font-semibold text-foreground-muted">r/node</span> 1118 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1119 <path 1120 d="M21.9996 11.8147C21.9996 10.5939 21.0061 9.6002 19.7853 9.6002C19.2063 9.6002 18.6693 9.83384 18.2595 10.2296C16.7503 9.23057 14.706 8.59367 12.443 8.51274L13.6791 4.60407L17.0255 5.39225C17.0247 5.40876 17.0206 5.42405 17.0206 5.44056C17.0206 6.43914 17.8326 7.25157 18.8322 7.25157C19.8304 7.25157 20.642 6.43934 20.642 5.44056C20.642 4.4424 19.8304 3.63037 18.8322 3.63037C18.0654 3.63037 17.4122 4.11029 17.1482 4.78389L13.5411 3.93516C13.3841 3.89683 13.223 3.98797 13.1743 4.14332L11.7955 8.50152C9.42915 8.53027 7.28542 9.17043 5.70948 10.1978C5.30194 9.82201 4.77085 9.59999 4.21305 9.59999C2.99266 9.59999 2 10.5937 2 11.8145C2 12.6049 2.42467 13.327 3.09643 13.7211C3.05423 13.9549 3.02589 14.1918 3.02589 14.4326C3.02589 17.7064 7.03262 20.369 11.958 20.369C16.8836 20.369 20.8905 17.706 20.8905 14.4326C20.8905 14.2057 20.8669 13.9827 20.8292 13.7621C21.5464 13.3802 21.9996 12.6432 21.9996 11.8147ZM18.832 4.24994C19.4883 4.24994 20.0218 4.78389 20.0218 5.44056C20.0218 6.09745 19.4883 6.6318 18.832 6.6318C18.1749 6.6318 17.64 6.09745 17.64 5.44056C17.64 4.78389 18.1749 4.24994 18.832 4.24994ZM2.61998 11.8147C2.61998 10.9356 3.33456 10.2202 4.21305 10.2202C4.57166 10.2202 4.9156 10.3466 5.1949 10.5657C4.26891 11.2801 3.59653 12.1415 3.26483 13.0899C2.86646 12.7941 2.61998 12.3248 2.61998 11.8147ZM11.958 19.7496C7.37472 19.7496 3.64587 17.3649 3.64587 14.433C3.64587 11.5017 7.37472 9.116 11.958 9.116C16.5415 9.116 20.2709 11.5015 20.2709 14.433C20.2709 17.3645 16.5415 19.7496 11.958 19.7496ZM20.6695 13.1366C20.3482 12.1831 19.6836 11.3162 18.7631 10.5963C19.0477 10.357 19.4047 10.22 19.7847 10.22C20.6642 10.22 21.379 10.9356 21.379 11.8145C21.3794 12.358 21.10
112076 12.8455 20.6695 13.1366Z" 1121 fill="#FF4500" 1122 stroke="#FF4500" 1123 stroke-width="0.266661" 1124 /> 1125 <path 1126 d="M10.2822 13.3348C10.2822 12.6082 9.69134 12.0166 8.96473 12.0166C8.23813 12.0166 7.64648 12.6076 7.64648 13.3348C7.64648 14.061 8.23792 14.6523 8.96473 14.6523C9.69134 14.6523 10.2822 14.0612 10.2822 13.3348Z" 1127 fill="#FF4500" 1128 stroke="#FF4500" 1129 stroke-width="0.266661" 1130 /> 1131 <path 1132 d="M15.0401 12.0166C14.3139 12.0166 13.7227 12.6076 13.7227 13.3348C13.7227 14.061 14.3133 14.6523 15.0401 14.6523C15.7663 14.6523 16.3573 14.0617 16.3573 13.3348C16.3573 12.6078 15.7663 12.0166 15.0401 12.0166Z" 1133 fill="#FF4500" 1134 stroke="#FF4500" 1135 stroke-width="0.266661" 1136 /> 1137 <path 1138 d="M14.7584 16.8032C14.2165 17.3451 13.3176 17.6087 12.0102 17.6087C12.0065 17.6087 12.0034 17.6108 11.9992 17.6108C11.9953 17.6108 11.992 17.6087 11.9882 17.6087C10.6807 17.6087 9.78183 17.3451 9.24014 16.8032C9.11904 16.6821 8.92271 16.6821 8.80181 16.8032C8.68071 16.9247 8.68071 17.1207 8.80141 17.2414C9.46563 17.9058 10.5078 18.2283 11.9882 18.2283C11.992 18.2283 11.9953 18.2261 11.9992 18.2261C12.0034 18.2261 12.0065 18.2283 12.0102 18.2283C13.4901 18.2283 14.5327 17.9058 15.1967 17.2414C15.3178 17.1203 15.3178 16.9243 15.1967 16.8032C15.0758 16.6821 14.8795 16.6821 14.7584 16.8032Z" 1139 fill="#FF4500" 1140 stroke="#FF4500" 1141 stroke-width="0.266661" 1142 /> 1143</svg> 1144 1145 </div> 1146 </div> 1147 1148 <div> 1149 <label class="text-16 text-foreground mb-2.5 leading-25 block font-medium">I'm really enjoying AdonisJS. My new preferred full-stack framework.</label> 1150 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 1151 <p>There was a post (last week I think) about AdonisJS. The comments were along the lines of "oh great another JS framework", but I thought I'd try it for a new private project.</p> 1152 <p>Really glad I did. It feels like a Typescript version of Laravel. Highly recommended to add to your toolbox (it's frontend framework agnostic so you can use whatever frontend you like).</p> 1153 </div> 1154 </div> 1155</div> 1156 1157</a> 1158 1159 1160 1161 1162 1163 1164<a href="https://twitter.com/jooop4y/status/1686883864533499907" class="block" rel="noopener noreferrer" target="_blank"> 1165 1166 <div 1167 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1168 > 1169 <div class="flex gap-2 items-center"> 1170 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 1171 <img 1172 src="/assets/jooop4y-CKMQfh3v.jpg" 1173 alt="@jooop4y" 1174 loading="lazy" 1175 width="24" 1176 height="24" 1177 /> 1178 </div> 1179 <span class="text-12 font-medium text-foreground">@jooop4y</span> 1180 </div> 1181 <div> 1182 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 1183 <p>Having a solid experience in Laravel and wanting to explore NodeJs, I found @adonisframework a good choice for me to go through. It is been easy for me to jump in since it feels like I am just writing Laravel but in typescript and NodeJS, Awesome developer experience!.</p> 1184 </div> 1185 </div> 1186 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 1187 </div> 1188 </div> 1189 1190</a> 1191 1192 1193 1194 1195 1196<a href="https://twitter.com/britzdm/status/1533547008950165507" class="block" rel="noopener noreferrer" target="_blank"> 1197 1198 <div 1199 class="flex flex-col px-6 py-5 bg-panel hover:bg-control-hover transition-colors border border-control-line hover:border-control-line-hover rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1200 > 1201 <div class="flex gap-2 items-center"> 1202 <div class="w-6 h-6 rounded-full overflow-hidden border border-divider"> 1203 <img 1204 src="/assets/britzdm-B5pVFlBd.jpg" 1205 alt="@britzdm" 1206 loading="lazy" 1207 width="24" 1208 height="24" 1209 /> 1210 </div>
1211 <span class="text-12 font-medium text-foreground">@britzdm</span> 1212 </div> 1213 <div> 1214 <div class="text-15 text-quote leading-26 space-y-2 tracking-wide"> 1215 <p>I've been using @adonisframework for the last two days an I've already got more done then I did in the last 3 weeks with just using expressjs.</p> 1216 </div> 1217 </div> 1218 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-foreground"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m19 4l-5.93 6.93M5 20l5.93-6.93m2.14-2.14L7.275 4.343A1.06 1.06 0 0 0 6.481 4H5.007c-.836 0-1.307.85-.793 1.435l6.716 7.635l5.795 6.587c.19.216.483.343.794.343h1.474c.836 0 1.307-.85.793-1.435z"/></svg> 1219 </div> 1220 </div> 1221 1222</a> 1223 1224 1225 </div> 1226 </div> 1227</div> 1228</main> 1229 1230<div class="border-t border-divider"> 1231 <div class="container mx-auto px-5 lg:px-10 pt-15 md:pt-30 lg:border-x border-divider"> 1232 <div class="lg:px-22.5 mb-30 md:mb-52 space-y-7 sm:space-y-5"> 1233 <div class="flex flex-col sm:flex-row gap-1.5 sm:gap-3"> 1234 <label class="text-14 text-foreground tracking-wide">VSCode Extensions</label> 1235 <div class="flex-1 border-b border-dashed border-line sm:mb-1.5"></div> 1236 <div class="flex flex-wrap gap-5.5 text-14"> 1237 1238<a href="https://marketplace.visualstudio.com/items?itemName=jripouteau.adonis-vscode-extension" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1239 AdonisJS 1240</a> 1241 1242 1243<a href="https://marketplace.visualstudio.com/items?itemName=AdonisJS.vscode-edge" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1244 Edge 1245</a> 1246 1247 1248<a href="https://marketplace.visualstudio.com/items?itemName=jripouteau.japa-vscode" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1249 Japa 1250</a> 1251 1252 </div> 1253 </div> 1254 <div class="flex flex-col sm:flex-row gap-1.5 sm:gap-3"> 1255 <label class="text-14 text-foreground tracking-wide">Community</label> 1256 <div class="flex-1 border-b border-dashed border-line sm:mb-1.5"></div> 1257 <div class="flex flex-wrap gap-5.5 text-14"> 1258 1259<a href="https://discord.com/invite/vDcEjq6" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1260 Discord 1261</a> 1262 1263 1264<a href="https://x.com/adonisframework" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1265 Twitter 1266</a> 1267 1268 1269<a href="https://github.com/adonisjs" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1270 GitHub 1271</a> 1272 1273 1274<a href="https://github.com/orgs/adonisjs/discussions" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1275 Forum 1276</a> 1277 1278 </div> 1279 </div> 1280 <div class="flex flex-col sm:flex-row gap-1.5 sm:gap-3"> 1281 <label class="text-14 text-foreground tracking-wide">Resources</label> 1282 <div class="flex-1 border-b border-dashed border-line sm:mb-1.5"></div> 1283 <div class="flex flex-wrap gap-5.5 text-14"> 1284 1285<a href="/stories" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1286 Stories 1287</a> 1288 1289 1290<a href="/about" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1291 About 1292</a> 1293 1294 1295<a href="/roadmap" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1296 Roadmap 1297</a> 1298 1299 1300<a href="/blog" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1301 Blog 1302</a> 1303 1304 1305<a href="/packages" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1306 Packages 1307</a> 1308 1309 1310<a href="/contributors" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1311 Contributors 1312</a> 1313 1314 1315<a href="/support" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1316 Support 1317</a> 1318 1319 1320<a href="/brand" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1321 Brand 1322</a> 1323 1324 1325<a href="/sponsor" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1326 Sponsor 1327</a> 1328 1329 1330<a href="/team" class="relative hover:text-foreground transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-foreground-muted after:absolute after:-right-3.5"> 1331 Team 1332</a> 1333 1334 </div> 1335 </div> 1336 </div> 1337 1338 <div> 1339 <div> 1340 <svg 1341 class="w-full" 1342 xmlns="http://www.w3.org/2000/svg" 1343 width="1248"
1344 viewBox="0 0 1248 277" 1345 fill="none" 1346 > 1347 <mask 1348 id="b" 1349 style="mask-type:alpha" 1350 maskUnits="userSpaceOnUse" 1351 x="0" 1352 y="0" 1353 width="1248" 1354 height="281" 1355 > 1356 <g clip-path="url(#a)" fill="var(--color-border)"> 1357 <path 1358 d="M1162.91 280.9c-28.36 0-50.9-5.698-67.62-17.094-16.71-11.395-25.83-27.096-27.35-47.102h50.9c1.27 8.61 5.58 15.195 12.92 19.753 7.6 4.305 17.98 6.457 31.15 6.457 11.9 0 20.51-1.646 25.83-4.938 5.57-3.545 8.36-8.483 8.36-14.814 0-4.812-1.65-8.483-4.94-11.016-3.04-2.785-8.74-5.064-17.09-6.837l-31.15-6.458c-23.05-4.811-40.02-12.028-50.91-21.651-10.89-9.876-16.33-22.538-16.33-37.985 0-18.74 7.22-33.301 21.65-43.684 14.44-10.635 34.57-15.953 60.4-15.953 25.58 0 45.97 5.191 61.16 15.574 15.2 10.129 23.55 24.31 25.07 42.543h-50.9c-1.01-6.584-4.56-11.522-10.64-14.814-6.08-3.545-14.69-5.318-25.83-5.318-10.13 0-17.73 1.519-22.79 4.558-4.81 2.786-7.22 6.837-7.22 12.155 0 4.559 2.03 8.231 6.08 11.016 4.05 2.532 10.76 4.812 20.13 6.837l34.95 7.218c19.5 4.051 34.19 11.649 44.07 22.791 10.13 10.889 15.19 23.804 15.19 38.745 0 18.992-7.47 33.807-22.41 44.443-14.69 10.382-35.58 15.574-62.68 15.574ZM983.38 281.091V87.366h56.98v193.725h-56.98Zm-1.9-219.555V0h60.78v61.536h-60.78ZM750.413 281.101V87.376h55.84v45.582h1.14v148.143h-56.98Zm134.853 0V161.068c0-10.636-2.785-18.613-8.357-23.931-5.318-5.318-13.169-7.977-23.552-7.977-8.863 0-16.841 2.026-23.931 6.078-6.838 4.051-12.283 9.622-16.335 16.713-3.799 7.091-5.698 15.447-5.698 25.07l-4.938-46.722c6.331-14.181 15.574-25.45 27.73-33.806 12.409-8.61 27.604-12.915 45.585-12.915 21.526 0 37.987 6.077 49.383 18.233 11.396 11.902 17.094 27.982 17.094 48.241v131.049h-56.981ZM613.1 280.9c-21.272 0-40.013-4.179-56.22-12.536-15.955-8.61-28.491-20.512-37.608-35.706-8.863-15.447-13.295-33.174-13.295-53.179 0-20.006 4.432-37.479 13.295-52.42 9.117-14.941 21.653-26.589 37.608-34.946 16.207-8.357 34.948-12.535 56.22-12.535 21.526 0 40.267 4.178 56.221 12.535 16.208 8.357 28.744 20.005 37.607 34.946 8.864 14.941 13.296 32.414 13.296 52.42 0 20.005-4.559 37.732-13.676 53.179-8.863 15.194-21.399 27.096-37.607 35.706-15.954 8.357-34.568 12.536-55.841 12.536Zm0-44.823c8.864 0 16.841-2.279 23.932-6.837 7.344-4.559 13.169-11.016 17.474-19.373 4.305-8.61 6.458-18.866 6.458-30.768 0-17.473-4.685-30.895-14.055-40.264-9.117-9.623-20.387-14.435-33.809-14.435-13.422 0-24.818 4.812-34.188 14.435-9.117 9.623-13.675 23.044-13.675 40.264 0 11.902 2.152 22.158 6.458 30.768 4.305 8.357 10.003 14.814 17.094 19.373 7.344 4.558 15.448 6.837 24.311 6.837ZM419.774 280.902v-46.721l3.799.759c-2.533 13.928-10.13 25.07-22.793 33.427-12.409 8.357-27.35 12.535-44.824 12.535-17.728 0-33.176-4.051-46.345-12.155-12.915-8.357-22.918-20.005-30.009-34.946-7.091-14.941-10.637-32.541-10.637-52.8 0-20.512 3.672-38.365 11.017-53.559 7.344-15.194 17.6-26.969 30.769-35.326 13.422-8.357 28.997-12.535 46.724-12.535 18.487 0 33.429 4.3
135805 44.825 12.915 11.649 8.61 18.487 20.385 20.513 35.326l-4.179.38V3.61h56.981v277.292h-55.841Zm-45.585-45.582c13.422 0 24.312-4.685 32.669-14.054 8.357-9.623 12.536-23.298 12.536-41.024 0-17.727-4.305-31.275-12.916-40.645-8.357-9.623-19.373-14.434-33.048-14.434-13.169 0-24.059 4.811-32.669 14.434-8.357 9.623-12.536 23.298-12.536 41.024 0 17.727 4.179 31.275 12.536 40.645 8.61 9.369 19.753 14.054 33.428 14.054ZM0 281.104 98.007 7.61h50.142L58.12 281.104H0Zm200.572 0L110.922 7.61h52.422l98.007 273.494h-60.779ZM51.662 175.125H205.13v45.583H51.662v-45.583Z" 1359 ></path> 1360 </g> 1361 </mask> 1362 <g mask="url(#b)"> 1363 <path fill="url(#c)" d="M0 0h1248v282H0z"></path> 1364 </g> 1365 <defs> 1366 <linearGradient 1367 id="c" 1368 x1="662.5" 1369 y1="-55.5" 1370 x2="668.5" 1371 y2="282" 1372 gradientUnits="userSpaceOnUse" 1373 > 1374 <stop stop-color="var(--color-dots)"></stop> 1375 <stop offset="1" stop-color="var(--color-card)"></stop> 1376 </linearGradient> 1377 <clipPath id="a"> 1378 <path fill="#fff" d="M0 0h1248v281H0z"></path> 1379 </clipPath> 1380 </defs> 1381 </svg> 1382 </div> 1383 </div> 1384 </div> 1385</div> 1386 1387
1387<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"b3fcabc4c85744c3924d25d13183af75","r":1,"spa":2}' crossorigin="anonymous"></script>
1387 1388</body> 1389</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.