[{"data":1,"prerenderedAt":69},["ShallowReactive",2],{"post-\u002Fblog\u002Fbuilding-this-site":3},{"id":4,"title":5,"body":6,"date":57,"description":58,"extension":59,"meta":60,"navigation":61,"path":62,"seo":63,"stem":64,"tags":65,"__hash__":68},"blog\u002Fblog\u002Fbuilding-this-site.md","Building this site",{"type":7,"value":8,"toc":53},"minimark",[9,18,21,33,39,45],[10,11,12,13,17],"p",{},"Every product I ship lives on someone else's domain model — a template, a\nbilling provider, an app store's idea of what software is. This site is the\none place on the internet where the domain model is just ",[14,15,16],"em",{},"me",": the work, the\nrecipe box, the writing.",[10,19,20],{},"A few deliberate choices:",[10,22,23,27,28,32],{},[24,25,26],"strong",{},"Markdown all the way down."," Work writeups, recipes, and posts are all\nfiles in a git repo, rendered with Nuxt Content. No CMS, no database, nothing\nto migrate later. Adding a recipe is ",[29,30,31],"code",{},"git commit",".",[10,34,35,38],{},[24,36,37],{},"Fully static."," The whole site prerenders at build time and ships as flat\nfiles from Cloudflare's edge. There is no server to wake up, which is the\ncorrect amount of server for a personal site.",[10,40,41,44],{},[24,42,43],{},"Recipes are structured, not prose."," Ingredients live in frontmatter with\ngroups and gram weights, so the cook view can render a proper checklist and\nthe print stylesheet produces a page worth taping to a cabinet.",[10,46,47,48,32],{},"The rest of the how-it's-built details live in the\n",[49,50,52],"a",{"href":51},"\u002Fcolophon","colophon",{"title":54,"searchDepth":55,"depth":55,"links":56},"",2,[],"2026-08-30","Why a personal site in 2026, and the choices behind this one.","md",{},true,"\u002Fblog\u002Fbuilding-this-site",{"title":5,"description":58},"blog\u002Fbuilding-this-site",[66,67],"meta","nuxt","F7cwT97MY-C9UatJxeAOeutUlRsqgwt4uCuVkmzj1Pw",1788130349868]