[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-site-arneo":3},{"id":4,"title":5,"body":6,"client":5,"cover":53,"description":57,"draft":58,"extension":59,"gallery":60,"highlight":58,"links":69,"meta":73,"navigation":74,"path":75,"period":76,"role":77,"seo":78,"shortDescription":79,"sitemap":80,"stack":81,"stem":86,"year":87,"__hash__":88},"projectsEn\u002Fprojects\u002Fen\u002Fsite-arneo.md","Arneo",{"type":7,"value":8,"toc":45},"minimark",[9,14,18,22,25,29,32,35,38,42],[10,11,13],"h2",{"id":12},"context","Context",[15,16,17],"p",{},"Arneo rebuilt its agency website, a rich editorial site with a strong visual identity. Three demands drove the project: bold animations, solid performance and good search ranking, all on content that changes continuously. I was front-end lead on it.",[10,19,21],{"id":20},"role","Role",[15,23,24],{},"I led the front-end team while developing alongside it. The site runs on a headless Drupal, whose API the Next.js front end consumes. My work centered on the front-end architecture, around two priorities: performance and the freedom left to content editors.",[10,26,28],{"id":27},"delivery","Delivery",[15,30,31],{},"The front end is Next.js, server-rendered. On an editorial site whose content changes constantly, SSG was out: the render has to reflect the latest version on every visit, without giving up any speed or search ranking. Each page is built from blocks defined in Drupal, which a single component, the BlockManager, renders in the chosen order. Content editors compose their pages freely, with no limit on blocks and without touching the code.",[15,33,34],{},"Performance rests on a multi-level cache, from the front end with Next.js to the back end with Drupal. I built the entire front-end cache with Next.js; then, to invalidate a specific piece of content, I created an API reserved for the back end, letting it trigger that invalidation as soon as content is edited. Data shows almost instantly, without ever serving a stale version. That was the stake: on a site this loaded, with its visual layer and its third-party libraries, performance collapses without the cache.",[15,36,37],{},"The experience comes through in a committed art direction and in the animations, present across much of the site. Movements triggered on scroll, refined micro-interactions, with plenty of elements appearing on hover, down to animated SVGs. They give the site its rhythm, without ever overdoing it. Images load lazily, a placeholder giving way to the real visual once it is ready. CSS was favored over JavaScript wherever possible, to keep pages light and preserve real smoothness in the browser.",[10,39,41],{"id":40},"results","Results",[15,43,44],{},"The site has been live since mid-2025. The bet was to hold high performance despite a heavy visual load and many third-party libraries: Lighthouse measures, on desktop, 97 in performance, 96 in accessibility, 92 in best practices and 92 in SEO. The cache keeps them at that level despite everything the page carries.",{"title":46,"searchDepth":47,"depth":47,"links":48},"",2,[49,50,51,52],{"id":12,"depth":47,"text":13},{"id":20,"depth":47,"text":21},{"id":27,"depth":47,"text":28},{"id":40,"depth":47,"text":41},{"src":54,"width":55,"height":56},"\u002Fimg\u002FProjects\u002FArneo_Cover.jpg",2560,1440,"Full rebuild of the Arneo agency website, as front-end lead: an editorial site with a strong visual identity, server-rendered in Next.js on a headless Drupal, with a block system for content editors, a caching strategy for performance, and animations across much of the site.",false,"md",[61,63,67],{"src":62,"width":55,"height":56},"\u002Fimg\u002FProjects\u002FArneo_Gallery_Hero.jpg",{"src":64,"width":65,"height":66},"\u002Fimg\u002FProjects\u002FArneo_Gallery_Tile-1.jpg",1600,1200,{"src":68,"width":65,"height":66},"\u002Fimg\u002FProjects\u002FArneo_Gallery_Tile-2.jpg",[70],{"label":71,"href":72},"Website","https:\u002F\u002Farneo.io\u002Ffr",{},true,"\u002Fprojects\u002Fen\u002Fsite-arneo","2025","Lead Front-end",{"title":5,"description":57},"Rebuild of the Arneo agency's editorial site in Next.js (SSR) on a headless Drupal, with strong visual and performance stakes.",{"loc":75},[82,83,84,85],"Next.js","TypeScript","Drupal headless","Storybook","projects\u002Fen\u002Fsite-arneo",2025,"sC8vSGmTQHWl6VoWMOSJw4rifavcxprLKydprfFflb8"]