[{"data":1,"prerenderedAt":83},["ShallowReactive",2],{"site-settings":3,"page-colophon":76},{"global":4,"header":11,"footer":27},{"brandName":5,"brandStamp":6,"brandTagline":7,"communityUrl":8,"defaultSeoDescription":9,"defaultOgImage":10},"Useful Labs","est. 2025 · UK","Serious software, built out loud.","https:\u002F\u002Fcommunity.usefullabs.io","A product-led lab building production-grade platforms in the open — Sonic Artistes, Castora and more. A few times a year we take that same craft to a client build. Real software, shipped at product-team pace, shared honestly.",null,{"navLinks":12,"scarcityPulse":10,"showClock":25,"ctaLabel":26,"ctaUrl":8},[13,17,20,23],{"label":14,"url":15,"external":16},"Projects","\u002Fprojects",false,{"label":18,"url":19,"external":16},"Writing","\u002Fblog",{"label":21,"url":22,"external":16},"Tools","\u002Ftools",{"label":24,"url":8,"external":25},"The Hub",true,"Join the community",{"tagline":7,"aboutParagraph":28,"copyrightLine":29,"columns":30,"legalLinks":63},"A UK product lab, built in the open. Real production software, documented honestly — no hype, no highlights reel.","© Useful Labs {year} · Made in the UK with unusual patience.",[31,41,50],{"heading":14,"links":32},[33,36,39],{"label":34,"url":35,"external":25},"Sonic Artistes","https:\u002F\u002Fapp.sonicartistes.com",{"label":37,"url":38,"external":25},"Castora","https:\u002F\u002Fgetcastora.com",{"label":40,"url":15,"external":16},"Archive",{"heading":18,"links":42},[43,44,47],{"label":18,"url":19,"external":16},{"label":45,"url":46,"external":16},"RSS feed","\u002Frss.xml",{"label":48,"url":49,"external":16},"Newsletter","#newsletter",{"heading":51,"links":52},"Elsewhere",[53,54,57,60],{"label":24,"url":8,"external":25},{"label":55,"url":56,"external":25},"GitHub","https:\u002F\u002Fgithub.com\u002Fpaulwilliams-us",{"label":58,"url":59,"external":25},"X \u002F Twitter","https:\u002F\u002Fx.com",{"label":61,"url":62,"external":16},"Email","mailto:hello@usefullabs.io",[64,67,70,73],{"label":65,"url":66,"external":16},"Privacy","\u002Fprivacy",{"label":68,"url":69,"external":16},"Terms","\u002Fterms",{"label":71,"url":72,"external":16},"AI Policy","\u002Fai-policy",{"label":74,"url":75,"external":16},"Colophon","\u002Fcolophon",{"slug":77,"eyebrow":74,"h1":78,"subtitle":79,"bodyHtml":80,"seo":81},"colophon","How this site is built","","\u003Cp>usefullabs.io is statically generated with \u003Cstrong>Nuxt 4\u003C\u002Fstrong> and \u003Cstrong>Tailwind v4\u003C\u002Fstrong>, then deployed to \u003Cstrong>Cloudflare Pages\u003C\u002Fstrong> and served from its global CDN. There is no server at request time — every page is pre-rendered at build.\u003C\u002Fp>\u003Cp>Content lives in a self-hosted \u003Cstrong>Directus\u003C\u002Fstrong> instance at \u003Ccode>office.usefullabs.io\u003C\u002Fcode> and is fetched at build time; publishing a change fires a deploy hook that rebuilds the site. The interface is built with Vue 3 and shadcn-vue.\u003C\u002Fp>\u003Ch2>Type\u003C\u002Fh2>\u003Cp>The site runs four typefaces, each with a defined job:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Sora\u003C\u002Fstrong> — headings and structure\u003C\u002Fli>\u003Cli>\u003Cstrong>Instrument Serif\u003C\u002Fstrong> (italic) — the human, editorial voice\u003C\u002Fli>\u003Cli>\u003Cstrong>JetBrains Mono\u003C\u002Fstrong> — the machine voice: eyebrows, index codes, version stamps\u003C\u002Fli>\u003Cli>\u003Cstrong>Inter\u003C\u002Fstrong> — body text and UI\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Built in the open\u003C\u002Fh2>\u003Cp>This site — and the software behind it — is built with AI assistance, primarily Claude Code, with a human reviewing and approving every change before it ships. The build log and writing document the process honestly, decisions and mistakes included.\u003C\u002Fp>",{"title":74,"description":82,"ogImage":10,"noindex":16},"How usefullabs.io is built — stack, fonts, and credits.",1782519040036]