PageSourceSearch

https://adonisjs.com/wall-of-love

html adonisjs.com collected 2026-09-25 03:53:45 UTC 75,185 bytes, 1,336 lines download raw bytes

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&#x27;ve really enjoyed the experience</label>
492    <div class="text-15 text-woodsmoke-300 leading-26 space-y-2 tracking-wide">
493        <p>I&#x27;ve been using Adonis for almost five years. I currently have applications running versions 4, 5, and 6, and for the most part I&#x27;ve really enjoyed the experience - it&#x27;s my go-to for new projects. I&#x27;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&#x27;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 &amp; 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&#x27;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&#x27;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 &amp; 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&#x27;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&#x27;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 &quot;oh great another JS framework&quot;, but I thought I&#x27;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&#x27;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&#x27;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&#x27;m in love with this framework, it&#x27;s just like @Laravel but for the @nodejs world. I will be like I&#x27;m stuck how can i solve this, the docs got you covered. It&#x27;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&#x27;ve used every web framework and have been an engineer for 15 years. It&#x27;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&#x27;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&#x27;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&#x27;ve been using @adonisframework for the last two days an I&#x27;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&#x27;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&#x27;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&#x27;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&#x27;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.