Skip to content

—Concept build · WordPress, Elementor and a custom plugin

← Projects

2026Concept build · WordPress, Elementor and a custom pluginLIVE

Forma

A portfolio site for a fictional architecture studio in Lisbon — a WordPress build where the buildings are 3D study models you can turn, and the motion, the project index and the enquiry log live in a plugin written for it.

The Forma identity board: the wordmark and the line "Architecture & Interior Design" beside four screens of the site — the "Buildings, first as models." hero with a 3D study model, a dark Selected Work carousel, a six-discipline services list and a project page for House in Nature
Role
Solo designer and developer
Platform
WordPress + Elementor, custom plugin and child theme
Scope
11 projects, 6 services, 6-stage process
Client
None — fictional studio
WordPressElementorPHPJavaScriptThree.jsGSAPLenisContact Form 7

01Outcome

projects, each with its own page and gallery
11
cookies, analytics or third-party requests
0
services and process stages, all editable
6

02The story

What it is

A website for an architecture and interiors studio in Lisbon that does not exist. I made it to answer one question: what would I build if I were handed this brief with no constraints except that it must be editable by someone who is not a developer?

The answer was WordPress and Elementor for the parts a studio will change every week — projects, services, the studio page — and a small plugin for the parts that make it feel designed rather than assembled.

The idea: buildings first as models

Studios like this live or die on their images, and the usual site hides the work behind a grid of photographs. Forma's line is that every building starts as a physical model on a table, so the homepage shows one: a 3D study model of a house you can look at from different sides, labelled like a maquette. Project pages carry an "Exploded view" of their own model.

It is a point of view rather than a decoration. The three claims on the homepage — two site visits before a line is drawn, forty foam models for one house, details made to last a hundred years — are the same idea in numbers.

How it is built

WordPress, Elementor and a child theme. Hello Elementor underneath, a child theme on top that carries the type, spacing and component styles, so the visual system lives in one stylesheet and not scattered across page-builder settings.

A plugin written for the site. forma-studio-engine owns everything that a page builder is bad at: the 3D model stage and its loader, the filterable project index, smooth scrolling, the cursor, text and scroll reveals, and lazy image loading. Keeping it in a plugin means the theme can change without the behaviour going with it.

Three open libraries, served from the site itself. Three.js draws the models, GSAP with ScrollTrigger and SplitText times the reveals, and Lenis smooths the scroll. The licences are listed on the colophon.

Projects as content, not pages. Each of the eleven projects is a record with a number, type, location, year, gallery and model, and the index filters them by type — cultural, hospitality, interiors, objects, residential, workplace. Adding a twelfth is filling in a form.

Choices that were not about looks

  • Privacy by construction. The site sets no cookies, runs no analytics, and loads no scripts, fonts, maps or videos from other companies. The typeface, Archivo, is served from the site rather than from a font provider, so a visit makes no request to one.
  • The enquiry cannot be lost. The contact form emails the studio, and also keeps its own copy of the message in the database, so a failed mail server does not mean a lost client.
  • Credit where it is owed. Every photograph is listed by page with its photographer on the colophon.

What is honestly not done

There is no real client behind it, so there are no enquiry numbers, no conversion rate and no testimonial — the awards and press on the page are as fictional as the studio. The 3D models are simple study blocks, not the output of a modelling pipeline, and the project galleries use licensed stock photography. What the project shows is the build: a considered visual system, custom behaviour in a plugin, and a site an editor can run without me.

03Detail