Studio Ardenghi: an interior designer's website, with projects room by room and an admin panel to try

Demo website for a fictional interior designer in Bologna: projects told room by room, with an interactive floor plan, comparison sliders and material boards, a Journal in episodes and the contact form. The admin panel can be tried without an account: changes stay in the visitor's browser.

**Livia Ardenghi does not exist**: she is a fictional interior designer with a studio in Bologna, seven projects, five services and a Journal about renovating her own home. The website, on the other hand, is real: it is built like the ones I make for real studios, with the same pages and the same admin panel, and a strip at the top of every page says it is a demo. The 61 photos are generated on my computer's GPU with an open model, Z-Image-Turbo; the floor plans are drawn by code.

**What it does**

- **Projects room by room**: place, year and scope beside the story, the colours taken from the cover photo, which lightly tint the page, and a section for each room with its photos. - **The interactive floor plan**: rooms marked on the drawing, and a click takes you to their photos. - **Comparison sliders**: before and after, render and finished work, first idea and approved version. The slider moves with the mouse, a finger or the arrow keys. - **Material boards**, one per project, and a gallery that opens full screen. - **The magazine index**: year, title, place and category, with the photo appearing as you hover over a title, and filters by category. - **The Journal**: five episodes of the renovation, from the first visit to «Ci abitiamo» (we live here now). - **Italian and English**: visitors arriving from outside get one or the other, depending on their browser. - **Contact**: the form asks for the type of space, the service, timing and budget, and a service's button opens it with that service already chosen. Here it sends nothing.

**The admin panel, to try**

«Prova il pannello» (try the panel), in the strip, opens the admin panel without an account: you can change the home page, the projects and the photos, and the site shows your changes. They stay in your browser: the server never sees them, and there is nothing to moderate. A five-step guided tour ticks itself off. Almost everything is switched on and off from there: the floor plan, the index, the colours, the Journal.

**The hard part**

For the trial to work, the server's logic also runs in the browser. The site's services live in a package that the server runs on MongoDB and the trial on an in-memory store that behaves like MongoDB, with the same routes and the same schemas; a parity test sends the same requests to both and expects identical answers, errors included. The engine weighs about 47 KB compressed and only those who open the trial download it: the home page downloads about 93 KB of JavaScript in total.

Vue 3 and TypeScript, Fastify and MongoDB, with pages rendered on the server; every change goes through 177 automated tests and reaches the server with a GitHub Action.

Design, full-stack development and deployment · 2026

Vue.js, Fastify, MongoDB, Z-Image-Turbo, Vite

View the site

Andrea Coppetta