[{"data":1,"prerenderedAt":392},["ShallowReactive",2],{"nav":3,"page-\u002Fvueconf2025\u002Flightning-talks":155},[4,30,91,151],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Codestock2026","\u002Fcodestock2026","CodeStock2026",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"AI Reviewers By Avindra Fernando","\u002Fcodestock2026\u002Fai-reviewers-by-avindra-fernando","CodeStock2026\u002FAI Reviewers by Avindra Fernando",{"title":14,"path":15,"stem":16},"Containers","\u002Fcodestock2026\u002Fcontainers","CodeStock2026\u002FContainers",{"title":18,"path":19,"stem":20},"DX","\u002Fcodestock2026\u002Fdx","CodeStock2026\u002FDX",{"title":22,"path":23,"stem":24},"Github Actions","\u002Fcodestock2026\u002Fgithub-actions","CodeStock2026\u002FGithub Actions",{"title":26,"path":27,"stem":28},"ROI Of Automated Testing","\u002Fcodestock2026\u002Froi-of-automated-testing","CodeStock2026\u002FROI of Automated Testing",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Vueconf2025","\u002Fvueconf2025","VueConf2025",[35,39,43,47,51,55,59,63,67,71,75,79,83,87],{"title":36,"path":37,"stem":38},"20 Ways To Define Props In Vue 3 By Alex Riviere","\u002Fvueconf2025\u002F20-ways-to-define-props-in-vue-3-by-alex-riviere","VueConf2025\u002F20 Ways to Define Props in Vue 3 by Alex Riviere",{"title":40,"path":41,"stem":42},"Accessible Frontend Testing For Beginners By Henry Lie","\u002Fvueconf2025\u002Faccessible-frontend-testing-for-beginners-by-henry-lie","VueConf2025\u002FAccessible Frontend Testing for Beginners by Henry Lie",{"title":44,"path":45,"stem":46},"Constructing Clear, Comprehensible Components By David Nahodyl","\u002Fvueconf2025\u002Fconstructing-clear-comprehensible-components-by-david-nahodyl","VueConf2025\u002FConstructing Clear, Comprehensible Components by David Nahodyl",{"title":48,"path":49,"stem":50},"Dependency Injection By Robbie","\u002Fvueconf2025\u002Fdependency-injection-by-robbie","VueConf2025\u002FDependency Injection by Robbie",{"title":52,"path":53,"stem":54},"Fuzz To Function   Building AI First Vue Apps By Justin Schroeder","\u002Fvueconf2025\u002Ffuzz-to-function-building-ai-first-vue-apps-by-justin-schroeder","VueConf2025\u002FFuzz to Function - Building AI-first Vue Apps by Justin Schroeder",{"title":56,"path":57,"stem":58},"Grounding Gen AI By Daniel Madalitso Phiri","\u002Fvueconf2025\u002Fgrounding-gen-ai-by-daniel-madalitso-phiri","VueConf2025\u002FGrounding Gen AI by Daniel Madalitso Phiri",{"title":60,"path":61,"stem":62},"How To Ruin A User Interface By Kathryn Grayson Nanz","\u002Fvueconf2025\u002Fhow-to-ruin-a-user-interface-by-kathryn-grayson-nanz","VueConf2025\u002FHow to Ruin a User Interface by Kathryn Grayson Nanz",{"title":64,"path":65,"stem":66},"Lessons Learned From A Vue SaaS App By Abdelrahman Awad","\u002Fvueconf2025\u002Flessons-learned-from-a-vue-saas-app-by-abdelrahman-awad","VueConf2025\u002FLessons Learned from a Vue SaaS App by Abdelrahman Awad",{"title":68,"path":69,"stem":70},"Lightning Talks","\u002Fvueconf2025\u002Flightning-talks","VueConf2025\u002FLightning Talks",{"title":72,"path":73,"stem":74},"Nuxt Hidden Treasures By Alexander Lichter","\u002Fvueconf2025\u002Fnuxt-hidden-treasures-by-alexander-lichter","VueConf2025\u002FNuxt Hidden Treasures by Alexander Lichter",{"title":76,"path":77,"stem":78},"Nuxt Layers For Starter Projects By Dino Mastrianni","\u002Fvueconf2025\u002Fnuxt-layers-for-starter-projects-by-dino-mastrianni","VueConf2025\u002FNuxt Layers for Starter Projects by Dino Mastrianni",{"title":80,"path":81,"stem":82},"Soft Skills For Software Developers By Katherine Herbert","\u002Fvueconf2025\u002Fsoft-skills-for-software-developers-by-katherine-herbert","VueConf2025\u002FSoft Skills for Software Developers by Katherine Herbert",{"title":84,"path":85,"stem":86},"State Of Nuxt 2025 By Daniel Rowe","\u002Fvueconf2025\u002Fstate-of-nuxt-2025-by-daniel-rowe","VueConf2025\u002FState of Nuxt 2025 by Daniel Rowe",{"title":88,"path":89,"stem":90},"Vue Doo Magic AI Development Tricks By Daniel Kelly","\u002Fvueconf2025\u002Fvue-doo-magic-ai-development-tricks-by-daniel-kelly","VueConf2025\u002FVue-doo Magic AI Development Tricks by Daniel Kelly",{"title":92,"path":93,"stem":94,"children":95,"page":29},"Vueconf2026","\u002Fvueconf2026","VueConf2026",[96,100,104,108,112,116,120,123,127,131,135,139,143,147],{"title":97,"path":98,"stem":99},"Being A Vue Developer In The Age Of AI Coding Assistants By Erik Hanchett","\u002Fvueconf2026\u002Fbeing-a-vue-developer-in-the-age-of-ai-coding-assistants-by-erik-hanchett","VueConf2026\u002FBeing a Vue Developer in the Age of AI Coding Assistants by Erik Hanchett",{"title":101,"path":102,"stem":103},"Building Accessible Vue Enterprise Apps By Jeremy Rivera","\u002Fvueconf2026\u002Fbuilding-accessible-vue-enterprise-apps-by-jeremy-rivera","VueConf2026\u002FBuilding Accessible Vue Enterprise Apps by Jeremy Rivera",{"title":105,"path":106,"stem":107},"Escaping Pilot Purgatory By Martin Rojas","\u002Fvueconf2026\u002Fescaping-pilot-purgatory-by-martin-rojas","VueConf2026\u002FEscaping Pilot Purgatory by Martin Rojas",{"title":109,"path":110,"stem":111},"Guiding Agentic AI With Vue And Pinia By Rijk Van Zanten","\u002Fvueconf2026\u002Fguiding-agentic-ai-with-vue-and-pinia-by-rijk-van-zanten","VueConf2026\u002FGuiding Agentic AI with Vue and Pinia by Rijk van Zanten",{"title":113,"path":114,"stem":115},"How I AI From The Other Side Of The Org Chart By Daneez Zamangil","\u002Fvueconf2026\u002Fhow-i-ai-from-the-other-side-of-the-org-chart-by-daneez-zamangil","VueConf2026\u002FHow I AI from the Other Side of the Org Chart by Daneez Zamangil",{"title":117,"path":118,"stem":119},"Keynote By Evan You","\u002Fvueconf2026\u002Fkeynote-by-evan-you","VueConf2026\u002FKeynote by Evan You",{"title":68,"path":121,"stem":122},"\u002Fvueconf2026\u002Flightning-talks","VueConf2026\u002FLightning Talks",{"title":124,"path":125,"stem":126},"Maintainable Vue   Future Proof Patterns For Spaghetti Free Code By Chris Morrow","\u002Fvueconf2026\u002Fmaintainable-vue-future-proof-patterns-for-spaghetti-free-code-by-chris-morrow","VueConf2026\u002FMaintainable Vue - Future-proof patterns for spaghetti-free code by Chris Morrow",{"title":128,"path":129,"stem":130},"Possessed By Packages   Is Your JavaScript Haunted By Chris DeMars","\u002Fvueconf2026\u002Fpossessed-by-packages-is-your-javascript-haunted-by-chris-demars","VueConf2026\u002FPossessed by Packages - Is Your JavaScript Haunted by Chris DeMars",{"title":132,"path":133,"stem":134},"Stop Using One AI Tool For Everything   A Multitool Approach To Frontend Development By Will Marple","\u002Fvueconf2026\u002Fstop-using-one-ai-tool-for-everything-a-multitool-approach-to-frontend-development-by-will-marple","VueConf2026\u002FStop Using One AI Tool For Everything - A multitool approach to frontend development by Will Marple",{"title":136,"path":137,"stem":138},"The Future Of Web Development By Julian Burr","\u002Fvueconf2026\u002Fthe-future-of-web-development-by-julian-burr","VueConf2026\u002FThe Future of Web Development by Julian Burr",{"title":140,"path":141,"stem":142},"The Life Changing Art Of Being Wrong By Kathryn Grayson Nanz","\u002Fvueconf2026\u002Fthe-life-changing-art-of-being-wrong-by-kathryn-grayson-nanz","VueConf2026\u002FThe Life Changing Art of Being Wrong by Kathryn Grayson Nanz",{"title":144,"path":145,"stem":146},"Universal Lessons Learned From Legacy Codebases By Abbey Perini","\u002Fvueconf2026\u002Funiversal-lessons-learned-from-legacy-codebases-by-abbey-perini","VueConf2026\u002FUniversal Lessons Learned from Legacy Codebases by Abbey Perini",{"title":148,"path":149,"stem":150},"Vue Performance By Daniel Kelly","\u002Fvueconf2026\u002Fvue-performance-by-daniel-kelly","VueConf2026\u002FVue Performance by Daniel Kelly",{"title":152,"path":153,"stem":154},"Conference Notes","\u002F","index",{"id":156,"title":68,"body":157,"description":384,"extension":387,"meta":388,"navigation":389,"path":69,"seo":390,"stem":70,"__hash__":391},"content\u002FVueConf2025\u002FLightning Talks.md",{"type":158,"value":159,"toc":383},"minimark",[160],[161,162,163,228,291,338,363],"ul",{},[164,165,166,167],"li",{},"Handle Frontend Version Skew with Vite and Vue Router\n",[161,168,169,186],{},[164,170,171,172],{},"Frontend version skew is when a new build is deployed while connected clients still have the old website loaded\n",[161,173,174,177,180,183],{},[164,175,176],{},"Assets from previous deployment are deleted",[164,178,179],{},"Client tries to access chunk via router navigation and async import",[164,181,182],{},"Network request fails",[164,184,185],{},"Vue Router throws an error and stops navigation",[164,187,188,189],{},"How to fix:\n",[161,190,191,194,202,208],{},[164,192,193],{},"Catch async chunk loading errors",[164,195,196,197,201],{},"Catch router errors with ",[198,199,200],"code",{},"router.onError()"," hook. Verify the error is a chunk error",[164,203,204,207],{},[198,205,206],{},"vite:preloadError"," to the rescue",[164,209,210,211],{},"Combine with Vue Router\n",[161,212,213,218,223],{},[164,214,215],{},[198,216,217],{},"window.addEventListener(\"vite:preloadError\", event => {})",[164,219,220],{},[198,221,222],{},"router.onError",[164,224,225],{},[198,226,227],{},"reloadAppAtPath(to: RouteLocation) { const path = joinUrl(import.meta.env.Base_Url) }",[164,229,230,231],{},"Design Driven Prompts (Amazon Q)\n",[161,232,233,241,255],{},[164,234,235,236],{},"What is design driven prompts\n",[161,237,238],{},[164,239,240],{},"Keep track of progress, get insight into what Q is going to do next, provide sensible breakpoints for rollback, reference files for detailed instruction",[164,242,243,244],{},"Setup rules\n",[161,245,246,249,252],{},[164,247,248],{},"Using rules to define your style (eg. commit after every change)",[164,250,251],{},"Use Q CLI to write them",[164,253,254],{},"Helps avoid lengthy prompts to achieve baseline standards",[164,256,257,258],{},"How to begin\n",[161,259,260,263,280],{},[164,261,262],{},"Ask Q Dev what it should do",[164,264,265,266],{},"Include:\n",[161,267,268,271,274,277],{},[164,269,270],{},"Business Context",[164,272,273],{},"User Requirements",[164,275,276],{},"Functional Specs",[164,278,279],{},"Technical Details",[164,281,282,283],{},"Review\n",[161,284,285,288],{},[164,286,287],{},"Review markdown for inconsistencies, hallucinations, etc",[164,289,290],{},"Give it a markdown, review the markdown, have it implement each step one at a time",[164,292,293,294],{},"Side Projects\n",[161,295,296,299,302,313,324,332,335],{},[164,297,298],{},"Problems: either it keeps going and you never finish, or it's been dead but you keep updating it",[164,300,301],{},"Concept definition — self-initiated, driven by personal interest, curiosity, desire to learn",[164,303,304,305],{},"Side projects as a mentor\n",[161,306,307,310],{},[164,308,309],{},"Learn something new",[164,311,312],{},"MVP-ish project creates a journey of applied knowledge and a learning community",[164,314,315,316],{},"Side projects as a sidekick\n",[161,317,318,321],{},[164,319,320],{},"Self advocacy. Demonstrate competence\u002Fconfidence in something learned, understood, and applied to a problem",[164,322,323],{},"Code speaks for you",[164,325,326,327],{},"Side Projects: Why?\n",[161,328,329],{},[164,330,331],{},"Language\u002Ftooling changes, learning is continuous, docs don't always get it right",[164,333,334],{},"How? — define end goal, MoSCoW method (must-have, should, could, won't), smallest thing you can launch, regularly work on",[164,336,337],{},"Accessibility — not a backup thing. Now. Start with first requirement. Same with tests.",[164,339,340,341],{},"Autofix All the Vue Issues\n",[161,342,343,346],{},[164,344,345],{},"How do you know if your app breaks in production? Usually you find it yourself or a user reports it",[164,347,348,349],{},"Solution: Production Monitoring\n",[161,350,351,357,360],{},[164,352,353,356],{},[198,354,355],{},"@sentry\u002Fvue"," library",[164,358,359],{},"Trace context connects the dots. More context → AI gets supercharged",[164,361,362],{},"github.com\u002Fgetsentry\u002Fseer",[164,364,365,366],{},"Coding and ADHD: Where We Excel\n",[161,367,368,371,374,377,380],{},[164,369,370],{},"Distractibility — absorbing all the information, connections, pattern recognition, systems thinking",[164,372,373],{},"Creativity — hyperactivity, constantly brainstorming, reject the status quo, thinking outside the box",[164,375,376],{},"Hyperfocus — struggle to pull focus away, curiosity, don't stop to ask if it's hard, willing to work long hours",[164,378,379],{},"Rabbit holes",[164,381,382],{},"Easy to reset and reward — we love sprints and tickets",{"title":384,"searchDepth":385,"depth":385,"links":386},"",2,[],"md",{},true,{"description":384},"Sl1s7qBLaqy4Gj21ughG-8i15Z-n0zv2UAbhMhG_F7E",1780096770856]