[{"data":1,"prerenderedAt":302},["ShallowReactive",2],{"cs-leriche-poesie-en":3,"cs-all-en":288},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"client":10,"sector":11,"location":12,"year":13,"duration":14,"roles":15,"stack":20,"url":26,"image":27,"featured":28,"metrics":29,"gallery":42,"body":58,"_type":282,"_id":283,"_source":284,"_file":285,"_stem":286,"_extension":287},"\u002Fcase-studies\u002Fleriche-poesie","case-studies",false,"en","Leriche Poésie — a headless showcase to publish my poems","My own project: a fast, polished place to share my poetry widely, with email capture and a headless WordPress back-office to manage everything myself.","Etienne Leriche","Personal project · Poetry","Limoges, France",2026,"1 month",[16,17,18,19],"Branding","Content","Design","Development",[21,22,23,24,25],"Nuxt 4","Headless WordPress","GSAP","Vercel","Infomaniak","https:\u002F\u002Fleriche-poesie.fr","\u002Fimages\u002Fcase-studies\u002Fleriche-poesie\u002Fcover.jpg",true,[30,33,36,39],{"label":31,"value":32},"Lighthouse Performance (desktop)","95\u002F100",{"label":34,"value":35},"LCP (desktop)","1.2 s",{"label":37,"value":38},"First Contentful Paint","0.6 s",{"label":40,"value":41},"Visual stability (CLS)","0",[43,47,51,54],{"src":44,"alt":45,"size":46},"\u002Fimages\u002Fcase-studies\u002Fleriche-poesie\u002F01.jpg","GSAP-animated hero","large",{"src":48,"alt":49,"size":50},"\u002Fimages\u002Fcase-studies\u002Fleriche-poesie\u002F02.jpg","Logo simple","small",{"src":52,"alt":53,"size":50},"\u002Fimages\u002Fcase-studies\u002Fleriche-poesie\u002F03.jpg","Sample",{"src":55,"alt":56,"size":57},"\u002Fimages\u002Fcase-studies\u002Fleriche-poesie\u002F04.jpg","OG image","wide",{"type":59,"children":60,"toc":274},"root",[61,70,84,91,136,149,155,181,205,211,236,242],{"type":62,"tag":63,"props":64,"children":66},"element","h1",{"id":65},"leriche-poésie",[67],{"type":68,"value":69},"text","Leriche Poésie",{"type":62,"tag":71,"props":72,"children":73},"p",{},[74,76,82],{"type":68,"value":75},"This one's mine. I'm a poet in Limoges, and I wanted a place to ",{"type":62,"tag":77,"props":78,"children":79},"strong",{},[80],{"type":68,"value":81},"share my poetry widely",{"type":68,"value":83}," — not yet another slow, dated blog.",{"type":62,"tag":85,"props":86,"children":88},"h2",{"id":87},"the-brief-that-i-set-for-myself",[89],{"type":68,"value":90},"The brief (that I set for myself)",{"type":62,"tag":92,"props":93,"children":94},"ul",{},[95,106,116,126],{"type":62,"tag":96,"props":97,"children":98},"li",{},[99,104],{"type":62,"tag":77,"props":100,"children":101},{},[102],{"type":68,"value":103},"Fast.",{"type":68,"value":105}," A front-end that loads instantly.",{"type":62,"tag":96,"props":107,"children":108},{},[109,114],{"type":62,"tag":77,"props":110,"children":111},{},[112],{"type":68,"value":113},"Beautiful, but restrained.",{"type":68,"value":115}," A modern design, subtle animations, never gratuitous.",{"type":62,"tag":96,"props":117,"children":118},{},[119,124],{"type":62,"tag":77,"props":120,"children":121},{},[122],{"type":68,"value":123},"Manageable.",{"type":68,"value":125}," Publish a poem without touching the code.",{"type":62,"tag":96,"props":127,"children":128},{},[129,134],{"type":62,"tag":77,"props":130,"children":131},{},[132],{"type":68,"value":133},"Email capture",{"type":68,"value":135},", so readers get notified of new publications.",{"type":62,"tag":71,"props":137,"children":138},{},[139,141,147],{"type":68,"value":140},"The old version was a custom WordPress with a slightly ",{"type":62,"tag":142,"props":143,"children":144},"em",{},[145],{"type":68,"value":146},"outdated",{"type":68,"value":148}," design. I wanted the same authoring comfort, but with a modern stack on top.",{"type":62,"tag":85,"props":150,"children":152},{"id":151},"the-solution-headless",[153],{"type":68,"value":154},"The solution: headless",{"type":62,"tag":71,"props":156,"children":157},{},[158,160,165,167,172,174,179],{"type":68,"value":159},"I plugged a ",{"type":62,"tag":77,"props":161,"children":162},{},[163],{"type":68,"value":164},"headless WordPress",{"type":68,"value":166}," (custom plugin, ",{"type":62,"tag":142,"props":168,"children":169},{},[170],{"type":68,"value":171},"custom post types",{"type":68,"value":173}," for the poems) in as the back-office, and a ",{"type":62,"tag":77,"props":175,"children":176},{},[177],{"type":68,"value":178},"Nuxt 4 front-end",{"type":68,"value":180}," on top. Content stays manageable on the WordPress side; the experience is served by a fast, animated front-end.",{"type":62,"tag":71,"props":182,"children":183},{},[184,186,191,193,197,199,203],{"type":68,"value":185},"The whole thing ",{"type":62,"tag":77,"props":187,"children":188},{},[189],{"type":68,"value":190},"rebuilds automatically",{"type":68,"value":192}," on every publication (auto-build), between ",{"type":62,"tag":77,"props":194,"children":195},{},[196],{"type":68,"value":24},{"type":68,"value":198}," and ",{"type":62,"tag":77,"props":200,"children":201},{},[202],{"type":68,"value":25},{"type":68,"value":204},".",{"type":62,"tag":85,"props":206,"children":208},{"id":207},"the-result",[209],{"type":68,"value":210},"The result",{"type":62,"tag":71,"props":212,"children":213},{},[214,216,220,222,227,229,234],{"type":68,"value":215},"A pretty slick ",{"type":62,"tag":77,"props":217,"children":218},{},[219],{"type":68,"value":45},{"type":68,"value":221},", a ",{"type":62,"tag":77,"props":223,"children":224},{},[225],{"type":68,"value":226},"light \u002F dark mode",{"type":68,"value":228},", an ",{"type":62,"tag":77,"props":230,"children":231},{},[232],{"type":68,"value":233},"illustration per poem",{"type":68,"value":235},", content I manage on my own, and a lightning-fast front-end. A showcase worthy of the texts it holds.",{"type":62,"tag":85,"props":237,"children":239},{"id":238},"measured-performance",[240],{"type":68,"value":241},"Measured performance",{"type":62,"tag":71,"props":243,"children":244},{},[245,247,252,254,259,261,265,267,272],{"type":68,"value":246},"Despite the animated hero and the illustrations, the front-end stays light. Lighthouse (PageSpeed Insights), desktop, June 2026: ",{"type":62,"tag":77,"props":248,"children":249},{},[250],{"type":68,"value":251},"95\u002F100 in Performance",{"type":68,"value":253},", ",{"type":62,"tag":77,"props":255,"children":256},{},[257],{"type":68,"value":258},"LCP 1.2 s",{"type":68,"value":260},", First Contentful Paint ",{"type":62,"tag":77,"props":262,"children":263},{},[264],{"type":68,"value":38},{"type":68,"value":266},", and a ",{"type":62,"tag":77,"props":268,"children":269},{},[270],{"type":68,"value":271},"CLS of 0",{"type":68,"value":273}," (no layout shift).",{"title":275,"searchDepth":276,"depth":276,"links":277},"",2,[278,279,280,281],{"id":87,"depth":276,"text":90},{"id":151,"depth":276,"text":154},{"id":207,"depth":276,"text":210},{"id":238,"depth":276,"text":241},"markdown","content:en:case-studies:leriche-poesie.md","content","en\u002Fcase-studies\u002Fleriche-poesie.md","en\u002Fcase-studies\u002Fleriche-poesie","md",[289,292,295,296,299],{"_path":290,"title":291,"year":13},"\u002Fcase-studies\u002F2utech","2UTech — a tech brand built from scratch",{"_path":293,"title":294,"year":13},"\u002Fcase-studies\u002Fazur-nettoyage-limoges","Azur Nettoyage — recovering a site after an agency dispute",{"_path":4,"title":8,"year":13},{"_path":297,"title":298,"year":13},"\u002Fcase-studies\u002Fndong-hypnobienetre","Ndong Hypno Bien-Être — taking back control after a domain hijack",{"_path":300,"title":301,"year":13},"\u002Fcase-studies\u002Ftony-design","Tony Design — the studio that owns real bespoke",1782272005786]