What I learned building the website of a land consultancy
25 pages, 8 filters and a panel built so the client stops needing me.
Asegest & Forbe sell and source land: urban, developable, industrial, rural, income-producing buildings and hotels. When I arrived, assets were shown over email, in PDFs and on third-party portals. The brief was a website. What was needed was something else.
What they asked for and what was needed
They asked for a good-looking, indexed website. But the real problem wasn't the design: it was that every price or status change depended on someone outside. If an asset sold on Tuesday, it stayed visible until somebody found a gap to touch it.
So the public site is half the job. The other half is the Central de Gestión: the panel they publish from, hide from, answer enquiries in and write the blog in — without touching code and without waiting for anyone to deploy.
What came out
- 25 prerendered pages. Every route is generated at build time as a physical HTML file with its own SEO and sitemap, so Google reads it without running JavaScript. In a catalogue that lives off appearing in search, that isn't a technical detail.
- 8 filters in the catalogue. Province, municipality, type, use, status, price, surface and buildability, with one cached query and all the filtering in the browser. Filtering stops costing money and stops being slow.
- Field-by-field visibility. And this is what I actually learned.
The lesson: hiding is not the same as not showing
In this sector, an asset's price, its land registry reference, its coordinates or its plans aren't always published. The first version I designed had a "visible" switch per field in the interface: if it was off, the value wasn't painted.
That's wrong, and it's wrong in a way you don't see until someone opens their browser's dev tools. The data was still travelling to the client.
The version that stayed does something else: what the client hides is never copied into the public document. It isn't hidden; it doesn't exist in what gets published. That's more modelling work and it means maintaining two documents instead of one, but it's the only way "hidden" means hidden.
What I take to the next commission
That the real deliverable isn't the website: it's the client no longer needing me day to day. Today they publish, hide and reply on their own, and the footer reads "Built by Kiacos". The project is still running — site and panel keep growing, and I'm now building the sales team's Android app — but that part no longer depends on me having a free afternoon.