[{"data":1,"prerenderedAt":230},["ShallowReactive",2],{"topic-building-ai-products":3},[4,19,28,38,46,54,62,70,79,87,96,104,113,120,127,134,142,149,157,163,169,176,183,192,198,206,214,220],{"path":5,"title":6,"description":7,"type":8,"language":9,"tags":10,"date":16,"order":17,"cluster":18},"\u002Fblog\u002Fhow-i-decide-what-to-build-next","How I Decide What to Build Next","Deciding what to build next isn't the loudest feature request or the most satisfying refactor — it's the recurring problem I decided mattered, on purpose.","text",null,[11,12,13,14,15],"building-ai-products","roadmap","prioritization","product","solo-saas","2026-07-25",16.5,"process",{"path":20,"title":21,"description":22,"type":8,"language":9,"tags":23,"date":16,"order":27,"cluster":18},"\u002Fblog\u002Fhow-i-get-my-first-users","How I Get My First Users as a Solo Builder","How to get first users: don't broadcast to strangers. Go where people with the exact problem already are, show the solution, let content compound.",[11,24,25,26,15],"users","launch","distribution",17,{"path":29,"title":30,"description":31,"type":8,"language":9,"tags":32,"date":16,"order":36,"cluster":37},"\u002Fblog\u002Fhow-i-handle-auth-and-user-data-solo","How I Handle Auth, Security and User Data as a Solo Builder","Solo SaaS authentication done right: don't roll your own auth, collect the least data you can, and do the boring custodial parts deliberately.",[11,33,34,15,35],"security","auth","supabase",6.5,"stack",{"path":39,"title":40,"description":41,"type":8,"language":9,"tags":42,"date":16,"order":45,"cluster":18},"\u002Fblog\u002Fhow-i-handle-support-as-a-solo-builder","How I Handle Support as a Solo Builder","Solo SaaS support isn't a cost to minimize — early on it's the highest-signal feedback. Do it personally, treat every ticket as product research.",[11,43,14,15,44],"support","feedback",22,{"path":47,"title":48,"description":49,"type":8,"language":9,"tags":50,"date":16,"order":53,"cluster":18},"\u002Fblog\u002Fhow-i-onboard-users-to-a-solo-saas","How I Onboard Users to a Solo SaaS","SaaS onboarding has one job: get the user to the core outcome fast. Design it backward from that outcome — the shortest path from signup to real value.",[11,51,14,15,52],"onboarding","ux",19,{"path":55,"title":56,"description":57,"type":8,"language":9,"tags":58,"date":16,"order":61,"cluster":18},"\u002Fblog\u002Fhow-i-position-a-product","How I Position a Product (What It Actually Does)","Positioning is the one sentence that makes exactly the right person say 'that's for me' — a chosen problem and a chosen who, not a list of features.",[11,59,60,14,15],"positioning","messaging",20.5,{"path":63,"title":64,"description":65,"type":8,"language":9,"tags":66,"date":16,"order":69,"cluster":18},"\u002Fblog\u002Fhow-i-scope-an-mvp","How I Scope an MVP","How to scope an MVP: not the smallest thing you can build, but the smallest that's actually useful — one core result for one real user, everything else cut.",[11,67,14,68,15],"mvp","scope",16,{"path":71,"title":72,"description":73,"type":8,"language":9,"tags":74,"date":16,"order":78,"cluster":18},"\u002Fblog\u002Fhow-i-stay-sane-building-products-solo","How I Stay Sane Building Products Solo","Solo founder sustainability: narrow scope so there's less to hold, kill dead experiments, and refuse to read a product's numbers as a verdict on yourself.",[11,75,76,18,77],"solo-founder","sustainability","focus",22.5,{"path":80,"title":81,"description":82,"type":8,"language":9,"tags":83,"date":16,"order":86,"cluster":18},"\u002Fblog\u002Fhow-i-think-about-distribution-as-a-solo-builder","How I Think About Distribution as a Solo Builder","Solo founder distribution is the part builders skip, then wonder why nobody came. Make it a first-class decision and let the writing be the distribution.",[11,26,84,15,85],"marketing","content",14,{"path":88,"title":89,"description":90,"type":8,"language":9,"tags":91,"date":16,"order":95,"cluster":18},"\u002Fblog\u002Fhow-i-turn-a-rough-idea-into-a-claude-code-ticket","How I Turn a Rough Idea into a Claude Code Ticket","My Claude Code workflow for turning a rough idea into working code: write the outcome first, slice the smallest piece, and spec it tightly for an AI agent.",[11,92,93,94,15],"ai","claude-code","workflow",13,{"path":97,"title":98,"description":99,"type":8,"language":9,"tags":100,"date":16,"order":103,"cluster":18},"\u002Fblog\u002Fhow-i-use-analytics-as-a-solo-builder","How I Use Analytics as a Solo Builder","Analytics for a solo SaaS: track the few metrics that change a decision — activation, retention, revenue — and ignore the vanity numbers that inform nothing.",[11,101,102,15,14],"analytics","metrics",21,{"path":105,"title":106,"description":107,"type":8,"language":9,"tags":108,"date":16,"order":112,"cluster":18},"\u002Fblog\u002Fhow-i-write-a-product-landing-page","How I Write a Product Landing Page","A product landing page that converts names the visitor's problem and the outcome in the first line — not a hero of adjectives and features nobody reads.",[11,109,110,111,26],"landing-page","copywriting","conversion",17.5,{"path":114,"title":115,"description":116,"type":8,"language":9,"tags":117,"date":16,"order":119,"cluster":18},"\u002Fblog\u002Fmy-kill-criteria-for-product-experiments","My Kill Criteria for Product Experiments","Product kill criteria set in advance — what 'not working' looks like: no signal, no pull, no path to mattering — are what let you run many experiments.",[11,14,118,15],"experiments",9,{"path":121,"title":122,"description":123,"type":8,"language":9,"tags":124,"date":16,"order":126,"cluster":18},"\u002Fblog\u002Fsubscription-vs-one-time-pricing","How I Decide Subscription or One-Time Pricing","Subscription vs one-time pricing comes down to the shape of the value: ongoing use means subscription; a one-off result means one-time. Match price to value.",[11,125,14,15],"pricing",10,{"path":128,"title":129,"description":130,"type":8,"language":9,"tags":131,"date":16,"order":133,"cluster":18},"\u002Fblog\u002Fwhy-i-build-in-public","Why I Build in Public","Why build in public: for a solo expert, the writing is distribution, trust and accountability at once. Sharing decisions brings in the right people.",[11,132,85,26,15],"build-in-public",18,{"path":135,"title":136,"description":137,"type":8,"language":9,"tags":138,"date":16,"order":141,"cluster":18},"\u002Fblog\u002Fwhy-i-build-narrow-choosing-who-a-product-is-for","Why I Build Narrow: Choosing Who a Product Is For","Choosing a niche makes a product sharp: a product for everyone is for no one. Pick exactly who it's for and every decision gets easier. Narrower is clearer.",[11,139,140,14,15],"niche","audience",20,{"path":143,"title":144,"description":145,"type":8,"language":9,"tags":146,"date":16,"order":148,"cluster":18},"\u002Fblog\u002Fwhy-i-dont-offer-a-free-plan","Why I Don't Offer a Free Plan","Why no free plan: they attract people who'll never pay, create heavy support, and dilute focus. For a solo builder it's a tax on attention. A trial, yes.",[11,125,147,15,14],"free-plan",15,{"path":150,"title":151,"description":152,"type":8,"language":9,"tags":153,"date":155,"order":156,"cluster":18},"\u002Fblog\u002Fhow-i-decide-whether-an-ai-product-idea-is-worth-building","How I Decide Whether an AI Product Idea Is Worth Building","How to decide what product to build: the short filter I run every idea through — real recurring problem, one-sentence outcome, small enough to ship solo.",[11,14,154,15],"idea-validation","2026-07-24",2,{"path":158,"title":159,"description":160,"type":8,"language":9,"tags":161,"date":155,"order":162,"cluster":18},"\u002Fblog\u002Fhow-i-use-ai-without-letting-ai-decide","How I Use AI Without Letting AI Make Product Decisions","Using AI to build products means AI owns the how — code, scaffolding, drafts — while I keep the what and why: the problem, outcome, cuts and pricing.",[11,92,14,15],4,{"path":164,"title":165,"description":166,"type":8,"language":9,"tags":167,"date":155,"order":168,"cluster":18},"\u002Fblog\u002Fmy-product-operating-system","My Product Operating System for Building Multiple AI Apps","The product operating system I use to build several focused AI products solo: choosing which problem to build, shipping fast, and killing what isn't working.",[11,14,15,92,18],1,{"path":170,"title":171,"description":172,"type":8,"language":9,"tags":173,"date":155,"order":175,"cluster":37},"\u002Fblog\u002Fnuxt-and-supabase-solo-saas-stack","Nuxt and Supabase as a Solo SaaS Stack","The Nuxt and Supabase SaaS stack I run every product on: Nuxt for the full-stack app, Supabase for auth, Postgres and storage. One boring stack ships more.",[11,174,35,15,37],"nuxt",6,{"path":177,"title":178,"description":179,"type":8,"language":9,"tags":180,"date":155,"order":182,"cluster":18},"\u002Fblog\u002Fwhat-i-learned-building-multiple-products-at-once","What I Learned Building Multiple Products at Once","Building multiple products at once taught me focus isn't doing one thing — it's a system giving each the right attention at the right time. The lessons.",[11,14,15,77,181],"portfolio",12,{"path":184,"title":185,"description":186,"type":8,"language":9,"tags":187,"date":155,"order":191,"cluster":189},"\u002Fblog\u002Fwhy-delivery-sheet-has-four-decisions","Why Delivery Sheet Has Four Decisions: Commit, Shape, Pause or Decline","Most teams answer every ask with yes. Delivery Sheet forces one of four decisions — commit, shape, pause or decline — because 'yes by default' sinks delivery.",[11,188,189,14,190],"delivery-sheet","case-study","decisions",11,{"path":193,"title":194,"description":195,"type":8,"language":9,"tags":196,"date":155,"order":197,"cluster":189},"\u002Fblog\u002Fwhy-i-built-delivery-sheet","Why I Built Delivery Sheet","Why I built Delivery Sheet: on every programme, vague leadership asks became commitments before anyone knew scope, owner or outcome. Shape before you commit.",[11,188,189,14],7,{"path":199,"title":200,"description":201,"type":8,"language":9,"tags":202,"date":155,"order":205,"cluster":189},"\u002Fblog\u002Fwhy-i-built-listemizde-without-sponsored-rankings","Why I Built Listemizde Without Sponsored Rankings","Why I built Listemizde: local-business platforms are corrupted by paid rankings. It ranks by real community trust — one person, one vote, no sponsors.",[11,203,189,14,204],"listemizde","trust",8,{"path":207,"title":208,"description":209,"type":8,"language":9,"tags":210,"date":155,"order":213,"cluster":18},"\u002Fblog\u002Fwhy-i-write-the-expected-output-before-the-screen","Why I Write the Expected Output Before the Screen","Define the outcome before design: I write the exact result the user should get before building any screen, because the screen is only the path to an outcome.",[11,14,211,212],"design","outcomes",3,{"path":215,"title":216,"description":217,"type":8,"language":9,"tags":218,"date":155,"order":219,"cluster":18},"\u002Fblog\u002Fwhy-most-ai-built-apps-feel-like-demos","Why Most AI-Built Apps Feel Like Demos","Why AI apps feel like demos: they look finished but solve nothing — AI made the product decisions. It optimizes for plausible; products win by being pointed.",[11,92,14,15],5,{"path":221,"title":222,"description":223,"type":224,"language":9,"tags":225,"date":228,"order":229,"cluster":9},"\u002Fblog\u002F04-confirm-before-destroy","Confirm-before-destroy without the modal","Replace the 'are you sure?' modal with a two-step inline button that confirms in place — keeping users in flow and giving mistaken clicks a quiet way out.","pattern",[226,52,227],"ui","patterns","2026-05-05",23,1785182344336]