[{"data":1,"prerenderedAt":325},["ShallowReactive",2],{"nav":3,"page-\u002Fvueconf2025\u002Fvue-doo-magic-ai-development-tricks-by-daniel-kelly":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":88,"body":157,"description":317,"extension":320,"meta":321,"navigation":322,"path":89,"seo":323,"stem":90,"__hash__":324},"content\u002FVueConf2025\u002FVue-doo Magic AI Development Tricks by Daniel Kelly.md",{"type":158,"value":159,"toc":316},"minimark",[160],[161,162,163,167,190,225,293],"ul",{},[164,165,166],"li",{},"Why AI? Produce code more quickly, surface solutions you might not think of, helps you think at a higher business level",[164,168,169,170],{},"Using AI to write code — Cursor\n",[161,171,172,175,178,181,184,187],{},[164,173,174],{},"Generates code in multiple files",[164,176,177],{},"Runs commands",[164,179,180],{},"Manage\u002Frevert with git",[164,182,183],{},"Writes file to system before accepting changes so you can preview output",[164,185,186],{},"Generating components, tests, or full features",[164,188,189],{},"Create a rules file",[164,191,192,193],{},"General Workflow Tips\n",[161,194,195,198,201,204,207,210,213,216,219,222],{},[164,196,197],{},"Generate a task list and ask AI to mark off tasks one at a time",[164,199,200],{},"Don't generate everything from scratch. Use libraries",[164,202,203],{},"Provide screenshots",[164,205,206],{},"Commit early and commit often",[164,208,209],{},"Don't trust the bot",[164,211,212],{},"Don't try to do everything at one time",[164,214,215],{},"Use .cursorrules or project rules for preferences and patterns",[164,217,218],{},"Copy and paste examples of your API payloads, JSON data, etc to pass the LLM",[164,220,221],{},"Make sure MCP is from a secure source as it can run commands on the machine",[164,223,224],{},"Context7 MCP",[164,226,227,228],{},"Using AI inside of the actual code\n",[161,229,230,262,276,279],{},[164,231,232,233],{},"Use Cases\n",[161,234,235,238,241,244,247,250,253,256,259],{},[164,236,237],{},"Extracting text from an image, generating image alts",[164,239,240],{},"Translating text to a different language",[164,242,243],{},"Semantic search with RAG",[164,245,246],{},"Summarizing content",[164,248,249],{},"Generating images and videos",[164,251,252],{},"Totally rethinking how users interact with your app",[164,254,255],{},"Use the right model for the right task to save money",[164,257,258],{},"Provide examples in the prompt",[164,260,261],{},"Ask for JSON-only responses from data (or XML)",[164,263,264,265],{},"AI SDK\n",[161,266,267,270,273],{},[164,268,269],{},"Unifies API for different providers",[164,271,272],{},"Support for tool calls",[164,274,275],{},"Supports streaming",[164,277,278],{},"AI for TypeScript",[164,280,281,282],{},"Issues\n",[161,283,284,287,290],{},[164,285,286],{},"Mitigate latency with streaming or queues as it is usually slow",[164,288,289],{},"JSON Reader — stream JSON incrementally",[164,291,292],{},"Chunk larger requests into smaller pieces. Instead of 30 questions, 10 at a time",[164,294,295,296],{},"Tools\n",[161,297,298,301,304,307,310,313],{},[164,299,300],{},"database.build",[164,302,303],{},"Supabase SQL AI — write queries, debug query issues, setup RLS policies, and more",[164,305,306],{},"Photoshop — generative fill, object removal, generative expand",[164,308,309],{},"Eleven Labs — convert text to (fairly convincing) speech",[164,311,312],{},"Runway — video generation",[164,314,315],{},"danielkelly.io",{"title":317,"searchDepth":318,"depth":318,"links":319},"",2,[],"md",{},true,{"description":317},"9Qqhd8yWYoAsXgYEWqRYgmeX6frYTsNOB9KmBrnvYzw",1780096771030]