[{"data":1,"prerenderedAt":76},["ShallowReactive",2],{"article-2026-03-14-nuxt-portfolio":3},{"title":4,"description":5,"date":6,"tags":7,"author":14,"thumbnail":18,"path":21,"body":22},"Building a personal portfolio with Nuxt 4","How to craft a personal site that doubles as a blog using Nuxt UI, Tailwind, and content-driven pages.","2026-03-14",[8,11],{"name":9,"slug":10},"Nuxt","nuxt",{"name":12,"slug":13},"Portfolio","portfolio",{"name":15,"avatar":16},"0x00webs",{"src":17,"alt":15},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F178827097",{"src":19,"alt":20},"\u002Fdefault-og-image.png","Nuxt portfolio","\u002Farticles\u002F2026-03-14-nuxt-portfolio",{"type":23,"value":24,"toc":69},"minimark",[25,29,34,42,46,66],[26,27,28],"p",{},"Creating a single project that serves as both a portfolio and a blog is one of the best ways to stay motivated while building in public.",[30,31,33],"h2",{"id":32},"why-nuxt","Why Nuxt?",[26,35,36,37,41],{},"Nuxt gives you server-side rendering, automatic routing, and a smooth developer experience out of the box. With ",[38,39,40],"code",{},"@nuxt\u002Fui",", you get a set of accessible UI primitives that are ready to use.",[30,43,45],{"id":44},"whats-in-this-site","What’s in this site",[47,48,49,53,60,63],"ul",{},[50,51,52],"li",{},"✅ A responsive header, theme toggle, and smooth transitions.",[50,54,55,56,59],{},"✅ Content driven by Markdown files in ",[38,57,58],{},"content\u002Farticles",".",[50,61,62],{},"✅ Search-friendly SEO and social previews.",[50,64,65],{},"✅ Nice defaults for dark mode, animations, and responsiveness.",[26,67,68],{},"Stay tuned for more posts as I keep building this site and sharing what I learn.",{"title":70,"searchDepth":71,"depth":71,"links":72},"",3,[73,75],{"id":32,"depth":74,"text":33},2,{"id":44,"depth":74,"text":45},1773510780870]