1<!DOCTYPE html> 2<html lang="en-us" class="bg-woodsmoke-1000"> 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="#ffffff" /> 92<meta 93 name="msapplication-TileImage" 94 content="/assets/ms-icon-144x144-CS5pvIdW.png" 95/> 96<meta name="theme-color" content="#ffffff" /> 97 98<link rel="preload" as="style" href="/assets/app-Lcq2UOUK.css"/> 99<link rel="preload" as="style" href="/assets/app-DFPQvEMp.css"/> 100<link rel="modulepreload" href="/assets/app-DAXQQnSt.js"/> 101<link rel="stylesheet" href="/assets/app-DFPQvEMp.css"/>
102<script type="module" defer src="/assets/app-DAXQQnSt.js"></script>
102 103<link rel="stylesheet" href="/assets/app-Lcq2UOUK.css"/> 104 105 </head> 106 107 <body class="font-sans antialiased text-woodsmoke-300 relative"> 108<div x-data class="relative bg-highlighter"> 109 <p class="px-12 py-2.5 text-center text-13 sm:text-14 font-semibold text-highlighter-ink"> 110 Help shape what we build next. Take the 111 <a 112 href="https://tally.so/r/obgR8M" 113 target="_blank" 114 rel="noopener noreferrer" 115 class="underline underline-offset-3 hover:opacity-75 transition-opacity" 116 > 117 AdonisJS developer survey. 118 </a> 119 </p> 120 <button 121 type="button" 122 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" 123 aria-label="Dismiss announcement" 124 @click="localStorage.setItem('announcement:dev-survey', 'dismissed'); $root.remove()" 125 ><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> 126 </button> 127</div>
128<script> 129 if (localStorage.getItem('announcement:dev-survey') === 'dismissed') { 130 document.currentScript.previousElementSibling.remove() 131 } 132</script>
132 133 134<header 135 class="sticky inset-x-0 top-0 border-b border-woodsmoke-900 z-10 backdrop-blur-3xl bg-woodsmoke-950/60" 136> 137 <div class="container-full mx-auto px-5 lg:px-10 py-4 flex items-center justify-between h-18"> 138 <div class="text-white"> 139<a href="/" class="block"> 140 <svg width="107" height="33" viewBox="0 0 107 33" fill="none" xmlns="http://www.w3.org/2000/svg"> 141 <g clip-path="url(#clip0_1245_6827)"> 142 <path 143 fill-rule="evenodd" 144 clip-rule="evenodd" 145 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" 146 fill="currentColor" 147 /> 148 <path 149 fill-rule="evenodd" 150 clip-rule="evenodd" 151 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" 152 fill="currentColor" 153 /> 154 </g> 155 <defs> 156 <clipPath id="clip0_1245_6827"> 157 <rect width="106.922" height="32.6662" fill="currentColor" /> 158 </clipPath> 159 </defs> 160</svg> 161 162 <span class="sr-only">Home page</span> 163</a> 164 165 </div> 166 167 <div class="flex items-center gap-7"> 168 <nav class="flex items-center gap-7"> 169 <ul class="hidden md:flex items-center gap-5"> 170 <li> 171<a href="/packages" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300">
172 <span>Packages</span> 173</a> 174 175 </li> 176 <li> 177<a href="/wall-of-love" class="current md:text-sm hover:text-white transition-colors text-white"> 178 <span>Wall of love</span> 179</a> 180 181 </li> 182 <li> 183<a href="https://docs.adonisjs.com" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300" rel="noopener noreferrer" target="_blank"> 184 <span>Docs</span> 185</a> 186 187 </li> 188 <li> 189<a href="/blog" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 190 <span>Blog</span> 191</a> 192 193 </li> 194 <li> 195<a href="/roadmap" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 196 <span>Roadmap</span> 197</a> 198 199 </li> 200 <li> 201<a href="/sponsor" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 202 <span>Sponsor</span> 203</a> 204 205 </li> 206 <li> 207<a href="/about" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 208 <span>About</span> 209</a> 210 211 </li> 212 213 </ul> 214 215 <ul class="flex items-center gap-5"> 216 <li> 217 <a class="font-medium items-center justify-center cursor-pointer transition-colors text-center uppercase inline-flex bg-indigo-600 hover:bg-indigo-700 focus:bg-indigo-700 text-white font-mono focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-indigo-400 px-3 py-1.5 text-xs" href="https://plus.adonisjs.com/" target="_blank"> 218 Plus 219 </a> 220 221 </li> 222 223 <li class="hidden md:block"> 224<a href="https://github.com/adonisjs/core" class="flex items-center gap-2 text-woodsmoke-300 hover:text-white transition-colors" rel="noopener noreferrer" target="_blank"> 225 <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> 226 <span class="font-mono text-14 font-semibold">19K</span> 227 <span class="sr-only">Star adonisjs/core on GitHub</span> 228</a> 229 230 </li> 231 232 <li x-data="" class="flex self-center md:hidden"> 233 <button @click.prevent="$dispatch('toggle-mobile-nav')"><svg width="20px" height="20px" viewBox="0 0 24 24" class="text-woodsmoke-100 hover:text-white 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> 234 <span class="sr-only">Open menu</span> 235 </button> 236 </li> 237 </ul> 238 </nav> 239 </div> 240 </div> 241</header> 242 243 244<div 245 x-data="{ isOpen: false }" 246 x-cloak 247 @toggle-mobile-nav.window="isOpen = !isOpen" 248 x-show="isOpen" 249 class="md:hidden fixed text-center backdrop-blur-xl border-t border-woodsmoke-900 bg-woodsmoke-950/70 left-0 right-0 top-26 bottom-0 z-10 px-5 py-10" 250> 251 <ul class="flex flex-col gap-5"> 252 <li> 253<a href="/packages" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 254 <span>Packages</span> 255</a> 256 257 </li> 258 <li> 259<a href="/wall-of-love" class="current md:text-sm hover:text-white transition-colors text-white">
260 <span>Wall of love</span> 261</a> 262 263 </li> 264 <li> 265<a href="https://docs.adonisjs.com" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300" rel="noopener noreferrer" target="_blank"> 266 <span>Docs</span> 267</a> 268 269 </li> 270 <li> 271<a href="/blog" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 272 <span>Blog</span> 273</a> 274 275 </li> 276 <li> 277<a href="/roadmap" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 278 <span>Roadmap</span> 279</a> 280 281 </li> 282 <li> 283<a href="/sponsor" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 284 <span>Sponsor</span> 285</a> 286 287 </li> 288 <li> 289<a href="/about" class="md:text-sm hover:text-white transition-colors text-woodsmoke-300"> 290 <span>About</span> 291</a> 292 293 </li> 294 295 <li> 296<a href="https://github.com/adonisjs/core" class="inline-block" rel="noopener noreferrer" target="_blank"> 297 <svg width="24px" height="24px" viewBox="0 0 20 20" class="text-woodsmoke-300 hover:text-white 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> 298 <span class="sr-only">GitHub repository</span> 299</a> 300 301 </li> 302 </ul> 303</div> 304 305 306 307 <main><div class="hero text-center"> 308 <div class="container mx-auto px-5 lg:px-10 py-24 lg:border-x border-woodsmoke-900 relative"> 309 <h1 class="font-display text-34 lg:text-42 text-white leading-10 lg:leading-52 tracking-tight"> 310 Wall of love 311 </h1> 312 <p 313 class="text-16 lg:text-18 text-woodsmoke-200 max-w-lg sm:px-2.5 mx-auto mt-5 lg:mt-3 leading-7" 314 > 315 Real stories and genuine gratitude from the people who inspire us every day. 316 </p> 317 318 <div 319 class="absolute inset-0 pointer-events-none -z-1 bg-[url('/resources/assets/hero-bg.webp')] bg-position-[60%] md:bg-top bg-cover" 320 ></div> 321 </div> 322</div> 323 324<div class="border-t border-woodsmoke-900 relative"> 325 <div class="container mx-auto lg:border-x border-woodsmoke-900 px-5 lg:px-10 py-5 lg:py-10"> 326 <div class="md:gap-8 space-y-5 md:space-y-8 sm:columns-2 lg:columns-3"> 327 328 329 330<a href="https://twitter.com/pvukovic/status/1691701408104394922" class="block" rel="noopener noreferrer" target="_blank"> 331 <div 332 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 333> 334 <div class="flex gap-2 items-center"> 335 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 336 <img 337 src="/assets/pvukovic-DQnoQqFW.jpg" 338 alt="@pvukovic" 339 loading="lazy" 340 width="24" 341 height="24" 342 /> 343 </div> 344 <span class="text-12 font-medium text-woodsmoke-50">@pvukovic</span> 345 </div> 346 <div> 347 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 348 <p>Adonis is wonderful - just a perfect level of cognitive load a framework can have both in documentation and implementation.</p> 349 <p>Not too much, not too little, but exactly what you need as a developer.</p> 350 </div> 351 </div> 352 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 353 </div> 354</div> 355 356</a> 357 358 359 360 361 362<a href="https://x.com/Drag0sNedelcu/status/1751173678295928837" class="block" rel="noopener noreferrer" target="_blank"> 363 <div 364 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 365> 366 <div class="flex gap-2 items-center"> 367 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 368 <img 369 src="/assets/Drag0sNedelcu-CgfqZ95r.jpg" 370 alt="@Drag0sNedelcu" 371 loading="lazy" 372 width="24" 373 height="24" 374 /> 375 </div> 376 <span class="text-12 font-medium text-woodsmoke-50">@Drag0sNedelcu</span> 377 </div> 378 <div> 379 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 380 <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> 381 </div> 382 </div> 383 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 384 </div> 385</div> 386 387</a> 388 389 390 391 392 393<a href="https://x.com/Hexacker/status/1865071153460506924" class="block" rel="noopener noreferrer" target="_blank"> 394 <div 395 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 396> 397 <div class="flex gap-2 items-center"> 398 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 399 <img 400 src="/assets/hexacker-qoxwoe48.jpg" 401 alt="@Hexacker" 402 loading="lazy" 403 width="24" 404 height="24" 405 /> 406 </div> 407 <span class="text-12 font-medium text-woodsmoke-50">
407@Hexacker</span> 408 </div> 409 <div> 410 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 411 <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> 412 </div> 413 </div> 414 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 415 </div> 416</div> 417 418</a> 419 420 421 422 423 424 425<a href="https://www.linkedin.com/posts/harsh-savaliya_webdevelopment-saas-startuplife-activity-7403370439181414400-j9OT" class="block" rel="noopener noreferrer" target="_blank"> 426 <div 427 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 428> 429 <div class="flex gap-2 items-center"> 430 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 431 <img 432 src="/assets/harsh-savaliya-DewVuuQH.jpeg" 433 alt="Harsh Savaliya" 434 loading="lazy" 435 width="24" 436 height="24" 437 /> 438 </div> 439 <span class="text-12 font-medium text-woodsmoke-50">Harsh Savaliya</span> 440 </div> 441 <div> 442 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 443 <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> 444 </div> 445 </div> 446 <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> 447 </div> 448</div> 449 450</a> 451 452 453 454<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"> 455 <div 456 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 457> 458 <div class="flex justify-between items-center"> 459 <span class="text-12 font-semibold text-woodsmoke-300">r/node</span> 460 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 461 <path 462 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
46276 12.8455 20.6695 13.1366Z" 463 fill="#FF4500" 464 stroke="#FF4500" 465 stroke-width="0.266661" 466 /> 467 <path 468 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" 469 fill="#FF4500" 470 stroke="#FF4500" 471 stroke-width="0.266661" 472 /> 473 <path 474 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" 475 fill="#FF4500" 476 stroke="#FF4500" 477 stroke-width="0.266661" 478 /> 479 <path 480 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" 481 fill="#FF4500" 482 stroke="#FF4500" 483 stroke-width="0.266661" 484 /> 485</svg> 486 487 </div> 488 </div> 489 490 <div> 491 <label class="text-16 text-woodsmoke-50 mb-2.5 leading-25 block font-medium">I've really enjoyed the experience</label> 492 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 493 <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> 494 </div> 495 </div> 496</div> 497 498</a> 499 500 501 502 503 504 505<a href="https://x.com/AdrienADV/status/1957340516003000663" class="block" rel="noopener noreferrer" target="_blank"> 506 <div 507 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 508> 509 <div class="flex gap-2 items-center"> 510 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 511 <img 512 src="/assets/AdrienADV-CywwPmU2.jpg" 513 alt="@AdrienADV" 514 loading="lazy" 515 width="24" 516 height="24" 517 /> 518 </div> 519 <span class="text-12 font-medium text-woodsmoke-50">@AdrienADV</span> 520 </div> 521 <div> 522 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 523 <p>Once you've tried @adonisframework</p> 524 <p>â DB setup in minutes</p> 525 <p>â Auth ready with @adonisjs/auth</p> 526 <p>â Fullstack with @inertiajs React</p> 527 <p>â TypeScript & type-safe out of the box</p> 528 <p>I honestly wonder: why do people still use Express.js today ?</p> 529 </div> 530 </div> 531 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 532 </div> 533</div> 534 535</a> 536 537 538 539 540 541<a href="https://twitter.com/andruu/status/1708376936710291599" class="block" rel="noopener noreferrer" target="_blank"> 542 <div 543 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 544> 545 <div class="flex gap-2 items-center"> 546 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 547 <img 548 src="/assets/andruu-OyPiTE4I.jpg" 549 alt="@andruu" 550 loading="lazy" 551 width="24" 552 height="24" 553 /> 554 </div> 555 <span class="text-12 font-medium text-woodsmoke-50">@andruu</span> 556 </div> 557 <div> 558 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 559 <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> 560 </div> 561 </div> 562 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 563 </div> 564</div> 565 566</a> 567 568 569 570 571
572<a href="https://x.com/_ndianabasi/status/1957436212421042398" class="block" rel="noopener noreferrer" target="_blank"> 573 <div 574 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 575> 576 <div class="flex gap-2 items-center"> 577 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 578 <img 579 src="/assets/_ndianabasi-B4Yh1rgJ.jpg" 580 alt="@_ndianabasi" 581 loading="lazy" 582 width="24" 583 height="24" 584 /> 585 </div> 586 <span class="text-12 font-medium text-woodsmoke-50">@_ndianabasi</span> 587 </div> 588 <div> 589 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 590 <p>Once you've tried @adonisframework</p> 591 <p>â DB setup in minutes</p> 592 <p>â Auth ready with @adonisjs/auth</p> 593 <p>â Fullstack with @inertiajs React</p> 594 <p>â TypeScript & type-safe out of the box</p> 595 <p>I honestly wonder: why do people still use Express.js today ?</p> 596 </div> 597 </div> 598 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 599 </div> 600</div> 601 602</a> 603 604 605 606 607 608<a href="https://twitter.com/MahmMousa/status/1691694561981321277" class="block" rel="noopener noreferrer" target="_blank"> 609 <div 610 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 611> 612 <div class="flex gap-2 items-center"> 613 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 614 <img 615 src="/assets/MightyMoud-UMBBNWNq.jpg" 616 alt="@MightyMoud" 617 loading="lazy" 618 width="24" 619 height="24" 620 /> 621 </div> 622 <span class="text-12 font-medium text-woodsmoke-50">@MightyMoud</span> 623 </div> 624 <div> 625 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 626 <p>Adonis in MVC is a blessing tbh! I use it with HTMX or Turbo and it's just perfect!</p> 627 </div> 628 </div> 629 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 630 </div> 631</div> 632 633</a> 634 635 636 637 638 639 640<a href="https://www.linkedin.com/posts/peterimoh_adonisjs-javascript-nodejs-activity-7401255852508098560-m3Hd" class="block" rel="noopener noreferrer" target="_blank"> 641 <div 642 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 643> 644 <div class="flex gap-2 items-center"> 645 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 646 <img 647 src="/assets/Imoh-peter-wB7zNgC_.jpeg" 648 alt="Imoh Peter" 649 loading="lazy" 650 width="24" 651 height="24" 652 /> 653 </div> 654 <span class="text-12 font-medium text-woodsmoke-50">Imoh Peter</span> 655 </div> 656 <div> 657 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 658 <p>AdonisJS is the only fullstack JavaScript framework that actually makes sense if you value structure, speed, convention, and developer experience.</p> 659 </div> 660 </div> 661 <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> 662 </div> 663</div> 664 665</a> 666 667 668 669<a href="https://www.reddit.com/r/webdev/comments/1hepzmw/im_really_enjoying_adonisjs_my_new_preferred/" class="block" rel="noopener noreferrer" target="_blank"> 670 <div 671 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 672> 673 <div class="flex justify-between items-center"> 674 <span class="text-12 font-semibold text-woodsmoke-300">r/node</span> 675 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 676 <path 677 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
67776 12.8455 20.6695 13.1366Z" 678 fill="#FF4500" 679 stroke="#FF4500" 680 stroke-width="0.266661" 681 /> 682 <path 683 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" 684 fill="#FF4500" 685 stroke="#FF4500" 686 stroke-width="0.266661" 687 /> 688 <path 689 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" 690 fill="#FF4500" 691 stroke="#FF4500" 692 stroke-width="0.266661" 693 /> 694 <path 695 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" 696 fill="#FF4500" 697 stroke="#FF4500" 698 stroke-width="0.266661" 699 /> 700</svg> 701 702 </div> 703 </div> 704 705 <div> 706 <label class="text-16 text-woodsmoke-50 mb-2.5 leading-25 block font-medium">I'm really enjoying AdonisJS. My new preferred full-stack framework.</label> 707 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 708 <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> 709 <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> 710 </div> 711 </div> 712</div> 713 714</a> 715 716 717 718 719 720 721<a href="https://x.com/redicreate/status/1985690564826972573" class="block" rel="noopener noreferrer" target="_blank"> 722 <div 723 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 724> 725 <div class="flex gap-2 items-center"> 726 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 727 <img 728 src="/assets/redicreate-DH1tqaxz.jpg" 729 alt="@redicreate" 730 loading="lazy" 731 width="24" 732 height="24" 733 /> 734 </div> 735 <span class="text-12 font-medium text-woodsmoke-50">@redicreate</span> 736 </div> 737 <div> 738 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 739 <p>Looking for the Laravel of JavaScript? ð</p> 740 <p>Meet #AdonisJS - elegant, full-featured, and built for productivity.</p> 741 <p>Pair it with #InertiaJS for a seamless full-stack experience.</p> 742 </div> 743 </div> 744 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 745 </div> 746</div> 747 748</a> 749 750 751 752 753 754<a href="https://twitter.com/SamNewby_/status/1396120662289309708" class="block" rel="noopener noreferrer" target="_blank"> 755 <div 756 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 757> 758 <div class="flex gap-2 items-center"> 759 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 760 <img 761 src="/assets/samnewby-D5kgCGoq.jpg" 762 alt="@SamNewby_" 763 loading="lazy" 764 width="24" 765 height="24" 766 /> 767 </div> 768 <span class="text-12 font-medium text-woodsmoke-50">@SamNewby_</span> 769 </div> 770 <div> 771 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 772 <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> 773 </div> 774 </div> 775 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 776 </div> 777</div> 778 779</a> 780 781 782 783 784 785<a href="https://twitter.com/techreagan/status/1209464504003768320" class="block" rel="noopener noreferrer" target="_blank"> 786 <div 787 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 788> 789 <div class="flex gap-2 items-center"> 790 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 791 <img 792 src="/assets/techreagan-C2Ebuz1H.jpg" 793 alt="@techreagan" 794 loading="lazy" 795 width="24" 796 height="24" 797 /> 798 </div> 799 <span class="text-12 font-medium text-woodsmoke-50">@techreagan</span> 800 </div> 801 <div> 802 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 803 <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> 804 </div> 805 </div> 806 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 807 </div> 808</div> 809 810</a> 811 812 813 814 815<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"> 816 <div 817 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 818> 819 <div class="flex justify-between items-center"> 820 <span class="text-12 font-semibold text-woodsmoke-300">r/node</span> 821 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 822 <path 823 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
82376 12.8455 20.6695 13.1366Z" 824 fill="#FF4500" 825 stroke="#FF4500" 826 stroke-width="0.266661" 827 /> 828 <path 829 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" 830 fill="#FF4500" 831 stroke="#FF4500" 832 stroke-width="0.266661" 833 /> 834 <path 835 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" 836 fill="#FF4500" 837 stroke="#FF4500" 838 stroke-width="0.266661" 839 /> 840 <path 841 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" 842 fill="#FF4500" 843 stroke="#FF4500" 844 stroke-width="0.266661" 845 /> 846</svg> 847 848 </div> 849 </div> 850 851 <div> 852 <label class="text-16 text-woodsmoke-50 mb-2.5 leading-25 block font-medium">Adonis is incredible</label> 853 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 854 <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> 855 </div> 856 </div> 857</div> 858 859</a> 860 861 862 863 864 865 866<a href="https://twitter.com/mucotreso/status/1504606612656381957" class="block" rel="noopener noreferrer" target="_blank"> 867 <div 868 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 869> 870 <div class="flex gap-2 items-center"> 871 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 872 <img 873 src="/assets/mucotreso-_a0W4jiz.jpg" 874 alt="@mucotreso" 875 loading="lazy" 876 width="24" 877 height="24" 878 /> 879 </div> 880 <span class="text-12 font-medium text-woodsmoke-50">@mucotreso</span> 881 </div> 882 <div> 883 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 884 <p>The more I work with @adonisframework the more I'm convinced that it is the best framework in the Nodejs Ecosystem.</p> 885 <p>The docs are well written, well designed, you just want to stay there and learn more.</p> 886 <p>Thanks to all the people who are working on this project.</p> 887 </div> 888 </div> 889 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 890 </div> 891</div> 892 893</a> 894 895 896 897 898 899<a href="https://twitter.com/carlmathisen/status/1695704205674119664" class="block" rel="noopener noreferrer" target="_blank"> 900 <div 901 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 902> 903 <div class="flex gap-2 items-center"> 904 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 905 <img 906 src="/assets/carlmathisen-NjFk7zDX.jpg" 907 alt="@carlmathisen" 908 loading="lazy" 909 width="24" 910 height="24" 911 /> 912 </div> 913 <span class="text-12 font-medium text-woodsmoke-50">@carlmathisen</span> 914 </div> 915 <div> 916 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 917 <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> 918 </div> 919 </div> 920 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 921 </div> 922</div> 923 924</a> 925 926 927 928 929 930<a href="https://twitter.com/britzdm/status/1533547008950165507" class="block" rel="noopener noreferrer" target="_blank"> 931 <div 932 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 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-woodsmoke-900"> 936 <img 937 src="/assets/britzdm-B5pVFlBd.jpg" 938 alt="@britzdm" 939 loading="lazy" 940 width="24" 941 height="24" 942 /> 943 </div> 944 <span class="text-12 font-medium text-woodsmoke-50">@britzdm</span> 945 </div> 946 <div> 947 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 948 <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> 949 </div> 950 </div> 951 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 952 </div> 953</div> 954 955</a> 956 957 958 959 960 961<a href="https://x.com/devhammed/status/1983487581070438671" class="block" rel="noopener noreferrer" target="_blank"> 962 <div 963 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 964> 965 <div class="flex gap-2 items-center"> 966 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 967 <img 968 src="/assets/devhammed-RT4QnowG.jpg" 969 alt="@devhammed" 970 loading="lazy" 971 width="24" 972 height="24" 973 /> 974 </div> 975 <span class="text-12 font-medium text-woodsmoke-50">@devhammed</span> 976 </div> 977 <div> 978 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 979 <p>Let me say this again!</p> 980 <p>AdonisJS is the only full-stack framework in JavaScript land.</p> 981 <p>ðððð</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-woodsmoke-50"><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<a href="https://twitter.com/jooop4y/status/1686883864533499907" class="block" rel="noopener noreferrer" target="_blank"> 995 <div 996 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 997> 998 <div class="flex gap-2 items-center"> 999 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 1000 <img 1001 src="/assets/jooop4y-CKMQfh3v.jpg" 1002 alt="@jooop4y" 1003 loading="lazy" 1004 width="24" 1005 height="24" 1006 /> 1007 </div> 1008 <span class="text-12 font-medium text-woodsmoke-50">@jooop4y</span> 1009 </div> 1010 <div> 1011 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 1012 <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> 1013 </div> 1014 </div> 1015 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 1016 </div> 1017</div> 1018 1019</a> 1020 1021 1022 1023 1024<a href="https://www.reddit.com/r/webdev/comments/1haxnkj/please_give_adonisjs_a_shot/" class="block" rel="noopener noreferrer" target="_blank"> 1025 <div 1026 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1027> 1028 <div class="flex justify-between items-center"> 1029 <span class="text-12 font-semibold text-woodsmoke-300">r/node</span> 1030 <div><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1031 <path 1032 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
103276 12.8455 20.6695 13.1366Z" 1033 fill="#FF4500" 1034 stroke="#FF4500" 1035 stroke-width="0.266661" 1036 /> 1037 <path 1038 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" 1039 fill="#FF4500" 1040 stroke="#FF4500" 1041 stroke-width="0.266661" 1042 /> 1043 <path 1044 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" 1045 fill="#FF4500" 1046 stroke="#FF4500" 1047 stroke-width="0.266661" 1048 /> 1049 <path 1050 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" 1051 fill="#FF4500" 1052 stroke="#FF4500" 1053 stroke-width="0.266661" 1054 /> 1055</svg> 1056 1057 </div> 1058 </div> 1059 1060 <div> 1061 <label class="text-16 text-woodsmoke-50 mb-2.5 leading-25 block font-medium">Please give AdonisJS a shot</label> 1062 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 1063 <p>As someone who was fatigued by the influx of JS frameworks, I did the smart thing and... learned another JS framework...</p> 1064 <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> 1065 </div> 1066 </div> 1067</div> 1068 1069</a> 1070 1071 1072 1073 1074 1075 1076<a href="https://x.com/mdthansil/status/1913682701535818130" class="block" rel="noopener noreferrer" target="_blank"> 1077 <div 1078 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1079> 1080 <div class="flex gap-2 items-center"> 1081 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 1082 <img 1083 src="/assets/mdthansil-DUSY-KKm.jpg" 1084 alt="@mdthansil" 1085 loading="lazy" 1086 width="24" 1087 height="24" 1088 /> 1089 </div> 1090 <span class="text-12 font-medium text-woodsmoke-50">@mdthansil</span> 1091 </div> 1092 <div> 1093 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 1094 <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> 1095 </div> 1096 </div> 1097 <div class="flex justify-between items-center"><svg width="1em" height="1em" viewBox="0 0 24 24" class="w-6 h-6 text-woodsmoke-50"><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> 1098 </div> 1099</div> 1100 1101</a> 1102 1103 1104 1105 1106 1107 1108<a href="https://www.linkedin.com/posts/anjali-pandey-71b74024b_adonisjs-nodejs-backenddevelopment-activity-7380681987948236800-4CwX" class="block" rel="noopener noreferrer" target="_blank"> 1109 <div 1110 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1111> 1112 <div class="flex gap-2 items-center"> 1113 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 1114 <img 1115 src="/assets/anjali-pandey-B72JHZkk.jpeg" 1116 alt="Anjali Pandey" 1117 loading="lazy" 1118 width="24" 1119 height="24" 1120 /> 1121 </div> 1122 <span class="text-12 font-medium text-woodsmoke-50">
1122Anjali Pandey</span> 1123 </div> 1124 <div> 1125 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 1126 <p>Working on a recent project introduced me to AdonisJS, and it's been a great experience.</p> 1127 <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> 1128 <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> 1129 </div> 1130 </div> 1131 <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> 1132 </div> 1133</div> 1134 1135</a> 1136 1137 1138 1139 1140 1141<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"> 1142 <div 1143 class="flex flex-col px-6 py-5 bg-woodsmoke-900/70 hover:bg-woodsmoke-900/80 transition-all border border-woodsmoke-800/40 rounded-md break-inside-avoid-column space-y-4.5 backdrop-blur-xs" 1144> 1145 <div class="flex gap-2 items-center"> 1146 <div class="w-6 h-6 rounded-full overflow-hidden border border-woodsmoke-900"> 1147 <img 1148 src="/assets/ashanwithana-nrTzmffc.jpeg" 1149 alt="Ashan Withana" 1150 loading="lazy" 1151 width="24" 1152 height="24" 1153 /> 1154 </div> 1155 <span class="text-12 font-medium text-woodsmoke-50">Ashan Withana</span> 1156 </div> 1157 <div> 1158 <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide"> 1159 <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> 1160 </div> 1161 </div> 1162 <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> 1163 </div> 1164</div> 1165 1166</a> 1167 1168 </div> 1169 </div> 1170</div> 1171</main> 1172 1173<div class="border-t border-woodsmoke-900"> 1174 <div class="container mx-auto px-5 lg:px-10 pt-15 md:pt-30 lg:border-x border-woodsmoke-900"> 1175 <div class="lg:px-22.5 mb-30 md:mb-52 space-y-7 sm:space-y-5"> 1176 <div class="flex flex-col sm:flex-row gap-1.5 sm:gap-3"> 1177 <label class="text-14 text-woodsmoke-50 tracking-wide">VSCode Extensions</label> 1178 <div class="flex-1 border-b border-dashed border-woodsmoke-800 sm:mb-1.5"></div> 1179 <div class="flex flex-wrap gap-5.5 text-14"> 1180 1181<a href="https://marketplace.visualstudio.com/items?itemName=jripouteau.adonis-vscode-extension" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1182 AdonisJS 1183</a> 1184 1185 1186<a href="https://marketplace.visualstudio.com/items?itemName=AdonisJS.vscode-edge" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1187 Edge 1188</a> 1189 1190 1191<a href="https://marketplace.visualstudio.com/items?itemName=jripouteau.japa-vscode" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1192 Japa 1193</a> 1194 1195 </div> 1196 </div> 1197 <div class="flex flex-col sm:flex-row gap-1.5 sm:gap-3"> 1198 <label class="text-14 text-woodsmoke-50 tracking-wide">Community</label> 1199 <div class="flex-1 border-b border-dashed border-woodsmoke-800 sm:mb-1.5"></div> 1200 <div class="flex flex-wrap gap-5.5 text-14"> 1201 1202<a href="https://discord.com/invite/vDcEjq6" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1203 Discord 1204</a> 1205 1206 1207<a href="https://x.com/adonisframework" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1208 Twitter 1209</a> 1210 1211 1212<a href="https://github.com/adonisjs" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1213 GitHub 1214</a> 1215 1216 1217<a href="https://github.com/orgs/adonisjs/discussions" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5" rel="noopener noreferrer" target="_blank"> 1218 Forum 1219</a> 1220 1221 </div> 1222 </div> 1223 <div class="flex flex-col sm:flex-row gap-1.5 sm:gap-3"> 1224 <label class="text-14 text-woodsmoke-50 tracking-wide">Resources</label> 1225 <div class="flex-1 border-b border-dashed border-woodsmoke-800 sm:mb-1.5"></div> 1226 <div class="flex flex-wrap gap-5.5 text-14"> 1227 1228<a href="/stories" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1229 Stories 1230</a> 1231 1232 1233<a href="/about" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1234 About 1235</a> 1236 1237 1238<a href="/roadmap" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1239 Roadmap 1240</a> 1241 1242 1243<a href="/blog" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1244 Blog 1245</a> 1246 1247 1248<a href="/packages" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1249 Packages 1250</a> 1251 1252 1253<a href="/contributors" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1254 Contributors 1255</a> 1256 1257 1258<a href="/support" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1259 Support 1260</a> 1261 1262 1263<a href="/brand" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1264 Brand 1265</a> 1266 1267 1268<a href="/sponsor" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1269 Sponsor 1270</a> 1271 1272 1273<a href="/team" class="relative hover:text-woodsmoke-50 transition-colors not-last:after:content-['/'] after:pointer-events-none after:text-woodsmoke-400 after:absolute after:-right-3.5"> 1274 Team 1275</a> 1276 1277 </div> 1278 </div> 1279 </div> 1280 1281 <div> 1282 <div> 1283 <svg 1284 class="w-full" 1285 xmlns="http://www.w3.org/2000/svg" 1286 width="1248"
1287 viewBox="0 0 1248 277" 1288 fill="none" 1289 > 1290 <mask 1291 id="b" 1292 style="mask-type:alpha" 1293 maskUnits="userSpaceOnUse" 1294 x="0" 1295 y="0" 1296 width="1248" 1297 height="281" 1298 > 1299 <g clip-path="url(#a)" fill="#282832"> 1300 <path 1301 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
130105 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" 1302 ></path> 1303 </g> 1304 </mask> 1305 <g mask="url(#b)"> 1306 <path fill="url(#c)" d="M0 0h1248v282H0z"></path> 1307 </g> 1308 <defs> 1309 <linearGradient 1310 id="c" 1311 x1="662.5" 1312 y1="-55.5" 1313 x2="668.5" 1314 y2="282" 1315 gradientUnits="userSpaceOnUse" 1316 > 1317 <stop stop-color="#4D4D5F"></stop> 1318 <stop offset="1" stop-color="#0D0D10"></stop> 1319 </linearGradient> 1320 <clipPath id="a"> 1321 <path fill="#fff" d="M0 0h1248v281H0z"></path> 1322 </clipPath> 1323 </defs> 1324 </svg> 1325 </div> 1326 </div> 1327 </div> 1328</div> 1329 1330 1331 <div 1332 class="pointer-events-none absolute inset-0 h-full z-99 mix-blend-overlay overscroll-contain bg-noise bg-size-[64px] opacity-20" 1333 ></div> 1334
1334<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>
1334 1335</body> 1336</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.