Demo website of an invented estate agency on Lake Como: the home page is a film that scrolls from the lake down to the search, then 24 listings in 14 areas with a map of the lake, property pages with a gallery and a mortgage section with real ECB data. The owner's admin panel can be tried without an account, and changes stay in the browser.
**Ardesia Immobiliare does not exist**: it is an invented estate agency on Lake Como, built the way I build websites for real businesses. The listings, the people and the photos are invented, and the photos were generated on my computer's GPU with an open model; the mortgage data is real, downloaded from the European Central Bank and Eurostat. The site says so on every page.
**What it does**
- **The home page is a film**: as you scroll you descend over the lake, step into the living room of a villa and stop on a terrace at sunset, where the search begins. - **The search**: 24 listings in 14 areas, with filters for contract, type, area, price, floor area, rooms and features, and a map view of the lake that filters the list. - **The property pages**: a full-screen gallery, technical details with the energy class, the area, and a request to book a viewing. - **Mortgages and partners**: rates on new home loans in Italy since 2015 with Euribor and the ECB rate, house prices, a repayment calculator and the professionals the agency trusts. - **Visitor statistics**, with no cookies and without storing visitors' addresses.
**The admin panel, to try without an account**
The owner updates everything from a panel designed for the phone: listings with their photos, incoming requests, partners, people, texts, the colour and the sections of the site, with «Ripristina» (undo) after every save and a bin. From the site, «Prova il pannello» (try the panel) opens it without an account: changes stay in the visitor's browser, because the server logic runs there, on a copy of the data.
**The hard part**
Running the same logic in two places, on the server with MongoDB and in the browser for the trial, without the two versions drifting apart. The services live in a shared package on top of a data contract, and an automated test sends the same requests to the server and to the copy in the browser and expects identical answers. And the home page film weighs 0.90 MB on first load on a computer: the later scenes are downloaded as you scroll.
Vue 3 and TypeScript, Fastify and MongoDB, GSAP for the film, ECharts for the charts; every change goes through 381 automated tests, and the site is deployed on my own server, with a nightly copy of the database.
Design, full-stack development and deployment · 2026
Vue.js, Fastify, MongoDB, GSAP, Z-Image-Turbo