[{"data":1,"prerenderedAt":483},["ShallowReactive",2],{"docsNavigation":3,"contentNavigation":145,"$f33KesTH4sSy4U-Njo2WelY7ftWNegNpenIZRZJMuYNY":225,"\u002Fblog\u002Fnuxt-boilerplate-for-solo-founders":228,"\u002Fblog\u002Fnuxt-boilerplate-for-solo-founders-blog-surround":476},[4,32,44,52,60,67,75,83,90,97,104,112,119,127,139],{"title":5,"path":6,"stem":7,"children":8,"icon":31},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started\u002F1.index",[9,11,15,19,23,27],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F01.getting-started\u002F2.installation",{"title":16,"path":17,"stem":18},"Setup","\u002Fdocs\u002Fgetting-started\u002Fsetup","docs\u002F01.getting-started\u002F3.setup",{"title":20,"path":21,"stem":22},"Pull Updates","\u002Fdocs\u002Fgetting-started\u002Fpull-updates","docs\u002F01.getting-started\u002F4.pull-updates",{"title":24,"path":25,"stem":26},"Deployment","\u002Fdocs\u002Fgetting-started\u002Fdeployment","docs\u002F01.getting-started\u002F5.deployment",{"title":28,"path":29,"stem":30},"Going to production","\u002Fdocs\u002Fgetting-started\u002Fgoing-to-production","docs\u002F01.getting-started\u002F6.going-to-production","i-lucide-square-play",{"title":33,"path":34,"stem":35,"children":36,"icon":43},"Architecture","\u002Fdocs\u002Farchitecture","docs\u002F02.architecture\u002F1.index",[37,39],{"title":38,"path":34,"stem":35},"Tech Stack",{"title":40,"path":41,"stem":42},"Layers","\u002Fdocs\u002Farchitecture\u002Flayers","docs\u002F02.architecture\u002F2.layers","i-lucide-layers",{"title":45,"path":46,"stem":47,"children":48,"icon":51},"Database","\u002Fdocs\u002Fdatabase","docs\u002F03.database\u002F1.index",[49],{"title":50,"path":46,"stem":47},"PostgreSQL","i-lucide-database",{"title":53,"path":54,"stem":55,"children":56,"icon":59},"Emails","\u002Fdocs\u002Femails","docs\u002F04.emails\u002F1.index",[57],{"title":58,"path":54,"stem":55},"Overview","i-lucide-mail",{"title":61,"path":62,"stem":63,"children":64,"icon":66},"Authentication","\u002Fdocs\u002Fauthentication","docs\u002F05.authentication\u002F1.index",[65],{"title":58,"path":62,"stem":63},"i-lucide-lock-keyhole",{"title":68,"path":69,"stem":70,"children":71,"icon":74},"Payments","\u002Fdocs\u002Fpayments","docs\u002F06.payments\u002F1.index",[72],{"title":73,"path":69,"stem":70},"Polar","i-lucide-circle-dollar-sign",{"title":76,"path":77,"stem":78,"children":79,"icon":82},"Admin","\u002Fdocs\u002Fadmin","docs\u002F07.admin\u002F1.index",[80],{"title":81,"path":77,"stem":78},"Features","i-lucide-user-cog",{"title":84,"path":85,"stem":86,"children":87,"icon":89},"Images","\u002Fdocs\u002Fimages","docs\u002F08.images\u002F1.index",[88],{"title":58,"path":85,"stem":86},"i-lucide-image",{"title":91,"path":92,"stem":93,"children":94,"icon":96},"i18n","\u002Fdocs\u002Fi18n","docs\u002F09.i18n\u002F1.index",[95],{"title":58,"path":92,"stem":93},"i-lucide-languages",{"title":98,"path":99,"stem":100,"children":101,"icon":103},"SEO","\u002Fdocs\u002Fseo","docs\u002F10.seo\u002F1.index",[102],{"title":58,"path":99,"stem":100},"i-lucide-globe",{"title":105,"path":106,"stem":107,"children":108,"icon":111},"Analytics","\u002Fdocs\u002Fanalytics","docs\u002F11.analytics\u002F1.index",[109],{"title":110,"path":106,"stem":107},"Umami","i-lucide-chart-line",{"title":113,"path":114,"stem":115,"children":116,"icon":118},"Security","\u002Fdocs\u002Fsecurity","docs\u002F12.security\u002F1.index",[117],{"title":58,"path":114,"stem":115},"i-lucide-file-lock",{"title":120,"path":121,"stem":122,"children":123,"icon":126},"Testing","\u002Fdocs\u002Ftesting","docs\u002F13.testing\u002F1.index",[124],{"title":125,"path":121,"stem":122},"E2E Testing","i-lucide-test-tube",{"title":128,"path":129,"stem":130,"children":131,"icon":138},"Support","\u002Fdocs\u002Fsupport","docs\u002F14.support\u002F1.index",[132,134],{"title":133,"path":129,"stem":130},"Help",{"title":135,"path":136,"stem":137},"Troubleshooting","\u002Fdocs\u002Fsupport\u002Ftroubleshooting","docs\u002F14.support\u002F2.troubleshooting","i-lucide-message-circle-question",{"title":140,"path":141,"stem":142,"children":143},"LLMs","\u002Fdocs\u002Fllms","docs\u002F15.llms\u002F1.index",[144],{"title":140,"path":141,"stem":142},[146,168],{"title":147,"path":148,"stem":149,"children":150,"page":167},"Blog","\u002Fblog","blog",[151,155,159,163],{"title":152,"path":153,"stem":154},"How to Build a SaaS with Nuxt 4, better-auth, and Polar","\u002Fblog\u002Fbuild-saas-with-nuxt-4-better-auth-polar","blog\u002Fbuild-saas-with-nuxt-4-better-auth-polar",{"title":156,"path":157,"stem":158},"DIY vs Nuxt Starter Kit — The Real Cost of Auth and Payments","\u002Fblog\u002Fdiy-vs-nuxt-starter-kit-cost","blog\u002Fdiy-vs-nuxt-starter-kit-cost",{"title":160,"path":161,"stem":162},"Nuxt Boilerplate for Solo Founders — Ship Without Rebuilding Foundations","\u002Fblog\u002Fnuxt-boilerplate-for-solo-founders","blog\u002Fnuxt-boilerplate-for-solo-founders",{"title":164,"path":165,"stem":166},"Best Nuxt SaaS Boilerplate in 2026 — What Actually Matters","\u002Fblog\u002Fnuxt-saas-boilerplate-comparison","blog\u002Fnuxt-saas-boilerplate-comparison",false,{"title":169,"path":170,"stem":171,"children":172,"page":167},"Documentation","\u002Fdocs","docs",[173,181,185,188,191,194,197,200,203,206,209,212,215,218,222],{"title":5,"path":6,"stem":7,"children":174,"icon":31},[175,176,177,178,179,180],{"title":10,"path":6,"stem":7},{"title":12,"path":13,"stem":14},{"title":16,"path":17,"stem":18},{"title":20,"path":21,"stem":22},{"title":24,"path":25,"stem":26},{"title":28,"path":29,"stem":30},{"title":33,"path":34,"stem":35,"children":182,"icon":43},[183,184],{"title":38,"path":34,"stem":35},{"title":40,"path":41,"stem":42},{"title":45,"path":46,"stem":47,"children":186,"icon":51},[187],{"title":50,"path":46,"stem":47},{"title":53,"path":54,"stem":55,"children":189,"icon":59},[190],{"title":58,"path":54,"stem":55},{"title":61,"path":62,"stem":63,"children":192,"icon":66},[193],{"title":58,"path":62,"stem":63},{"title":68,"path":69,"stem":70,"children":195,"icon":74},[196],{"title":73,"path":69,"stem":70},{"title":76,"path":77,"stem":78,"children":198,"icon":82},[199],{"title":81,"path":77,"stem":78},{"title":84,"path":85,"stem":86,"children":201,"icon":89},[202],{"title":58,"path":85,"stem":86},{"title":91,"path":92,"stem":93,"children":204,"icon":96},[205],{"title":58,"path":92,"stem":93},{"title":98,"path":99,"stem":100,"children":207,"icon":103},[208],{"title":58,"path":99,"stem":100},{"title":105,"path":106,"stem":107,"children":210,"icon":111},[211],{"title":110,"path":106,"stem":107},{"title":113,"path":114,"stem":115,"children":213,"icon":118},[214],{"title":58,"path":114,"stem":115},{"title":120,"path":121,"stem":122,"children":216,"icon":126},[217],{"title":125,"path":121,"stem":122},{"title":128,"path":129,"stem":130,"children":219,"icon":138},[220,221],{"title":133,"path":129,"stem":130},{"title":135,"path":136,"stem":137},{"title":140,"path":141,"stem":142,"children":223},[224],{"title":140,"path":141,"stem":142},{"amount":226,"formatted":227},99,"$99",{"id":229,"title":160,"body":230,"date":463,"description":464,"draft":167,"extension":465,"image":466,"meta":467,"navigation":468,"path":161,"seo":469,"sitemap":470,"stem":162,"tags":471,"__hash__":475},"blog\u002Fblog\u002Fnuxt-boilerplate-for-solo-founders.md",{"type":231,"value":232,"toc":447},"minimark",[233,242,249,254,257,270,273,287,290,294,299,305,309,312,316,319,323,326,330,333,364,373,377,395,398,402,405,419,422,426,429],[234,235,236,237,241],"p",{},"Solo founders do not lose months because they cannot write a Vue component. They lose months re-solving ",[238,239,240],"strong",{},"shared infrastructure",": auth, billing, admin, security, and project structure.",[234,243,244,245,248],{},"A good ",[238,246,247],{},"Nuxt boilerplate"," is leverage. A bad one is a costume party for technical debt.",[250,251,253],"h2",{"id":252},"ai-changed-feature-speed-not-foundation-risk","AI changed feature speed, not foundation risk",[234,255,256],{},"In 2026, AI can generate:",[258,259,260,264,267],"ul",{},[261,262,263],"li",{},"CRUD screens",[261,265,266],{},"Marketing sections",[261,268,269],{},"Straightforward API handlers",[234,271,272],{},"It still struggles to consistently deliver:",[258,274,275,278,281,284],{},[261,276,277],{},"Correct auth session lifecycle",[261,279,280],{},"Payment webhook correctness",[261,282,283],{},"Safe admin impersonation",[261,285,286],{},"Coherent long-term architecture",[234,288,289],{},"If your plan is “ChatGPT the whole SaaS,” you will still need a durable base. The boilerplate question is whether you invent that base or reuse one.",[250,291,293],{"id":292},"what-solo-founders-should-optimize-for","What solo founders should optimize for",[295,296,298],"h3",{"id":297},"_1-time-to-first-paid-user","1. Time-to-first-paid-user",[234,300,301,302],{},"Not stars on GitHub. Not perfect abstraction. ",[238,303,304],{},"Days until someone can buy.",[295,306,308],{"id":307},"_2-removable-opinions","2. Removable opinions",[234,310,311],{},"You want structure, not a prison. Layers or packages you can delete beat a mega-template you must rewrite.",[295,313,315],{"id":314},"_3-vendor-freedom","3. Vendor freedom",[234,317,318],{},"Hosting lock-in is optional pain. Prefer a kit that deploys to common Node hosts.",[295,320,322],{"id":321},"_4-one-time-economics-when-possible","4. One-time economics when possible",[234,324,325],{},"Subscriptions for a boilerplate can make sense. For many founders, a one-time license matches the “own the code” mental model.",[250,327,329],{"id":328},"a-founder-friendly-nuxt-stack","A founder-friendly Nuxt stack",[234,331,332],{},"A practical baseline:",[258,334,335,341,347,353,358,361],{},[261,336,337,340],{},[238,338,339],{},"Nuxt 4"," application framework",[261,342,343,346],{},[238,344,345],{},"better-auth"," for authentication",[261,348,349,352],{},[238,350,351],{},"PostgreSQL + Drizzle"," for data",[261,354,355,357],{},[238,356,73],{}," for payments \u002F MoR",[261,359,360],{},"Security defaults (headers, rate limits)",[261,362,363],{},"Admin tooling for support reality",[234,365,366,367,372],{},"That stack is what ",[368,369,371],"a",{"href":370},"\u002F","Nuxt Starter Kit"," packages so you start on product work sooner.",[250,374,376],{"id":375},"how-to-use-a-boilerplate-without-becoming-dependent","How to use a boilerplate without becoming dependent",[378,379,380,383,386,389,392],"ol",{},[261,381,382],{},"Buy\u002Fuse the kit for foundations",[261,384,385],{},"Delete layers you do not need",[261,387,388],{},"Keep product domain code clearly separated",[261,390,391],{},"Pull upstream updates only when they reduce risk",[261,393,394],{},"Write your own tests around billing and auth paths you care about",[234,396,397],{},"The goal is not “never touch infrastructure.” The goal is “do not rebuild infrastructure every project.”",[250,399,401],{"id":400},"content-and-distribution-still-matter","Content and distribution still matter",[234,403,404],{},"A strong kit does not invent distribution. Once the product works, you still need:",[258,406,407,410,413,416],{},[261,408,409],{},"SEO pages that answer buyer questions",[261,411,412],{},"A demo people can click",[261,414,415],{},"Proof from real projects",[261,417,418],{},"Places Nuxt developers already gather",[234,420,421],{},"(This blog exists for that reason.)",[250,423,425],{"id":424},"bottom-line","Bottom line",[234,427,428],{},"If you are a solo founder building on Nuxt, your scarce resource is focus. Spend it on the unique product loop — not on re-implementing sessions and webhooks for the third time.",[234,430,431,432,434,435,439,440,446],{},"Explore the ",[368,433,171],{"href":6},", see ",[368,436,438],{"href":437},"\u002Fpricing","what’s included",", or open the ",[368,441,445],{"href":442,"rel":443},"https:\u002F\u002Fdemo.nuxtstarterkit.com",[444],"nofollow","demo"," and decide if the foundation matches how you ship.",{"title":448,"searchDepth":449,"depth":449,"links":450},"",2,[451,452,459,460,461,462],{"id":252,"depth":449,"text":253},{"id":292,"depth":449,"text":293,"children":453},[454,456,457,458],{"id":297,"depth":455,"text":298},3,{"id":307,"depth":455,"text":308},{"id":314,"depth":455,"text":315},{"id":321,"depth":455,"text":322},{"id":328,"depth":449,"text":329},{"id":375,"depth":449,"text":376},{"id":400,"depth":449,"text":401},{"id":424,"depth":449,"text":425},"2026-08-05","Why solo founders should treat a Nuxt boilerplate as leverage, not a shortcut — and what to look for when AI can generate features but not a durable product foundation.","md",null,{},true,{"title":160,"description":464},{"loc":161},[472,473,474],"Solo Founders","Nuxt","AI","cYO5QrvCkMRlEzp4uLyNd9oz3axarGR-ZwVHQo0f5LI",[477,480],{"title":156,"path":157,"stem":158,"description":478,"date":479,"children":-1},"A realistic breakdown of what it costs (in hours) to build Nuxt SaaS foundations yourself versus starting from a production boilerplate.","2026-08-06",{"title":164,"path":165,"stem":166,"description":481,"date":482,"children":-1},"A practical checklist for choosing a Nuxt SaaS boilerplate — auth, payments, architecture, and maintenance — so you do not buy a pretty starter that falls apart in production.","2026-08-08",1786184750446]