Programming
Why I decided to rebuild my site from scratch, with plain PHP, vanilla CSS and a little artificial intelligence.
Full image ↗
Every so often there comes a moment when you look at your old site and think: it will do. Then another year goes by. Then another. And in the end you realise the site does not represent you any more — and perhaps never really did.
That is what happened with nanniweb.com. A site that had been there for years, respectable, working, but grown old. Dated in its design, rigid in its structure, a long way from who I am now.
I could have used WordPress. I could have taken a template and customised it in five minutes. Instead I took the longer road — and the more satisfying one: writing the lot by hand, in plain PHP and vanilla CSS.
Why? Because after thirty years of programming I have learned that frameworks simplify a few things and complicate everything else. A personal site does not need React, or Node, or an ORM to configure. It needs clarity.
The design came out of one precise idea: a dark theme, almost cinematic, with an electric cyan accent breaking the black. Barlow Condensed for the headings — compressed, urgent, like the covers of the science fiction novels I love. DM Mono for the technical details, which after all is what I am: a technician with artistic leanings.
The palette is spare: #0d0f14 for the ground, #00e5ff for the accent. No pointless gradients, no decorative animation. The content has to speak for itself.
The site is built out of shared includes (head.php, nav.php, footer.php), a PHP page per section, and a blog on a mini-CMS made entirely in house. No external dependencies, no node_modules folder to look after, no security update every week.
One JSON file per article. One PHP file generated automatically. Simple, readable, maintainable.
I would not have built this site so quickly without Claude — Anthropic's AI assistant, which I used as a co-pilot. Not to write the code for me, but to think through structure, naming and solutions together. An interlocutor who knows PHP and CSS, never gets tired, and does not take offence when I disagree.
The result is this site. Imperfect, personal, mine.