1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <meta name="csrf-token" content="GdmifxBGdazlVKf8gy8jEtuSUEVh8eStcpJo9VvN"> 7 8 <!-- Default OG Meta Tags --> 9 <meta property="og:type" content="website"> 10 <meta property="og:site_name" content="faster.dev"> 11 <meta property="og:title" content="faster.dev â AI-Assisted Development for Experienced Engineers"> 12 <meta property="og:description" content="Systems, tools, and workflows that let you ship faster without sacrificing quality. From Aaron Francis."> 13 <meta property="og:image" content="https://faster.dev/images/og-image.png"> 14 <meta property="og:image:width" content="1200"> 15 <meta property="og:image:height" content="630"> 16 <meta property="og:url" content="https://faster.dev"> 17 18 <!-- Twitter Card --> 19 <meta name="twitter:card" content="summary_large_image"> 20 <meta name="twitter:site" content="@aarondfrancis"> 21 <meta name="twitter:creator" content="@aarondfrancis"> 22 <meta name="twitter:title" content="faster.dev â AI-Assisted Development for Experienced Engineers"> 23 <meta name="twitter:description" content="Systems, tools, and workflows that let you ship faster without sacrificing quality. From Aaron Francis."> 24 <meta name="twitter:image" content="https://faster.dev/images/og-image.png"> 25 26 <!-- General Meta --> 27 <meta name="description" content="AI-assisted development for experienced engineers. Systems, tools, and workflows that let you ship faster without sacrificing quality."> 28 29 <title inertia>faster.dev</title> 30 31 <!-- Favicons --> 32 <link rel="icon" href="/favicon.ico" sizes="48x48"> 33 <link rel="icon" href="/favicon.svg" type="image/svg+xml"> 34 <link rel="apple-touch-icon" href="/apple-touch-icon.png"> 35 <link rel="manifest" href="/site.webmanifest"> 36 <meta name="theme-color" content="#1a1a1a"> 37 38 <link rel="preconnect" href="https://fonts.googleapis.com"> 39 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 40 <link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400;1,8..60,500&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet"> 41 42 <link rel="preload" as="style" href="https://faster.dev/build/assets/app-CKN-n7Oz.css" /><link rel="modulepreload" as="script" href="https://faster.dev/build/assets/app-nzbjN7nc.js" /><link rel="stylesheet" href="https://faster.dev/build/assets/app-CKN-n7Oz.css" data-navigate-track="reload" />
42<script type="module" src="https://faster.dev/build/assets/app-nzbjN7nc.js" data-navigate-track="reload"></script>
vendor: 1 bytes, line 42
42
43<script> 44 window.addEventListener('load', () => window.setTimeout(() => { 45 const makeLink = (asset) => { 46 const link = document.createElement('link') 47 48 Object.keys(asset).forEach((attribute) => { 49 link.setAttribute(attribute, asset[attribute]) 50 }) 51 52 return link 53 } 54 55 const loadNext = (assets, count) => window.setTimeout(() => { 56 if (count > assets.length) { 57 count = assets.length 58 59 if (count === 0) { 60 return 61 } 62 } 63 64 const fragment = new DocumentFragment 65 66 while (count > 0) { 67 const link = makeLink(assets.shift()) 68 fragment.append(link) 69 count-- 70 71 if (assets.length) { 72 link.onload = () => loadNext(assets, 1) 73 link.onerror = () => loadNext(assets, 1) 74 } 75 } 76 77 document.head.append(fragment) 78 }) 79 80 loadNext(JSON.parse('[{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Settings-9SVyktlb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Show-CY6Tf2Yn.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/patterns-Bnhyrft4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/github-BNZe0kDV.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/clock-Cwys9FAq.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/arrow-left-Ch7KiYWx.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/lock-C7-u_Q17.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/ForgotPassword-BjlLl196.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/auth-page-shell-D9kxoCJm.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/index-D7zyljL4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Login-BhlBhG-g.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/checkbox-CYmgVok2.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/useControlled-CrmqDfLC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/useValueChanged-CqIbdKZC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Register-DxiGzc9t.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/ResetPassword-BX_ZEyhg.
80js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Beta-CQUUopTl.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Bootcamp-DHwGbANL.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/faq-section-Bj2NF-QH.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/rocket-DL-iw4iI.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/wifi-VNAjlq5n.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/check-DcPvqVuK.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/brain-BFvZK58F.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/target-BQyxaDmb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/book-open-B7bSvAGt.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/sparkles-DVdFoU1K.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Brand-DXg-U8qX.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/particle-text-3Ee0fngd.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/zap-CbXNPtJG.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/volume-x-DkUga4bC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/timeline-CoBz8UmK.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/star-DYpQjjsF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/rotate-ccw-DkPiXgRF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/copy-C9z23WxO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/eye-D7ezzjcf.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/flag-CsdwmN5b.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/play-BRB2Wi9E.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/file-text-yQHxW87k.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/folder-open-CahR-RI8.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/message-square-jMyOAALa.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/terminal-S8yn3haw.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/layers-AJ-94iyQ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/chevron-right-wk_rjqiu.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/accordion-CRNQf6Nk.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/card-DVvp17e5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/series-card-CZMe_Jpq.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/browserAll-CQHuOVUu.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/canvasUtils-BFXc4ynM.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/CanvasPool-CRXjzY-p.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Filter-DQIxEMi5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/webworkerAll-D83Nd6jk.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/WebGPURenderer-DAWJrefb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/BufferResource-Bp6cKuRY.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/RenderTargetSystem-DCmHm0-t.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/WebGLRenderer-BsrgTcWK.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/CanvasRenderer-CUwVKbCr.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/pricing-card-scjv8xg5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/slider-DmqV13mQ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/clamp-DyuOe9kr.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/CollapsiblePanel-CQKOrpDF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/CheckoutError-BQ470HFt.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/ClaudeCodeQuickstart-WiFU49D-.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Embroidery-Bgcj9E04.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Feed-rW4hDlcd.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/TimelineStreamPage-CMKp5zEb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/arrow-up-right-CTJuE0Yl.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/format-duration-DJNOdZ6p.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/video-player-DPWACgf_.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/hls-video-element-D-oVwYiF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Home-BgMr_Kd7.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/catalog-grid-VSVG5z4K.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/project-card-DUXBwWsU.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/floating-nav-BIzQpW5x.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/loader-circle-YR25MYzE.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/LogoExport-DeDZDof_.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Magnet-BPABHzhR.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Manifesto-CEYG31JV.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Index-CKsMv3xh.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/catalog-page-layout-DlFov4ai.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Show-CuLBU180.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Index-ySLgmRJt.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Show-CWAeQifm.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Particles-oL0TAwY5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Privacy-B6XAvsBi.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/legal-page-layout-C_2Fh0_k.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Index-RNVLuskL.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Show-B0XwAxg7.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Index-DWSxtIxg.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Show-Ci00VkhX.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/useEpisodePlaybackState-K4_VB267.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Watch-DvBy1qiL.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Skills-BYvIkwp1.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/buil
80d\\\/assets\\\/Confirming-CG0-jD4A.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Teams-SOYbPpsK.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Terms-BZkoNOQu.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Thanks-EyykQU_W.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Unsubscribe-DrjqJVL6.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Video-DjBb6K6-.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/Welcome-oRNlnQ6R.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/site-navigation-Dy-Yzvcq.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/site-footer-CvAKrAmy.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/badge-CIzL7TR5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/button-CP8q-Q0s.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/dialog-BzV1EwYi.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/input-CosCVajg.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/label-BlnEyt8Y.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/index-5tZebizn.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/external-link-CRDTyWiS.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/utils-DMHpy-pb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/brand-mark-BDpSUUaV.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/visuallyHidden-6_PmS3Oo.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/CompositeList-BBSvUwCg.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/useOpenChangeComplete-C7khVi7i.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/chevron-down-D6-2WSxT.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/createLucideIcon-CR51Zaex.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/menu-Bb2WKwtp.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/circle-check-big-DuYcJQRP.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/arrow-right-D179nxGC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/faster.dev\\\/build\\\/assets\\\/x-CgDaFHDE.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022}]'), 3) 81 })) 82</script>
82 <title inertia>faster. | Learn AI-Assisted Development - faster.dev</title> 83 <!-- Fathom - beautiful, simple website analytics --> 84
84<script src="https://cdn.usefathom.com/script.js" data-spa="auto" data-site="ZPPDZHCV" defer></script>
84 85 <!-- / Fathom --> 86 </head> 87 <body class="font-sans antialiased m-0 p-0"> 88 <div id="app" data-page="{"component":"Home","props":{"errors":{},"auth":{"user":null},"launch":{"fieldNotesPublicEnabled":true},"status":null,"footer":{"series":[{"title":"Claude Code from Scratch","slug":"claude-code-from-scratch"},{"title":"Init Commands: Guardrails from the Start","slug":"init-commands-guardrails-from-the-start"},{"title":"Designing with AI","slug":"designing-with-ai"},{"title":"Claude Skills","slug":"claude-skills"},{"title":"Auditing Your Code","slug":"auditing-your-code"}],"projects":[{"title":"faster.dev","slug":"faster-dev"},{"title":"Solo","slug":"solo"},{"title":"counselors (npm package)","slug":"counselors"},{"title":"Loadout","slug":"loadout"}],"articles":[]},"featuredProjects":[{"id":1,"title":"faster.dev","slug":"faster-dev","description":"<p>An AI-native learning platform for developers who want to ship faster. Follow along with real projects, stay current with the cutting edge, and learn how to leverage AI to build better software.</p>","excerpt":"An AI-native learning platform for developers who want to ship faster. Follow along with real projects, stay current with the cutting edge, and learn...","image":"/images/og-image.png","protection":"free","url":"https://faster.dev/projects/faster-dev","status":"active","launching_date":"Feb 2026","color":"velocity","tech_stack":["Laravel","React","Inertia.js","Tailwind CSS","TypeScript","Filament","Stripe","Postgres","Laravel Forge"],"repo_url":null,"demo_url":null,"update_count":4,"last_update":"6 months ago"},{"id":2,"title":"Solo","slug":"solo","description":"<p>An all-in-one desktop app for managing your local dev stack. Launch all your processes like npm, composer, queues, and servers in one place instead of scattered terminal tabs. Supports multiple projects with clean, organized output.</p>","excerpt":"An all-in-one desktop app for managing your local dev stack. Launch all your processes like npm, composer, queues, and servers in one place instead of...","image":"/images/og-image.png","protection":"free","url":"https://faster.dev/projects/solo","status":"active","launching_date":"Feb 2026","color":"velocity","tech_stack":["Rust","Tauri","TanStack","React","Swift","Stripe","SQLite"],"repo_url":null,"demo_url":"https://soloterm.com","update_count":10,"last_update":"6 months ago"},{"id":8,"title":"counselors (npm package)","slug":"counselors","description":"A CLI that fans out prompts to multiple AI coding agents in parallel and compares their output.","excerpt":"A CLI that fans out prompts to multiple AI coding agents in parallel and compares their output.","image":"/images/og-image.png","protection":"free","url":"https://faster.dev/projects/counselors","status":"active","launching_date":null,"color":"blaze","tech_stack":["TypeScript","Node.js","Commander","Vitest","Biome","GitHub Actions","npm"],"repo_url":"https://github.com/aarondfrancis/counselors","demo_url":"https://www.npmjs.com/package/counselors","update_count":2,"last_update":"7 months ago"},{"id":9,"title":"Loadout","slug":"loadout","description":"<p>A desktop app for installing and managing AI coding tool integrations, registries, and MCP configuration from one place.</p>","excerpt":"A desktop app for installing and managing AI coding tool integrations, registries, and MCP configuration from one place.","image":"/images/og-image.png","protection":"free","url":"https://faster.dev/projects/loadout","status":"active","launching_date":null,"color":"pulse","tech_stack":["Rust","Tauri","React","TypeScript","TanStack Query","SQLite"],"repo_url":null,"demo_url":null,"update_count":1,"last_update":"7 months ago"}],"featuredSeries":[{"title":"Claude Code from Scratch","slug":"claude-code-from-scratch","description":"<p>A beginner&#039;s guide to getting started with Claude Code. Everything you need to know to go from zero to productive.</p>","image":"https://faster.dev/storage/series/01KEYYHNNERBG0RTQS6M407ZJK.png","color":"blaze","badge":null,"videos":7,"runtime":"1h 7m","lastUpdated":"Feb 2026","shape":"circle","overlay":"none"},{"title":"Init Commands: Guardrails from the Start","slug":"init-commands-guardrails-from-the-start","description":"<p>Set up any project for AI-assisted development with a single command. Write framework rules and establish guardrails that keep AI output consistent and correct.</p>","image":"https://faster.dev/storage/series/01KEYYF38ERS2HKWXC95EDJTRG.png","color":"velocity","badge":null,"videos":8,"runtime":"53m","lastUpdated":"Feb 2026","shape":"circle","overlay":"none"},{"title":"Claude Skills","slug":"claude-skills","description":"<p>Master Claude Code&#039;s skill system. Learn to discover built-in skills, write your own custom commands, and chain them together for powerful automated workflows.</p>","image":"https://faster.dev/storage/series/01KEYYZ8KAS7583VC81G2ESCGZ.png","color":"flux","badge":null,"videos":12,"runtime":"1h 51m","lastUpdated":"Feb 2026","shape":"circle","overlay":"none"},{"title":"Auditing Your Code","slug":"auditing-your-code","description":"<p>Audit your entire codebase, specific modules, or recent changes to search for bad state management, boolean explosions, and other code smells.</p>","image":"https://faster.dev/storage/series/01KEYYSPRJE5V7THTHK24525T8.png","color":"pulse","badge":null,"videos":8,"runtime":"30m","lastUpdated":"Feb 2026","shape":"circle","overlay":"none"},{"title":"Claude Tips & Tricks","slug":"claude-tips-and-tricks","description":"<p>
88Quick wins and hidden gems. Bite-sized tips to level up your Claude Code workflowâkeyboard shortcuts, prompt patterns, and tricks the docs don&#039;t tell you.</p>","image":"https://faster.dev/storage/series/01KEYYZWCJBZA1DJR8B9528WFH.png","color":"energy","badge":null,"videos":0,"runtime":null,"lastUpdated":"Feb 2026","shape":"island","overlay":"none"},{"title":"MCP Servers","slug":"mcp-servers","description":"<p>Extend Claude&#039;s reach. Build MCP servers that connect Claude to databases, APIs, file systems, and any external serviceâturning it into a true development partner.</p>","image":"https://faster.dev/storage/series/01KEYYS7GR78TX32NDTG3M2V8R.png","color":"void-light","badge":null,"videos":0,"runtime":null,"lastUpdated":"Feb 2026","shape":"circle","overlay":"none"},{"title":"Prompting & Context","slug":"prompting-and-context","description":"<p>The foundation of effective AI development. Write CLAUDE.md files that actually help, craft prompts that get results, manage context windows, and know when to start fresh versus continue.</p>","image":"https://faster.dev/storage/series/01KEYYRV9XYDQJPN0GE0VSF1YA.png","color":"velocity","badge":null,"videos":0,"runtime":null,"lastUpdated":"Feb 2026","shape":"island","overlay":"none"},{"title":"Using Amp Code","slug":"using-amp-code","description":"<p>Get up to speed with Amp Code, Sourcegraph&#039;s AI coding assistant. Learn the interface, effective prompting, codebase context, and how it compares to other AI coding tools.</p>","image":"https://faster.dev/storage/series/01KEYZ54W0RQF4JB9JYKY33RE2.png","color":"blaze","badge":null,"videos":0,"runtime":null,"lastUpdated":"Feb 2026","shape":"island","overlay":"none"}],"featuredFieldNotes":[{"id":64,"slug":"google-ai-studio-64","title":"Google AI Studio","description":"See how I used AI to create a custom image for my website! Learn my workflow for styling images with Google AI Studio.","excerpt":"See how I used AI to create a custom image for my website! Learn my workflow for styling images with Google AI Studio.","image":null,"protection":"premium","url":"https://faster.dev/notes/google-ai-studio-64","duration":405,"canAccess":false,"accessStatus":"login","checkoutUrl":null,"playback":{"hlsUrl":null,"vttUrl":null,"posterUrl":null},"publishedAt":"2026-03-21T00:14:33.000000Z","tags":[{"id":1,"name":"Tooling","slug":"tooling","noteCount":0,"url":"https://faster.dev/notes?tag=tooling"},{"id":3,"name":"AI Studio","slug":"ai-studio","noteCount":0,"url":"https://faster.dev/notes?tag=ai-studio"},{"id":4,"name":"Image Generation","slug":"image-generation","noteCount":0,"url":"https://faster.dev/notes?tag=image-generation"}]},{"id":61,"slug":"build-tools-for-yourself-61","title":"Build tools for yourself","description":"Automate video uploads! See a custom macOS app using AppleScript & R2 to streamline content creation for faster.dev. Build your own automation!","excerpt":"Automate video uploads! See a custom macOS app using AppleScript & R2 to streamline content creation for faster.dev. Build your own automation!","image":null,"protection":"free","url":"https://faster.dev/notes/build-tools-for-yourself-61","duration":482,"canAccess":true,"accessStatus":"allowed","checkoutUrl":null,"playback":{"hlsUrl":null,"vttUrl":null,"posterUrl":null},"publishedAt":"2026-03-19T18:17:00.000000Z","tags":[{"id":1,"name":"Tooling","slug":"tooling","noteCount":0,"url":"https://faster.dev/notes?tag=tooling"},{"id":6,"name":"Automation","slug":"automation","noteCount":0,"url":"https://faster.dev/notes?tag=automation"},{"id":7,"name":"AppleScript","slug":"applescript","noteCount":0,"url":"https://faster.dev/notes?tag=applescript"},{"id":8,"name":"macOS","slug":"macos","noteCount":0,"url":"https://faster.dev/notes?tag=macos"}]},{"id":56,"slug":"first-look-google-stitch-56","title":"First look: Google Stitch","description":"First look at Stitch, a new AI design tool! Can it generate good website designs? We explore its features & potential together.","excerpt":"First look at Stitch, a new AI design tool! Can it generate good website designs? We explore its features & potential together.","image":null,"protection":"premium","url":"https://faster.dev/notes/first-look-google-stitch-56","duration":779,"canAccess":false,"accessStatus":"login","checkoutUrl":null,"playback":{"hlsUrl":null,"vttUrl":null,"posterUrl":null},"publishedAt":"2026-03-19T18:16:00.000000Z","tags":[{"id":4,"name":"Image Generation","slug":"image-generation","noteCount":0,"url":"https://faster.dev/notes?tag=image-generation"},{"id":5,"name":"Prompts","slug":"prompts","noteCount":0,"url":"https://faster.dev/notes?tag=prompts"},{"id":9,"name":"AI Design Tool","slug":"ai-design-tool","noteCount":0,"url":"https://faster.dev/notes?tag=ai-design-tool"},{"id":10,"name":"Google Stitch","slug":"google-stitch","noteCount":0,"url":"https://faster.dev/notes?tag=google-stitch"}]},{"id":60,"slug":"getting-logs-into-your-llm-60","title":"Getting logs into your LLM","description":"Make debugging product stuff easy by pulling the logs. Learn how the new Sentry CLI helps you read remote logs and issues locally for faster troubleshooting.","excerpt":"Make debugging product stuff easy by pulling the logs. Learn how the new Sentry CLI helps you read remote logs and issues locally for faster troublesh...","image":null,"protection":"premium","url":"https://faster.dev/notes/getting-logs-into-your-llm-60","duration":235,"canAccess":false,"accessStatus":"login","checkoutUrl":null,"playback":{"hlsUrl":null,"vttUrl":null,"posterUrl":null},"publishedAt":"2026-03-18T18:17:00.000000Z","tags":[{"id":11,"name":"Sentry","slug":"sentry","noteCount":0,"url":"https://faster.dev/notes?tag=sentry"},{"id":12,"name":"CLI","slug":"cli","noteCount":0,"url":"https://faster.dev/notes?tag=cli"},{"id":13,"name":"Debugging","slug":"debugging","noteCount":0,"url":"https://faster.dev/notes?tag=debugging"},{"id":14,"name":"Logs","slug":"logs","noteCount":0,"url":"https://faster.dev/notes?tag=logs"},{"id":15,"name":"Troubleshooting","slug":"troubleshooting","noteCount":0,"url":"https://faster.dev/notes?tag=troubleshooting"}]},{"id":58,"slug":"some-git-worktree-thoughts-58","title":"Some git worktree thoughts","description":"Git worktrees: Are they worth the hype? I'm not there yet! An alternative approach revealed.","excerpt":"Git worktrees: Are they worth the hype? I'm not there yet! An alternative approach revealed.","image":null,"protection":"free","url":"https://faster.dev/notes/some-git-worktree-thoughts-58","duration":261,"canAccess":true,"accessStatus":"allowed","checkoutUrl":null,"playback":{"hlsUrl":null,"vttUrl":null,"posterUrl":null},"publishedAt":"2026-03-18T17:17:00.000000Z","tags":[{"id":12,"name":"CLI","slug":"cli","noteCount":0,"url":"https://faster.dev/notes?tag=cli"},{"id":15,"name":"Troubleshooting","slug":"troubleshooting","noteCount":0,"url":"https://faster.dev/notes?tag=troubleshooting"},{"id":16,"name":"Git","slug":"git","noteCount":0,"url":"https://faster.dev/notes?tag=git"},{"id":17,"name":"Worktrees","slug":"worktrees","noteCount":0,"url":"https://faster.dev/notes?tag=worktrees"}]},{"id":57,"slug":"creating-a-version-endpoint-57","title":"Creating a version endpoint","description":"
88Deploying across services? Ensure end-to-end tests run on the correct version with a simple API for reporting commit hashes.","excerpt":"Deploying across services? Ensure end-to-end tests run on the correct version with a simple API for reporting commit hashes.","image":null,"protection":"premium","url":"https://faster.dev/notes/creating-a-version-endpoint-57","duration":269,"canAccess":false,"accessStatus":"login","checkoutUrl":null,"playback":{"hlsUrl":null,"vttUrl":null,"posterUrl":null},"publishedAt":"2026-03-17T18:16:00.000000Z","tags":[{"id":6,"name":"Automation","slug":"automation","noteCount":0,"url":"https://faster.dev/notes?tag=automation"},{"id":15,"name":"Troubleshooting","slug":"troubleshooting","noteCount":0,"url":"https://faster.dev/notes?tag=troubleshooting"},{"id":16,"name":"Git","slug":"git","noteCount":0,"url":"https://faster.dev/notes?tag=git"},{"id":18,"name":"API","slug":"api","noteCount":0,"url":"https://faster.dev/notes?tag=api"},{"id":19,"name":"Deployment","slug":"deployment","noteCount":0,"url":"https://faster.dev/notes?tag=deployment"}]},{"id":49,"slug":"hope-is-not-a-strategy-49","title":"Hope is not a strategy","description":"Centralizing code cleanup in faster.dev & preventing future messes. Learn how architectural testing keeps your codebase maintainable.","excerpt":"Centralizing code cleanup in faster.dev & preventing future messes. Learn how architectural testing keeps your codebase maintainable.","image":null,"protection":"premium","url":"https://faster.dev/notes/hope-is-not-a-strategy-49","duration":283,"canAccess":false,"accessStatus":"login","checkoutUrl":null,"playback":{"hlsUrl":null,"vttUrl":null,"posterUrl":null},"publishedAt":"2026-03-16T18:15:00.000000Z","tags":[{"id":9,"name":"AI Design Tool","slug":"ai-design-tool","noteCount":0,"url":"https://faster.dev/notes?tag=ai-design-tool"},{"id":20,"name":"Code Quality","slug":"code-quality","noteCount":0,"url":"https://faster.dev/notes?tag=code-quality"},{"id":21,"name":"Testing","slug":"testing","noteCount":0,"url":"https://faster.dev/notes?tag=testing"},{"id":22,"name":"CI","slug":"ci","noteCount":0,"url":"https://faster.dev/notes?tag=ci"}]}],"stats":{"videos":58,"series_count":10,"projects":9,"active_projects":4,"files":0,"guarantee_days":30},"featuredContent":{"badge":"New","title":"Getting Started with Claude Code","url":"/series/claude-code"},"faqs":[{"id":11,"question":"When is this launching?","answer":"<p>We&#039;re live! You can sign up today and access all of the resources available with a membership. There&#039;s a few free resources if you want to check them out before signing up.</p>","order":0},{"id":5,"question":"What makes you the AI expert?","answer":"<p>I&#039;m a software engineer who&#039;s been building and shipping products for over two decades, and teaching developers for over a decade. I&#039;ve mass-adopted AI tooling faster as fast as I can, not because I&#039;m smarter, but because I have the time, the obsession, and the context to go deep. I test every new release, build real projects with these tools daily, and document what actually works.</p><p>You&#039;re getting the filtered version: the setups, patterns, and workflows that survived contact with production code.</p>","order":1},{"id":6,"question":"Can I use this stuff today?","answer":"<p>Yes! You can use this stuff today!</p><p>The skills files and rules files are all downloadable. Copy them into your setup, tweak them for your stack, and start using them immediately. The videos show you how everything works together.</p><p>I&#039;m optimizing for you to get up to speed quickly. If you want to watch a bunch of videos, that&#039;s also great. But you should see improvements from day one.</p>","order":2},{"id":7,"question":"What tools do you cover?","answer":"Claude, Codex, Gemini, AMP, and V0.","order":3},{"id":8,"question":"Will moving faster mean lower quality?","answer":"No, that's the whole point. The systems I share (tests, CI/CD, proper architecture) are what make speed sustainable. You move faster because you'
88re not constantly fixing mistakes, rewriting code, or debugging production issues.","order":4},{"id":9,"question":"What if AI tools change tomorrow?","answer":"They will, and you've dealt with this before. Remember when jQuery was everywhere? When we all learned React? When serverless was the new thing? You adapted then, you'll adapt now. The difference is your fundamentals transfer. I focus on principles that work across tools, and I update the specific implementations as things evolve.","order":5},{"id":10,"question":"How often is new content added?","answer":"Regularly. Video series are released as I build them, project logs are updated as projects progress, and new resources are added as I develop them. Follow along as I ship.","order":6}],"pricingOptions":[{"seats":1,"priceId":"price_1T2kr5LhLRFvaQfMNegOR46F","amountInCents":29900,"currency":"USD","interval":"year"},{"seats":3,"priceId":"price_1T2kpsLhLRFvaQfM8tkFPAmi","amountInCents":79900,"currency":"USD","interval":"year"},{"seats":5,"priceId":"price_1T2kqELhLRFvaQfMkTYRnuV4","amountInCents":129900,"currency":"USD","interval":"year"},{"seats":10,"priceId":"price_1T2kqXLhLRFvaQfMrRpThtDj","amountInCents":249900,"currency":"USD","interval":"year"},{"seats":25,"priceId":"price_1SsSiELhLRFvaQfMkXJo0ZTg","amountInCents":509900,"currency":"USD","interval":"year"}],"checkoutCanceled":false},"url":"/","version":"0afbd5923b228591d3a67c66047b64e5","clearHistory":false,"encryptHistory":false}"><nav class="fixed top-0 left-0 right-0 z-50 transition-transform duration-300 ease-out -translate-y-full"><div class="bg-void-900/95 backdrop-blur-md border-b border-white/5 px-6 lg:px-10"><div class="max-w-[1600px] mx-auto"><nav data-slot="site-navigation" class="flex justify-between items-center h-14 px-0 lg:px-0"><a class="text-xl font-medium tracking-tight text-void-100" href="/">faster<span class="text-velocity-400">.</span></a><div class="hidden items-center gap-7 lg:flex"><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/series">Series<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/projects">Projects<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/notes">Notes<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/skills">Skills<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/feed">Feed<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a href="/#pricing" class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100">Join now<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/login">Log in<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a></div><button type="button" tabindex="0" aria-haspopup="menu" id="base-ui-_R_3r_" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 h-9 px-3 text-void-100/70 hover:text-void-100 hover:bg-white/10 lg:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span>Menu</span></button></nav></div></div></nav><div class="bg-background text-foreground"><section class="relative angle-br-up-24 angle-line-velocity-energy h-[calc(32dvh+var(--angle-size)-var(--spacing))] md:h-[calc(38dvh+var(--angle-size)-var(--spacing))] bg-void-900 flex flex-col" style="z-index:20;position:relative"><div class="relative flex-1 flex flex-col"><div class="absolute inset-0 opacity-[0.015] pointer-events-none" style="background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='
88stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")"></div><nav data-slot="site-navigation" class="flex justify-between items-center absolute top-0 left-0 right-0 z-20 px-10 py-8"><a class="text-xl font-medium tracking-tight text-void-100" href="/">faster<span class="text-velocity-400">.</span></a><div class="hidden items-center gap-7 lg:flex"><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/series">Series<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/projects">Projects<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/notes">Notes<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/skills">Skills<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/feed">Feed<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a href="/#pricing" class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100">Join now<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a><a class="text-sm tracking-tight transition-colors duration-300 relative group text-void-100/40 hover:text-void-100" href="/login">Log in<span class="absolute -bottom-1 left-0 w-0 h-px transition-all duration-300 group-hover:w-full bg-velocity-500"></span></a></div><button type="button" tabindex="0" aria-haspopup="menu" id="base-ui-_R_v1c_" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 h-9 px-3 text-void-100/70 hover:text-void-100 hover:bg-white/10 lg:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span>Menu</span></button></nav><div class="flex-1 min-h-0 relative"><canvas class="absolute inset-0 pointer-events-none lg:pointer-events-auto lg:cursor-crosshair touch:pointer-events-none"></canvas></div></div></section><section class="section px-6 lg:px-10 bg-background overflow-hidden angle-br-up-24 angle-line-energy-blaze" style="z-index:19;position:relative"><div class="max-w-[1600px] mx-auto"><div class="max-w-2xl mx-auto mb-16 md:mb-20 text-left"><span class="block mb-4 text-xs text-muted-foreground">What is faster.dev?</span><h2 class="text-2xl md:text-3xl font-medium tracking-tight text-foreground">Practical AI-assisted development for engineers who still care about quality.</h2><div class="mt-5 space-y-4 text-muted-foreground"><p>faster.dev is a training platform for software developers who want to ship more without turning their codebase into chaos.</p><p>You should use it if you want workflows that make AI useful in real projects, not just impressive demos.</p><p>You get structured video series, behind-the-scenes project logs, and downloadable slash commands, skills, and rules you can use right away.</p></div></div><div data-slot="section-intro" class=""><div class="flex items-end justify-between mb-16"><div><span class="text-xs text-muted-foreground mb-4 block">01</span><h2 class="text-5xl md:text-6xl font-medium tracking-tight">Video Series</h2><p class="text-xl text-muted-foreground mt-4 max-w-lg">Structured courses that take you from concept to mastery.</p></div><a class="hidden md:flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors group" href="/series">View all series<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4 group-hover:translate-x-1 transition-transform" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6"><div class="series-card relative overflow-hidden rounded-sm border border-white/10 bg-gradient-to-br from-blaze-600 to-blaze-700 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-full shadow-2xl border border-white/10 shadow-black/50 bg-white/5"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-white">Claude Code from Scratch</h3><p class="series-card-description leading-snug tracking-tight text-white/80"><p>A beginner's guide to getting started with Claude Code. Everything you need to know to go from zero to productive.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-white/60"><span class="flex items-center gap-3">
88Feb 2026</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>7 episodes</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>1h 7m</span></div><a href="/series/claude-code-from-scratch" class="series-card-link inline-flex items-center gap-2 font-medium transition-colors text-white/90 hover:text-white">Start learning<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="series-card relative overflow-hidden rounded-sm border border-white/10 bg-gradient-to-br from-velocity-600 to-velocity-700 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-full shadow-2xl border border-white/10 shadow-black/50 bg-white/5"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-white">Init Commands: Guardrails from the Start</h3><p class="series-card-description leading-snug tracking-tight text-white/80"><p>Set up any project for AI-assisted development with a single command. Write framework rules and establish guardrails that keep AI output consistent and correct.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-white/60"><span class="flex items-center gap-3">Feb 2026</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>8 episodes</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>53m</span></div><a href="/series/init-commands-guardrails-from-the-start" class="series-card-link inline-flex items-center gap-2 font-medium transition-colors text-white/90 hover:text-white">Start learning<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="series-card relative overflow-hidden rounded-sm border border-white/10 bg-gradient-to-br from-flux-600 to-flux-700 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-full shadow-2xl border border-white/10 shadow-black/50 bg-white/5"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-white">Claude Skills</h3><p class="series-card-description leading-snug tracking-tight text-white/80"><p>Master Claude Code's skill system. Learn to discover built-in skills, write your own custom commands, and chain them together for powerful automated workflows.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-white/60"><span class="flex items-center gap-3">Feb 2026</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>12 episodes</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>1h 51m</span></div><a href="/series/claude-skills" class="series-card-link inline-flex items-center gap-2 font-medium transition-colors text-white/90 hover:text-white">Start learning<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="series-card relative overflow-hidden rounded-sm border border-white/10 bg-gradient-to-br from-pulse-600 to-pulse-700 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-full shadow-2xl border border-white/10 shadow-black/50 bg-white/5"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-white">Auditing Your Code</h3><p class="series-card-description leading-snug tracking-tight text-white/80"><p>Audit your entire codebase, specific modules, or recent changes to search for bad state management, boolean explosions, and other code smells.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-white/60"><span class="flex items-center gap-3">
88Feb 2026</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>8 episodes</span><span class="flex items-center gap-3"><span class="text-white/30">â¢</span>30m</span></div><a href="/series/auditing-your-code" class="series-card-link inline-flex items-center gap-2 font-medium transition-colors text-white/90 hover:text-white">Start learning<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="series-card relative overflow-hidden rounded-sm border border-white/10 bg-gradient-to-br from-energy-600 to-energy-700 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-2xl shadow-2xl -rotate-6 border border-white/10 shadow-black/50 bg-white/5"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-white">Claude Tips & Tricks</h3><p class="series-card-description leading-snug tracking-tight text-white/80"><p>Quick wins and hidden gems. Bite-sized tips to level up your Claude Code workflowâkeyboard shortcuts, prompt patterns, and tricks the docs don't tell you.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-white/60"><span class="flex items-center gap-3">Coming soon</span></div></div></div><div class="series-card relative overflow-hidden rounded-sm border border-void-300 bg-gradient-to-br from-void-100 to-void-200 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-full shadow-2xl border border-void-300 shadow-black/50 bg-void-300/50"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-void-900">MCP Servers</h3><p class="series-card-description leading-snug tracking-tight text-void-600"><p>Extend Claude's reach. Build MCP servers that connect Claude to databases, APIs, file systems, and any external serviceâturning it into a true development partner.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-void-500"><span class="flex items-center gap-3">Coming soon</span></div></div></div><div class="series-card relative overflow-hidden rounded-sm border border-white/10 bg-gradient-to-br from-velocity-600 to-velocity-700 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-2xl shadow-2xl -rotate-6 border border-white/10 shadow-black/50 bg-white/5"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-white">Prompting & Context</h3><p class="series-card-description leading-snug tracking-tight text-white/80"><p>The foundation of effective AI development. Write CLAUDE.md files that actually help, craft prompts that get results, manage context windows, and know when to start fresh versus continue.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-white/60"><span class="flex items-center gap-3">Coming soon</span></div></div></div><div class="series-card relative overflow-hidden rounded-sm border border-white/10 bg-gradient-to-br from-blaze-600 to-blaze-700 h-full flex flex-col"><div class="series-card-content p-8 pb-3 flex-1"><div class="series-card-decoration"><div class="series-card-shape rounded-2xl shadow-2xl -rotate-6 border border-white/10 shadow-black/50 bg-white/5"></div><div class="series-card-particles"><div style="width:220px;height:220px"></div></div></div><h3 class="series-card-title text-2xl font-semibold mb-3 text-white">Using Amp Code</h3><p class="series-card-description leading-snug tracking-tight text-white/80"><p>Get up to speed with Amp Code, Sourcegraph's AI coding assistant. Learn the interface, effective prompting, codebase context, and how it compares to other AI coding tools.</p></p></div><div class="series-card-footer px-8 pb-4 pt-2"><div class="series-card-stats flex items-center gap-3 text-sm text-white/60"><span class="flex items-center gap-3">Coming soon</span></div></div></div></div><div class="mt-12 text-center md:hidden"><a class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 px-8" href="/series">View all series<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4 ml-2" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><section id="field-notes" class="section px-4 md:px-10 bg-background overflow-hidden angle-br-up-24 angle-line-energy-blaze" style="z-index:18;position:relative"><div class="max-w-[1600px] mx-auto"><div data-slot="section-intro" class=""><div class="flex items-end justify-between mb-16"><div><span class="text-xs text-muted-foreground mb-4 block">02</span><h2 class="text-5xl md:text-6xl font-medium tracking-tight">Field Notes</h2><p class="text-xl text-muted-foreground mt-4 max-w-lg">Stand-alone videos for techniques, workflows, and practical lessons.<
88/p></div><a class="hidden md:flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors group" href="/notes">View all field notes<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4 group-hover:translate-x-1 transition-transform" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6"><article class="group flex flex-col"><a class="block mb-2 overflow-hidden rounded-md border border-border/40 bg-card transition-all group-hover:border-border/80" href="https://faster.dev/notes/google-ai-studio-64"><div class="relative aspect-video"><div class="flex h-full items-center justify-center bg-[radial-gradient(circle_at_top_left,var(--color-pulse-100),transparent_40%),linear-gradient(135deg,var(--color-secondary),var(--color-background))] px-4 text-center"><span class="text-[10px] text-muted-foreground/40">Google AI Studio</span></div><div class="absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors duration-500"></div><div class="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[10px] font-medium text-white/90 backdrop-blur-sm">6:45</div><div class="absolute top-2 left-2"><span data-slot="badge" class="inline-flex items-center transition-colors bg-accent text-accent-foreground text-[10px] px-1.5 py-0 rounded-sm h-4 font-semibold">Premium</span></div></div></a><div class="flex-1 flex flex-col px-0.5"><div class="mb-1 flex items-center justify-between gap-2"><time class="text-[10px] text-muted-foreground/60 font-medium">Mar 21</time><div class="flex gap-1.5"><span class="text-[10px] text-muted-foreground/50 font-medium">Tooling</span></div></div><h3 class="mb-1.5"><a class="text-base font-semibold leading-tight hover:text-velocity-600 transition-colors block tracking-tight" href="https://faster.dev/notes/google-ai-studio-64">Google AI Studio</a></h3><p class="line-clamp-2 text-[13px] leading-snug text-muted-foreground/80">See how I used AI to create a custom image for my website! Learn my workflow for styling images with Google AI Studio.</p></div></article><article class="group flex flex-col"><a class="block mb-2 overflow-hidden rounded-md border border-border/40 bg-card transition-all group-hover:border-border/80" href="https://faster.dev/notes/build-tools-for-yourself-61"><div class="relative aspect-video"><div class="flex h-full items-center justify-center bg-[radial-gradient(circle_at_top_left,var(--color-pulse-100),transparent_40%),linear-gradient(135deg,var(--color-secondary),var(--color-background))] px-4 text-center"><span class="text-[10px] text-muted-foreground/40">Build tools for yourself</span></div><div class="absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors duration-500"></div><div class="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[10px] font-medium text-white/90 backdrop-blur-sm">8:02</div></div></a><div class="flex-1 flex flex-col px-0.5"><div class="mb-1 flex items-center justify-between gap-2"><time class="text-[10px] text-muted-foreground/60 font-medium">Mar 19</time><div class="flex gap-1.5"><span class="text-[10px] text-muted-foreground/50 font-medium">Tooling</span></div></div><h3 class="mb-1.5"><a class="text-base font-semibold leading-tight hover:text-velocity-600 transition-colors block tracking-tight" href="https://faster.dev/notes/build-tools-for-yourself-61">Build tools for yourself</a></h3><p class="line-clamp-2 text-[13px] leading-snug text-muted-foreground/80">Automate video uploads! See a custom macOS app using AppleScript & R2 to streamline content creation for faster.dev. Build your own automation!</p></div></article><article class="group flex flex-col"><a class="block mb-2 overflow-hidden rounded-md border border-border/40 bg-card transition-all group-hover:border-border/80" href="https://faster.dev/notes/first-look-google-stitch-56"><div class="relative aspect-video"><div class="flex h-full items-center justify-center bg-[radial-gradient(circle_at_top_left,var(--color-pulse-100),transparent_40%),linear-gradient(135deg,var(--color-secondary),var(--color-background))] px-4 text-center">
88<span class="text-[10px] text-muted-foreground/40">First look: Google Stitch</span></div><div class="absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors duration-500"></div><div class="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[10px] font-medium text-white/90 backdrop-blur-sm">12:59</div><div class="absolute top-2 left-2"><span data-slot="badge" class="inline-flex items-center transition-colors bg-accent text-accent-foreground text-[10px] px-1.5 py-0 rounded-sm h-4 font-semibold">Premium</span></div></div></a><div class="flex-1 flex flex-col px-0.5"><div class="mb-1 flex items-center justify-between gap-2"><time class="text-[10px] text-muted-foreground/60 font-medium">Mar 19</time><div class="flex gap-1.5"><span class="text-[10px] text-muted-foreground/50 font-medium">Image Generation</span></div></div><h3 class="mb-1.5"><a class="text-base font-semibold leading-tight hover:text-velocity-600 transition-colors block tracking-tight" href="https://faster.dev/notes/first-look-google-stitch-56">First look: Google Stitch</a></h3><p class="line-clamp-2 text-[13px] leading-snug text-muted-foreground/80">First look at Stitch, a new AI design tool! Can it generate good website designs? We explore its features & potential together.</p></div></article><article class="group flex flex-col"><a class="block mb-2 overflow-hidden rounded-md border border-border/40 bg-card transition-all group-hover:border-border/80" href="https://faster.dev/notes/getting-logs-into-your-llm-60"><div class="relative aspect-video"><div class="flex h-full items-center justify-center bg-[radial-gradient(circle_at_top_left,var(--color-pulse-100),transparent_40%),linear-gradient(135deg,var(--color-secondary),var(--color-background))] px-4 text-center"><span class="text-[10px] text-muted-foreground/40">Getting logs into your LLM</span></div><div class="absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors duration-500"></div><div class="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[10px] font-medium text-white/90 backdrop-blur-sm">3:55</div><div class="absolute top-2 left-2"><span data-slot="badge" class="inline-flex items-center transition-colors bg-accent text-accent-foreground text-[10px] px-1.5 py-0 rounded-sm h-4 font-semibold">Premium</span></div></div></a><div class="flex-1 flex flex-col px-0.5"><div class="mb-1 flex items-center justify-between gap-2"><time class="text-[10px] text-muted-foreground/60 font-medium">Mar 18</time><div class="flex gap-1.5"><span class="text-[10px] text-muted-foreground/50 font-medium">Sentry</span></div></div><h3 class="mb-1.5"><a class="text-base font-semibold leading-tight hover:text-velocity-600 transition-colors block tracking-tight" href="https://faster.dev/notes/getting-logs-into-your-llm-60">Getting logs into your LLM</a></h3><p class="line-clamp-2 text-[13px] leading-snug text-muted-foreground/80">Make debugging product stuff easy by pulling the logs. Learn how the new Sentry CLI helps you read remote logs and issues locally for faster troublesh...</p></div></article><article class="group flex flex-col"><a class="block mb-2 overflow-hidden rounded-md border border-border/40 bg-card transition-all group-hover:border-border/80" href="https://faster.dev/notes/some-git-worktree-thoughts-58"><div class="relative aspect-video"><div class="flex h-full items-center justify-center bg-[radial-gradient(circle_at_top_left,var(--color-pulse-100),transparent_40%),linear-gradient(135deg,var(--color-secondary),var(--color-background))] px-4 text-center"><span class="text-[10px] text-muted-foreground/40">Some git worktree thoughts</span></div><div class="absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors duration-500"></div><div class="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[10px] font-medium text-white/90 backdrop-blur-sm">4:21</div></div></a><div class="flex-1 flex flex-col px-0.5"><div class="mb-1 flex items-center justify-between gap-2"><time class="text-[10px] text-muted-foreground/60 font-medium">Mar 18</time><div class="flex gap-1.5">
88<span class="text-[10px] text-muted-foreground/50 font-medium">CLI</span></div></div><h3 class="mb-1.5"><a class="text-base font-semibold leading-tight hover:text-velocity-600 transition-colors block tracking-tight" href="https://faster.dev/notes/some-git-worktree-thoughts-58">Some git worktree thoughts</a></h3><p class="line-clamp-2 text-[13px] leading-snug text-muted-foreground/80">Git worktrees: Are they worth the hype? I'm not there yet! An alternative approach revealed.</p></div></article><article class="group flex flex-col"><a class="block mb-2 overflow-hidden rounded-md border border-border/40 bg-card transition-all group-hover:border-border/80" href="https://faster.dev/notes/creating-a-version-endpoint-57"><div class="relative aspect-video"><div class="flex h-full items-center justify-center bg-[radial-gradient(circle_at_top_left,var(--color-pulse-100),transparent_40%),linear-gradient(135deg,var(--color-secondary),var(--color-background))] px-4 text-center"><span class="text-[10px] text-muted-foreground/40">Creating a version endpoint</span></div><div class="absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors duration-500"></div><div class="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[10px] font-medium text-white/90 backdrop-blur-sm">4:29</div><div class="absolute top-2 left-2"><span data-slot="badge" class="inline-flex items-center transition-colors bg-accent text-accent-foreground text-[10px] px-1.5 py-0 rounded-sm h-4 font-semibold">Premium</span></div></div></a><div class="flex-1 flex flex-col px-0.5"><div class="mb-1 flex items-center justify-between gap-2"><time class="text-[10px] text-muted-foreground/60 font-medium">Mar 17</time><div class="flex gap-1.5"><span class="text-[10px] text-muted-foreground/50 font-medium">Automation</span></div></div><h3 class="mb-1.5"><a class="text-base font-semibold leading-tight hover:text-velocity-600 transition-colors block tracking-tight" href="https://faster.dev/notes/creating-a-version-endpoint-57">Creating a version endpoint</a></h3><p class="line-clamp-2 text-[13px] leading-snug text-muted-foreground/80">Deploying across services? Ensure end-to-end tests run on the correct version with a simple API for reporting commit hashes.</p></div></article><article class="group flex flex-col"><a class="block mb-2 overflow-hidden rounded-md border border-border/40 bg-card transition-all group-hover:border-border/80" href="https://faster.dev/notes/hope-is-not-a-strategy-49"><div class="relative aspect-video"><div class="flex h-full items-center justify-center bg-[radial-gradient(circle_at_top_left,var(--color-pulse-100),transparent_40%),linear-gradient(135deg,var(--color-secondary),var(--color-background))] px-4 text-center"><span class="text-[10px] text-muted-foreground/40">Hope is not a strategy</span></div><div class="absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors duration-500"></div><div class="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[10px] font-medium text-white/90 backdrop-blur-sm">4:43</div><div class="absolute top-2 left-2"><span data-slot="badge" class="inline-flex items-center transition-colors bg-accent text-accent-foreground text-[10px] px-1.5 py-0 rounded-sm h-4 font-semibold">Premium</span></div></div></a><div class="flex-1 flex flex-col px-0.5"><div class="mb-1 flex items-center justify-between gap-2"><time class="text-[10px] text-muted-foreground/60 font-medium">Mar 16</time><div class="flex gap-1.5"><span class="text-[10px] text-muted-foreground/50 font-medium">AI Design Tool</span></div></div><h3 class="mb-1.5"><a class="text-base font-semibold leading-tight hover:text-velocity-600 transition-colors block tracking-tight" href="https://faster.dev/notes/hope-is-not-a-strategy-49">Hope is not a strategy</a></h3><p class="line-clamp-2 text-[13px] leading-snug text-muted-foreground/80">Centralizing code cleanup in faster.dev & preventing future messes. Learn how architectural testing keeps your codebase maintainable.</p></div></article></div><div class="mt-12 text-center md:hidden"><a class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 px-8" href="/notes">View all field notes<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4 ml-2" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><section id="about-aaron" class="section px-4 md:px-10 bg-secondary overflow-hidden angle-br-up-24 angle-line-flux-energy" style="z-index:17;position:relative"><div class="absolute inset-0 pointer-events-none opacity-40" style="background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-1 11L11 -1' stroke='%23000' stroke-opacity='0.04' stroke-width='1' fill='none'/%3E%3C/svg%3E");background-size:10px 10px"></div><div class="relative z-10 max-w-6xl mx-auto grid items-center gap-10 lg:grid-cols-[minmax(0,420p
88x)_minmax(0,1fr)] lg:gap-14"><div class="relative"><div class="absolute inset-0 translate-x-3 translate-y-3 rounded-2xl border border-border/70 bg-muted/30"></div><div class="relative overflow-hidden rounded-2xl border border-border bg-muted/40"><img src="/images/aaron.jpg" alt="Aaron Francis" class="h-full w-full object-cover" loading="lazy"/></div></div><div><span class="mb-4 block text-xs text-muted-foreground">About Your Instructor</span><h2 class="text-4xl font-medium tracking-tight md:text-5xl">Build faster with someone who has shipped for decades.</h2><div class="mt-8 space-y-5 text-lg text-muted-foreground"><p>My name is Aaron Francis. I've been a professional software developer for over 20 years, served as both CTO and COO, and shipped dozens of products that made real money.</p><p>I created<!-- --> <a href="https://databaseschool.com" target="_blank" rel="noopener noreferrer" class="text-foreground underline decoration-border hover:decoration-foreground">Database School</a> <!-- -->and<!-- --> <a href="https://screencasting.com" target="_blank" rel="noopener noreferrer" class="text-foreground underline decoration-border hover:decoration-foreground">Screencasting.com</a>,<!-- --> <a href="https://soloterm.com" target="_blank" rel="noopener noreferrer" class="text-foreground underline decoration-border hover:decoration-foreground">Solo</a>, and<!-- --> <a href="https://github.com/aarondfrancis/counselors" target="_blank" rel="noopener noreferrer" class="text-foreground underline decoration-border hover:decoration-foreground">Counselors</a>, and built courses for<!-- --> <a href="https://laracasts.com" target="_blank" rel="noopener noreferrer" class="text-foreground underline decoration-border hover:decoration-foreground">Laracasts</a> <!-- -->and<!-- --> <a href="https://planetscale.com" target="_blank" rel="noopener noreferrer" class="text-foreground underline decoration-border hover:decoration-foreground">PlanetScale</a>.<!-- --> <!-- -->I'm an educator at heart.</p><p>Faster.dev is where I share the exact systems I use to ship high-quality software quickly with AI.</p></div><div class="mt-8 flex flex-wrap items-center gap-3"><a class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 px-8 rounded-sm" href="/series">Start watching<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right ml-2 h-4 w-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a href="https://aaronfrancis.com" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 px-8 rounded-sm">More about Aaron</a></div></div></div></section><section id="project-logs" class="section px-4 md:px-10 bg-background overflow-hidden angle-br-up-24 angle-line-blaze-pulse" style="z-index:16;position:relative"><div class="max-w-6xl mx-auto"><div data-slot="section-intro" class=""><div class="flex items-end justify-between mb-16"><div><span class="text-xs text-muted-foreground mb-4 block">03</span><h2 class="text-5xl md:text-6xl font-medium tracking-tight">Project Logs</h2><p class="text-xl text-muted-foreground mt-4 max-w-2xl">Follow behind the scenes as I build real products, with real users and real revenue.</p></div><a class="hidden md:flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors group" href="/projects">View all projects<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4 group-hover:translate-x-1 transition-transform" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="space-y-1"><article class="relative group py-8 border-b border-border -mx-6 px-6 hover:bg-muted/50 transition-colors"><a class="absolute inset-0 z-10" aria-label="View project faster.dev" href="/projects/faster-dev"></a><div class="relative flex items-start gap-4 md:gap-8"><span class="text-3xl md:text-5xl font-medium text-muted-foreground
88/20 w-10 md:w-16 shrink-0">01</span><div class="flex-1 min-w-0"><h3 class="flex items-baseline gap-3 mb-2"><span class="text-2xl group-hover:text-velocity-600 transition-colors">faster.dev</span><span class="text-xs text-muted-foreground">4<!-- --> <!-- -->updates</span></h3><div class="text-muted-foreground max-w-xl"><p>An AI-native learning platform for developers who want to ship faster. Follow along with real projects, stay current with the cutting edge, and learn how to leverage AI to build better software.</p></div><div class="flex flex-wrap gap-1 mt-3"><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Laravel</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">React</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Inertia.js</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Tailwind CSS</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">TypeScript</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Filament</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Stripe</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Postgres</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Laravel Forge</span></div></div><div class="hidden lg:flex items-center gap-6 shrink-0"><span class="text-sm text-muted-foreground">6 months ago</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5 text-muted-foreground opacity-0 group-hover:opacity-100 group-hover:translate-x-1 transition-all" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></article><article class="relative group py-8 border-b border-border -mx-6 px-6 hover:bg-muted/50 transition-colors"><a class="absolute inset-0 z-10" aria-label="View project Solo" href="/projects/solo"></a><div class="relative flex items-start gap-4 md:gap-8"><span class="text-3xl md:text-5xl font-medium text-muted-foreground/20 w-10 md:w-16 shrink-0">02</span><div class="flex-1 min-w-0"><h3 class="flex items-baseline gap-3 mb-2"><span class="text-2xl group-hover:text-velocity-600 transition-colors">Solo</span><span class="text-xs text-muted-foreground">10<!-- --> <!-- -->updates</span></h3><div class="text-muted-foreground max-w-xl"><p>An all-in-one desktop app for managing your local dev stack. Launch all your processes like npm, composer, queues, and servers in one place instead of scattered terminal tabs. Supports multiple projects with clean, organized output.</p></div><div class="flex flex-wrap gap-1 mt-3"><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Rust</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Tauri</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">TanStack</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">React</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Swift</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Stripe</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">SQLite</span></div><div class="flex items-center gap-4 mt-3"><a href="https://soloterm.com" target="_blank" rel="noopener noreferrer" class="relative z-30 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors">View website<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right w-3 h-3" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></div></div><div class="hidden lg:flex items-center gap-6 shrink-0"><span class="text-sm text-muted-foreground">6 months ago</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5 text-muted-foreground opacity-0 group-hover:opacity-100 group-hover:translate-x-1 transition-all" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></article><article class="relative group py-8 border-b border-border -mx-6 px-6 hover:bg-muted/50 transition-colors"><a class="absolute inset-0 z-10" aria-label="View project counselors (npm package)" href="/projects/counselors"></a><div class="relative flex items-start gap-4 md:gap-8"><span class="text-3xl md:text-5xl font-medium text-muted-foreground
88/20 w-10 md:w-16 shrink-0">03</span><div class="flex-1 min-w-0"><h3 class="flex items-baseline gap-3 mb-2"><span class="text-2xl group-hover:text-velocity-600 transition-colors">counselors (npm package)</span><span class="text-xs text-muted-foreground">2<!-- --> <!-- -->updates</span></h3><div class="text-muted-foreground max-w-xl">A CLI that fans out prompts to multiple AI coding agents in parallel and compares their output.</div><div class="flex flex-wrap gap-1 mt-3"><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">TypeScript</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Node.js</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Commander</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Vitest</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Biome</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">GitHub Actions</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">npm</span></div><div class="flex items-center gap-4 mt-3"><a href="https://github.com/aarondfrancis/counselors" target="_blank" rel="noopener noreferrer" class="relative z-30 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors">Repo<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right w-3 h-3" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a><a href="https://www.npmjs.com/package/counselors" target="_blank" rel="noopener noreferrer" class="relative z-30 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors">View website<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right w-3 h-3" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></div></div><div class="hidden lg:flex items-center gap-6 shrink-0"><span class="text-sm text-muted-foreground">7 months ago</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5 text-muted-foreground opacity-0 group-hover:opacity-100 group-hover:translate-x-1 transition-all" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></article><article class="relative group py-8 border-b border-border -mx-6 px-6 hover:bg-muted/50 transition-colors"><a class="absolute inset-0 z-10" aria-label="View project Loadout" href="/projects/loadout"></a><div class="relative flex items-start gap-4 md:gap-8"><span class="text-3xl md:text-5xl font-medium text-muted-foreground/20 w-10 md:w-16 shrink-0">04</span><div class="flex-1 min-w-0"><h3 class="flex items-baseline gap-3 mb-2"><span class="text-2xl group-hover:text-velocity-600 transition-colors">Loadout</span><span class="text-xs text-muted-foreground">1<!-- --> <!-- -->update</span></h3><div class="text-muted-foreground max-w-xl"><p>A desktop app for installing and managing AI coding tool integrations, registries, and MCP configuration from one place.</p></div><div class="flex flex-wrap gap-1 mt-3"><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Rust</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">Tauri</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">React</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">TypeScript</span><span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">TanStack Query</span>
88<span class="px-2 py-0.5 text-2xs text-muted-foreground/80 bg-muted rounded">SQLite</span></div></div><div class="hidden lg:flex items-center gap-6 shrink-0"><span class="text-sm text-muted-foreground">7 months ago</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5 text-muted-foreground opacity-0 group-hover:opacity-100 group-hover:translate-x-1 transition-all" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></article></div></div></section><section class="section px-4 md:px-10 bg-secondary overflow-hidden angle-br-up-24 angle-line-pulse-flux" style="z-index:15;position:relative"><div class="max-w-6xl mx-auto"><div data-slot="section-intro" class=""><div class="flex items-end justify-between mb-16"><div><span class="text-xs text-muted-foreground mb-4 block">04</span><h2 class="text-5xl md:text-6xl font-medium tracking-tight">Resources</h2><p class="text-xl text-muted-foreground mt-4 max-w-lg">Slash commands and workflows to accelerate your work.</p></div><a class="hidden md:flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors group" href="/skills">View all skills<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4 group-hover:translate-x-1 transition-transform" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="mb-12"><h3 class="text-xs text-muted-foreground mb-6">Slash Commands</h3><div class="grid md:grid-cols-3 gap-6"><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex gap-3 flex-col items-start mb-3"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-10 h-10 bg-velocity-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-velocity-600" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><h4 class="font-medium text-base">/test</h4></div></div><p class="text-muted-foreground text-sm mt-0">Auto-detect test framework, run suite, diagnose failures, fix them, re-run until green.</p></div><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex gap-3 flex-col items-start mb-3"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-10 h-10 bg-velocity-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-velocity-600" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><h4 class="font-medium text-base">/pr-create</h4></div></div><p class="text-muted-foreground text-sm mt-0">Commit, push, create PR, monitor CI, fix failures, request CodeRabbit review.</p></div><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex gap-3 flex-col items-start mb-3"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-10 h-10 bg-velocity-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-velocity-600" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><h4 class="font-medium text-base">/issue</h4></div></div><p class="text-muted-foreground text-sm mt-0">Fetch GitHub issue, create branch, write failing tests, implement fix, create PR.</p></div></div><div class="grid md:grid-cols-3 gap-6 mt-6"><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex gap-3 flex-col items-start mb-3"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-10 h-10 bg-velocity-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-velocity-600" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><h4 class="font-medium text-base">/visual-diff</h4></div></div><p class="text-muted-foreground text-sm mt-0">Screenshot two URLs, generate ImageMagick diff, fix visual discrepancies.</p></div><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex gap-3 flex-col items-start mb-3"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-10 h-10 bg-velocity-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-velocity-600" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><h4 class="font-medium text-base">/cleanup</h4></div></div><p class="text-muted-foreground text-sm mt-0">Parallel audit for dead code, missing tests, weak types, abstraction opportunities.</p></div><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex gap-3 flex-col items-start mb-3"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-10 h-10 bg-velocity-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-velocity-600" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><h4 class="font-medium text-base">/finalize</h4></div></div><p class="text-muted-foreground text-sm mt-0">Remove false starts, consolidate working code, run tests to verify clean state.</p></div></div><p class="text-sm text-muted-foreground mt-4 text-center">and dozens more</p></div><div class="mb-12"><h3 class="text-xs text-muted-foreground mb-6">Init Commands</h3><div class="grid md:grid-cols-2 gap-6"><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex flex-row items-start gap-6"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-12 h-12 bg-pulse-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers w-6 h-6 text-pulse-600" aria-hidden="true"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg></div></div><div class="flex-1 min-w-0"><h4 class="font-medium text-lg mb-2">/init-all</h4><p class="text-muted-foreground text-sm mt-0">Auto-detect your stack (Laravel, Rails, TanStack, React, Vue, Tailwind, Tari, etc.) and set up framework-specific guidelines.</p></div></div></div><div data-slot="feature-card" class="bg-card border border-border rounded-sm p-6"><div class="flex flex-row items-start gap-6"><div class="flex items-center gap-3"><div class="rounded-sm flex items-center justify-center shrink-0 w-12 h-12 bg-pulse-500/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers w-6 h-6 text-pulse-600" aria-hidden="true"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg></div></div><div class="flex-1 min-w-0"><h4 class="font-medium text-lg mb-2">/init-*</h4><p class="text-muted-foreground text-sm mt-0">50+ framework inits: React, Vue, Laravel, Filament, Tauri, Go CLI, Swift, and more. And the process to create your own.</p></div></div></div></div></div></div></section><section class="section-compact px-4 md:px-10 bg-void-900 overflow-hidden angle-br-up-24 angle-line-flux-velocity" style="z-index:14;position:relative"><div class="absolute inset-0 pointer-events-none opacity-20 " style="background-image:url("data:image/svg+xml,%3Csvg width='100' height='120' viewBox='0 0 100 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3C!-- Row 1: 0.3 opacity --%3E%3Cpath fill='%233b82f6' fill-opacity='0.3' d='M10 8v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23f472b6' fill-opacity='0.3' d='M30 8v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23fb923c' fill-opacity='0.35' d='M50 8v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%234ade80' fill-opacity='0.4' d='M70 8v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23a78bfa' fill-opacity='0.5' d='M90 8v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3C!-- Row 2: 0.5 opacity --%3E%3Cpath fill='%23a78bfa' fill-opacity='0.4' d='M10 28v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%233b82f6' fill-opacity='0.5' d='M30 28v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23f472b6' fill-opacity='0.6' d='M50 28v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23fb923c' fill-opacity='0.7' d='M70 28v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%234ade80' fill-opacity='0.8' d='M90 28v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3C!-- Row 3: 0.8 opacity --%3E%3Cpath fill='%234ade80' fill-opacity='0.7' d='M10 48v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23a78bfa' fill-opacity='0.8' d='M30 48v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%233b82f6' fill-opacity='1' d='M50 48v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23f472b6' fill-opacity='0.8' d='M70 48v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23fb923c' fill-opacity='0.7' d='M90 48v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3C!-- Row 4: 0.5 opacity --%3E%3Cpath fill='%23fb923c' fill-opacity='0.8' d='M10 68v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%234ade80' fill-opacity='0.7' d='M30 68v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23a78bfa' fill-opacity='0.6' d='M50 68v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%233b82f6' fill-opacity='0.5' d='M70 68v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23f472b6' fill-opacity='0.4' d='M90 68v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3C!-- Row 5: 0.3 opacity --%3E%3Cpath fill='%23f472b6' fill-opacity='0.5' d='M10 88v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23fb923c' fill-opacity='0.4' d='M30 88v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%234ade80' fill-opacity='0.35' d='M50 88v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23a78bfa' fill-opacity='0.3' d='M70 88v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%233b82f6' fill-opacity='0.3' d='M90 88v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3C!-- Row 6: 0.3 opacity --%3E%3Cpath fill='%233b82f6' fill-opacity='0.3' d='M10 108v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23f472b6' fill-opacity='0.35' d='M30 108v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23fb923c' fill-opacity='0.4' d='M50 108v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%234ade80' fill-opacity='0.5' d='M70 108v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3Cpath fill='%23a78bfa' fill-opacity='0.5' d='M90 108v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z'/%3E%3C/g%3E%3C/svg%3E");background-size:100px 120px"></div><div class="max-w-6xl mx-auto relative"><div class="grid grid-cols-2 lg:grid-cols-4 gap-4 md:gap-8 lg:gap-4"><div class="text-center"><span class="text-5xl md:text-6xl font-medium text-void-100 tracking-tight block mb-2">58</span><span class="text-void-100/80 font-medium block mb-1">Videos</span><span class="text-void-100/40 text-sm">across 10 series</span></div><div class="text-center"><span class="text-5xl md:text-6xl font-medium text-void-100 tracking-tight block mb-2">9</span><span class="text-void-100/80 font-medium block mb-1">Project Logs</span><span class="text-void-100/40 text-sm">4 still active</span></div><div class="text-center"><span class="text-5xl md:text-6xl font-medium text-void-100 tracking-tight block mb-2">35+</span><span class="text-void-100/80 font-medium block mb-1">Downloadable Files</span><span class="text-void-100/40 text-sm">slash commands, skills, rules</span></div><div class="text-center"><span class="text-5xl md:text-6xl font-medium text-void-100 tracking-tight block mb-2">30</span><span class="text-void-100/80 font-medium block mb-1">Day Guarantee</span><span class="text-void-100/40 text-sm">full refund, no questions</span></div></div></div></section><section id="pricing" class="section px-4 md:px-10 bg-background overflow-hidden angle-br-up-24 angle-line-velocity-pulse" style="z-index:13;position:relative"><div class="absolute inset-0 pointer-events-none opacity-50" style="background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-1 11L11 -1' stroke='%23000' stroke-opacity='0.04' stroke-width='1' fill='none'/%3E%3C/svg%3E");background-size:10px 10px"></div><div class="max-w-4xl mx-auto relative"><div class="text-center mb-16"><span class="text-xs text-muted-foreground mb-4 block">Membership</span><h2 class="text-4xl md:text-5xl lg:text-6xl font-medium tracking-tight mb-6">Everything you need to start.</h2><p class="text-xl text-muted-foreground max-w-2xl mx-auto">You already know how to build software. This is the setup, the systems, and the workflows that let you do it faster with AI.</p></div><div class="max-w-lg mx-auto"><div data-slot="pricing-card" class="rounded-sm relative bg-card border text-center p-10 border-velocity-500/30"><div class="absolute -top-3 left-6"><span data-slot="pricing-card-badge" class="px-3 py-1 text-xs border rounded-full text-velocity-600 bg-background border-velocity-500/30">Membership</span></div><div data-slot="pricing-card-price" class="flex items-baseline gap-2 justify-center mb-6"><span data-slot="pricing-card-price-value" class="font-medium text-6xl md:text-7xl tracking-tight text-foreground">$299</span><span data-slot="pricing-card-price-period" class="text-xl text-muted-foreground">/year</span></div><ul data-slot="pricing-card-features" class="text-left space-y-4 mb-10">
88<li data-slot="pricing-card-feature" class="flex items-start gap-3 text-sm text-foreground"><span class="w-5 h-5 rounded-full bg-pulse-500/10 flex items-center justify-center shrink-0"><span class="w-1.5 h-1.5 rounded-full bg-pulse-500"></span></span>All video series and new releases</li><li data-slot="pricing-card-feature" class="flex items-start gap-3 text-sm text-foreground"><span class="w-5 h-5 rounded-full bg-pulse-500/10 flex items-center justify-center shrink-0"><span class="w-1.5 h-1.5 rounded-full bg-pulse-500"></span></span>Complete slash command library</li><li data-slot="pricing-card-feature" class="flex items-start gap-3 text-sm text-foreground"><span class="w-5 h-5 rounded-full bg-pulse-500/10 flex items-center justify-center shrink-0"><span class="w-1.5 h-1.5 rounded-full bg-pulse-500"></span></span>Skills files for your stack</li><li data-slot="pricing-card-feature" class="flex items-start gap-3 text-sm text-foreground"><span class="w-5 h-5 rounded-full bg-pulse-500/10 flex items-center justify-center shrink-0"><span class="w-1.5 h-1.5 rounded-full bg-pulse-500"></span></span>MCP server configs and guides</li><li data-slot="pricing-card-feature" class="flex items-start gap-3 text-sm text-foreground"><span class="w-5 h-5 rounded-full bg-pulse-500/10 flex items-center justify-center shrink-0"><span class="w-1.5 h-1.5 rounded-full bg-pulse-500"></span></span>CLAUDE.md templates and rules</li><li data-slot="pricing-card-feature" class="flex items-start gap-3 text-sm text-foreground"><span class="w-5 h-5 rounded-full bg-pulse-500/10 flex items-center justify-center shrink-0"><span class="w-1.5 h-1.5 rounded-full bg-pulse-500"></span></span>Project logs and build-alongs</li><li data-slot="pricing-card-feature" class="flex items-start gap-3 text-sm text-foreground"><span class="w-5 h-5 rounded-full bg-pulse-500/10 flex items-center justify-center shrink-0"><span class="w-1.5 h-1.5 rounded-full bg-pulse-500"></span></span>Ongoing updates as tools evolve</li></ul><div class="mb-6"><label for="seat-select" class="sr-only">Team size</label><select id="seat-select" class="w-full h-11 px-3 rounded-sm border border-border bg-background text-foreground text-sm focus:outline-none focus:ring-2 focus:ring-velocity-500/30 appearance-none bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E')] bg-[length:16px] bg-[right_12px_center] bg-no-repeat"><option value="1" selected="">1 seat</option><option value="3">3 seats</option><option value="5">5 seats</option><option value="10">10 seats</option><option value="25">25 seats</option></select></div><a href="/checkout?price=price_1T2kr5LhLRFvaQfMNegOR46F" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-12 px-10 text-base w-full text-lg">Start subscription<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5 ml-2" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><div class="flex flex-wrap items-center justify-center gap-x-4 gap-y-1 mt-4 text-xs text-muted-foreground"><span>Cancel anytime</span><span>30-day full refund</span></div></div></div><div class="mt-16 text-center"><p class="text-lg text-foreground font-medium mb-2">Try it for 30 days. If it doesn't change how you work, get a full refund.</p><p class="text-muted-foreground">Didn't like it? No problem! Just email me at <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d7bfb2bbbbb897b1b6a4a3b2a5f9b3b2a1">[email protected]</a>.</p></div><div class="mt-20 max-w-2xl mx-auto text-center">
88<p class="text-lg text-foreground/80 italic mb-4 text-balance">"Aaron is incredible! Every video is packed full of useful information explaining concisely."</p><p class="text-muted-foreground">â Derek Door</p></div><div class="mt-16 max-w-xl mx-auto"><div data-slot="card" class="rounded-sm text-card-foreground border border-border p-6 bg-white"><p class="text-muted-foreground mb-4">Not ready to buy? Stay in the loop.</p><form class="flex flex-col gap-2"><div class="flex gap-2"><input data-slot="input" type="email" class="flex w-full rounded-sm border border-input bg-background text-foreground transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 px-3 py-2 h-11 text-sm" placeholder="[email protected]" required="" value=""/><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-10 px-4 py-2 shrink-0 min-w-[100px]" data-slot="button" type="submit">Subscribe</button></div></form></div></div></div></section><section class="section px-4 md:px-10 bg-background overflow-hidden angle-br-up-24 angle-line-pulse-energy" style="z-index:12;position:relative"><div data-slot="faq-section" class="max-w-3xl mx-auto"><div class="mb-12"><span class="text-xs text-muted-foreground mb-4 block">05</span><h2 class="text-4xl md:text-5xl font-medium tracking-tight">FAQ</h2></div><ul class="space-y-8"><li><h3 class="text-lg font-medium text-foreground mb-2">When is this launching?</h3><div class="text-muted-foreground leading-relaxed [&>p]:mb-3 [&>p:last-child]:mb-0"><p>We're live! You can sign up today and access all of the resources available with a membership. There's a few free resources if you want to check them out before signing up.</p></div></li><li><h3 class="text-lg font-medium text-foreground mb-2">What makes you the AI expert?</h3><div class="text-muted-foreground leading-relaxed [&>p]:mb-3 [&>p:last-child]:mb-0"><p>I'm a software engineer who's been building and shipping products for over two decades, and teaching developers for over a decade. I've mass-adopted AI tooling faster as fast as I can, not because I'm smarter, but because I have the time, the obsession, and the context to go deep. I test every new release, build real projects with these tools daily, and document what actually works.</p><p>You're getting the filtered version: the setups, patterns, and workflows that survived contact with production code.</p></div></li><li><h3 class="text-lg font-medium text-foreground mb-2">Can I use this stuff today?</h3><div class="text-muted-foreground leading-relaxed [&>p]:mb-3 [&>p:last-child]:mb-0"><p>Yes! You can use this stuff today!</p><p>The skills files and rules files are all downloadable. Copy them into your setup, tweak them for your stack, and start using them immediately. The videos show you how everything works together.</p><p>I'm optimizing for you to get up to speed quickly. If you want to watch a bunch of videos, that's also great. But you should see improvements from day one.</p></div></li><li><h3 class="text-lg font-medium text-foreground mb-2">What tools do you cover?</h3><div class="text-muted-foreground leading-relaxed [&>p]:mb-3 [&>p:last-child]:mb-0">Claude, Codex, Gemini, AMP, and V0.</div></li><li><h3 class="text-lg font-medium text-foreground mb-2">Will moving faster mean lower quality?</h3><div class="text-muted-foreground leading-relaxed [&>p]:mb-3 [&>p:last-child]:mb-0">No, that's the whole point. The systems I share (tests, CI/CD, proper architecture) are what make speed sustainable. You move faster because you're not constantly f
88ixing mistakes, rewriting code, or debugging production issues.</div></li><li><h3 class="text-lg font-medium text-foreground mb-2">What if AI tools change tomorrow?</h3><div class="text-muted-foreground leading-relaxed [&>p]:mb-3 [&>p:last-child]:mb-0">They will, and you've dealt with this before. Remember when jQuery was everywhere? When we all learned React? When serverless was the new thing? You adapted then, you'll adapt now. The difference is your fundamentals transfer. I focus on principles that work across tools, and I update the specific implementations as things evolve.</div></li><li><h3 class="text-lg font-medium text-foreground mb-2">How often is new content added?</h3><div class="text-muted-foreground leading-relaxed [&>p]:mb-3 [&>p:last-child]:mb-0">Regularly. Video series are released as I build them, project logs are updated as projects progress, and new resources are added as I develop them. Follow along as I ship.</div></li></ul></div></section><footer data-slot="site-footer" class="pt-32 pb-16 px-4 md:px-10 bg-void-900 selection:bg-velocity-500 selection:text-white"><div class="max-w-6xl mx-auto"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-6 gap-8"><div class="lg:col-span-2"><a class="text-2xl font-medium text-void-100 inline-block mb-4" href="/">faster<span class="text-velocity-400">.</span></a><p class="text-sm text-void-400 leading-relaxed mb-6 max-w-xs">AI-assisted development for experienced engineers. Systems, tools, and workflows that let you ship faster without sacrificing quality.</p><div class="flex items-center gap-4 mb-8"><a href="https://x.com/aarondfrancis" target="_blank" rel="noopener noreferrer" class="text-void-500 hover:text-void-100 transition-colors" aria-label="X"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a><a href="https://youtube.com/@aarondfrancis" target="_blank" rel="noopener noreferrer" class="text-void-500 hover:text-void-100 transition-colors" aria-label="YouTube"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path></svg></a><a href="https://linkedin.com/in/aarondfrancis" target="_blank" rel="noopener noreferrer" class="text-void-500 hover:text-void-100 transition-colors" aria-label="LinkedIn"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a></div><div><h4 class="text-sm font-medium text-void-100 mb-3">Stay updated</h4><div><form class="flex gap-2"><input data-slot="input" type="email" class="flex w-full rounded-sm border transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground focus-visible:outline-none focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 px-3 py-2 bg-void-800 border-void-700 text-void-100 placeholder:text-void-500 h-11 md:h-9 text-sm" placeholder="[email protected]" required="" value=""/><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 h-9 px-3 bg-velocity-600 hover:bg-velocity-500 text-white shrink-0" data-slot="button" type="submit">Subscribe</button></form></div></div></div><div><h4 class="text-sm font-medium text-void-100 mb-4">Series</h4><ul class="space-y-2"><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/series/claude-code-from-scratch">Claude Code from Scratch</a></li><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/series/init-commands-guardrails-from-the-start">Init Commands: Guardrails from the Start</a></li><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/series/designing-with-ai">Designing with AI</a></li><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/series/claude-skills">Claude Skills</a></li><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/series/auditing-your-code">Auditing Your Code</a></li><li><a class="text-sm text-velocity-400 hover:text-velocity-300 transition-colors inline-flex items-center gap-1" href="/series">View all<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-3 h-3" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></li></ul></div><div><h4 class="text-sm font-medium text-void-100 mb-4">Projects</h4><ul class="space-y-2"><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/projects/faster-dev">faster.dev</a></li><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/projects/solo">Solo</a></li><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/projects/counselors">counselors (npm package)</a></li><li><a class="text-sm text-void-400 hover:text-void-100 transition-colors" href="/projects/loadout">Loadout</a></li><li><a class="text-sm text-velocity-400 hover:text-velocity-300 transition-colors inline-flex items-center gap-1" href="/projects">View all<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-3 h-3" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></li></ul></div></div><div class="border-t border-void-800 mt-12 pt-12"><div class="grid grid-cols-1 lg:grid-cols-6 gap-12 lg:gap-8"><div class="lg:col-span-3"><h4 class="text-sm font-medium text-void-100 mb-3">About Aaron Francis <span class="font-normal text-void-400">(me, the guy who made this site)</span></h4><p class="text-sm text-void-400 leading-relaxed">I've been a professional developer for over 20 years, served as both CTO and COO at small companies, and worked as a marketing engineer. I've shipped dozens of projects that have made real money. These days I'm shipping projects and educating developers. I created<!-- --> <a href="https://databaseschool.com" target="_blank" rel="noopener noreferrer" class="text-velocity-400 hover:text-velocity-300">Database School</a>,<!-- --> <a href="https://screencasting.com" target="_blank" rel="noopener noreferrer" class="text-velocity-400 hover:text-velocity-300">Screencasting.com</a>,<!-- --> <a href="https://soloterm.com" target="_blank" rel="noopener noreferrer" class="text-velocity-400 hover:text-velocity-300">Solo</a>,<!-- --> <a href="https://github.com/aarondfrancis/counselors" target="_blank" rel="noopener noreferrer" class="text-velocity-400 hover:text-velocity-300">Counselors</a>, and courses on<!-- --> <a href="https://laracasts.com/series/developing-serverless-functions-in-laravel" target="_blank" rel="noopener noreferrer" class="text-velocity-400 hover:text-velocity-300">Laracasts</a>
88. Faster.dev is where I share everything I've learned about shipping quality software quickly with AI.</p></div></div></div><div class="border-t border-void-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center gap-4"><p class="text-sm text-void-500">© <!-- -->2026<!-- --> Try Hard Studios LLC. All rights reserved.</p><div class="flex items-center gap-6"><a class="text-sm text-void-500 hover:text-void-300 transition-colors" href="/manifesto">Manifesto</a><a class="text-sm text-void-500 hover:text-void-300 transition-colors" href="/privacy">Privacy Policy</a><a class="text-sm text-void-500 hover:text-void-300 transition-colors" href="/terms">Terms of Service</a></div></div></div></footer></div></div>
vendor: 112 bytes, line 88
88 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
88<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":"a16c62b4e6ee4937a063e93d1c0c27ac","r":1,"spa":2}' crossorigin="anonymous"></script>
88 89</body> 90</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.